terraform-cdk-serverless-github-actions-runner-controller 0.0.1 → 0.0.2

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 CHANGED
@@ -5231,6 +5231,44 @@
5231
5231
  }
5232
5232
  },
5233
5233
  "types": {
5234
+ "terraform-cdk-serverless-github-actions-runner-controller.Aws": {
5235
+ "assembly": "terraform-cdk-serverless-github-actions-runner-controller",
5236
+ "base": "constructs.Construct",
5237
+ "docs": {
5238
+ "stability": "stable"
5239
+ },
5240
+ "fqn": "terraform-cdk-serverless-github-actions-runner-controller.Aws",
5241
+ "initializer": {
5242
+ "docs": {
5243
+ "stability": "stable"
5244
+ },
5245
+ "locationInModule": {
5246
+ "filename": "src/lib/aws.ts",
5247
+ "line": 21
5248
+ },
5249
+ "parameters": [
5250
+ {
5251
+ "name": "scope",
5252
+ "type": {
5253
+ "fqn": "constructs.Construct"
5254
+ }
5255
+ },
5256
+ {
5257
+ "name": "id",
5258
+ "type": {
5259
+ "primitive": "string"
5260
+ }
5261
+ }
5262
+ ]
5263
+ },
5264
+ "kind": "class",
5265
+ "locationInModule": {
5266
+ "filename": "src/lib/aws.ts",
5267
+ "line": 20
5268
+ },
5269
+ "name": "Aws",
5270
+ "symbolId": "src/lib/aws:Aws"
5271
+ },
5234
5272
  "terraform-cdk-serverless-github-actions-runner-controller.Azure": {
5235
5273
  "assembly": "terraform-cdk-serverless-github-actions-runner-controller",
5236
5274
  "base": "constructs.Construct",
@@ -5268,8 +5306,46 @@
5268
5306
  },
5269
5307
  "name": "Azure",
5270
5308
  "symbolId": "src/lib/azure:Azure"
5309
+ },
5310
+ "terraform-cdk-serverless-github-actions-runner-controller.Gcp": {
5311
+ "assembly": "terraform-cdk-serverless-github-actions-runner-controller",
5312
+ "base": "constructs.Construct",
5313
+ "docs": {
5314
+ "stability": "stable"
5315
+ },
5316
+ "fqn": "terraform-cdk-serverless-github-actions-runner-controller.Gcp",
5317
+ "initializer": {
5318
+ "docs": {
5319
+ "stability": "stable"
5320
+ },
5321
+ "locationInModule": {
5322
+ "filename": "src/lib/gcp.ts",
5323
+ "line": 15
5324
+ },
5325
+ "parameters": [
5326
+ {
5327
+ "name": "scope",
5328
+ "type": {
5329
+ "fqn": "constructs.Construct"
5330
+ }
5331
+ },
5332
+ {
5333
+ "name": "id",
5334
+ "type": {
5335
+ "primitive": "string"
5336
+ }
5337
+ }
5338
+ ]
5339
+ },
5340
+ "kind": "class",
5341
+ "locationInModule": {
5342
+ "filename": "src/lib/gcp.ts",
5343
+ "line": 14
5344
+ },
5345
+ "name": "Gcp",
5346
+ "symbolId": "src/lib/gcp:Gcp"
5271
5347
  }
5272
5348
  },
5273
- "version": "0.0.1",
5274
- "fingerprint": "7VURbJz1fbL4OwzWPPLJFDN3EfYZmFSEwiqeBwP+fR8="
5349
+ "version": "0.0.2",
5350
+ "fingerprint": "dmsp36Ql8DxemrywVTnbflzIxuWX+rrQw/XANuN+5mM="
5275
5351
  }
package/API.md CHANGED
@@ -2,6 +2,112 @@
2
2
 
3
3
  ## Constructs <a name="Constructs" id="Constructs"></a>
4
4
 
5
+ ### Aws <a name="Aws" id="terraform-cdk-serverless-github-actions-runner-controller.Aws"></a>
6
+
7
+ #### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer"></a>
8
+
9
+ ```typescript
10
+ import { Aws } from 'terraform-cdk-serverless-github-actions-runner-controller'
11
+
12
+ new Aws(scope: Construct, id: string)
13
+ ```
14
+
15
+ | **Name** | **Type** | **Description** |
16
+ | --- | --- | --- |
17
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
18
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
19
+
20
+ ---
21
+
22
+ ##### `scope`<sup>Required</sup> <a name="scope" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.scope"></a>
23
+
24
+ - *Type:* constructs.Construct
25
+
26
+ ---
27
+
28
+ ##### `id`<sup>Required</sup> <a name="id" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.id"></a>
29
+
30
+ - *Type:* string
31
+
32
+ ---
33
+
34
+ #### Methods <a name="Methods" id="Methods"></a>
35
+
36
+ | **Name** | **Description** |
37
+ | --- | --- |
38
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.toString">toString</a></code> | Returns a string representation of this construct. |
39
+
40
+ ---
41
+
42
+ ##### `toString` <a name="toString" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.toString"></a>
43
+
44
+ ```typescript
45
+ public toString(): string
46
+ ```
47
+
48
+ Returns a string representation of this construct.
49
+
50
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
51
+
52
+ | **Name** | **Description** |
53
+ | --- | --- |
54
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
55
+
56
+ ---
57
+
58
+ ##### `isConstruct` <a name="isConstruct" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct"></a>
59
+
60
+ ```typescript
61
+ import { Aws } from 'terraform-cdk-serverless-github-actions-runner-controller'
62
+
63
+ Aws.isConstruct(x: any)
64
+ ```
65
+
66
+ Checks if `x` is a construct.
67
+
68
+ Use this method instead of `instanceof` to properly detect `Construct`
69
+ instances, even when the construct library is symlinked.
70
+
71
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
72
+ disk are seen as independent, completely different libraries. As a
73
+ consequence, the class `Construct` in each copy of the `constructs` library
74
+ is seen as a different class, and an instance of one class will not test as
75
+ `instanceof` the other class. `npm install` will not create installations
76
+ like this, but users may manually symlink construct libraries together or
77
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
78
+ library can be accidentally installed, and `instanceof` will behave
79
+ unpredictably. It is safest to avoid using `instanceof`, and using
80
+ this type-testing method instead.
81
+
82
+ ###### `x`<sup>Required</sup> <a name="x" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct.parameter.x"></a>
83
+
84
+ - *Type:* any
85
+
86
+ Any object.
87
+
88
+ ---
89
+
90
+ #### Properties <a name="Properties" id="Properties"></a>
91
+
92
+ | **Name** | **Type** | **Description** |
93
+ | --- | --- | --- |
94
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
95
+
96
+ ---
97
+
98
+ ##### `node`<sup>Required</sup> <a name="node" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.property.node"></a>
99
+
100
+ ```typescript
101
+ public readonly node: Node;
102
+ ```
103
+
104
+ - *Type:* constructs.Node
105
+
106
+ The tree node.
107
+
108
+ ---
109
+
110
+
5
111
  ### Azure <a name="Azure" id="terraform-cdk-serverless-github-actions-runner-controller.Azure"></a>
6
112
 
7
113
  #### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Azure.Initializer"></a>
@@ -108,6 +214,112 @@ The tree node.
108
214
  ---
109
215
 
110
216
 
217
+ ### Gcp <a name="Gcp" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp"></a>
218
+
219
+ #### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer"></a>
220
+
221
+ ```typescript
222
+ import { Gcp } from 'terraform-cdk-serverless-github-actions-runner-controller'
223
+
224
+ new Gcp(scope: Construct, id: string)
225
+ ```
226
+
227
+ | **Name** | **Type** | **Description** |
228
+ | --- | --- | --- |
229
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
230
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
231
+
232
+ ---
233
+
234
+ ##### `scope`<sup>Required</sup> <a name="scope" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.scope"></a>
235
+
236
+ - *Type:* constructs.Construct
237
+
238
+ ---
239
+
240
+ ##### `id`<sup>Required</sup> <a name="id" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.id"></a>
241
+
242
+ - *Type:* string
243
+
244
+ ---
245
+
246
+ #### Methods <a name="Methods" id="Methods"></a>
247
+
248
+ | **Name** | **Description** |
249
+ | --- | --- |
250
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.toString">toString</a></code> | Returns a string representation of this construct. |
251
+
252
+ ---
253
+
254
+ ##### `toString` <a name="toString" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.toString"></a>
255
+
256
+ ```typescript
257
+ public toString(): string
258
+ ```
259
+
260
+ Returns a string representation of this construct.
261
+
262
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
263
+
264
+ | **Name** | **Description** |
265
+ | --- | --- |
266
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
267
+
268
+ ---
269
+
270
+ ##### `isConstruct` <a name="isConstruct" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct"></a>
271
+
272
+ ```typescript
273
+ import { Gcp } from 'terraform-cdk-serverless-github-actions-runner-controller'
274
+
275
+ Gcp.isConstruct(x: any)
276
+ ```
277
+
278
+ Checks if `x` is a construct.
279
+
280
+ Use this method instead of `instanceof` to properly detect `Construct`
281
+ instances, even when the construct library is symlinked.
282
+
283
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
284
+ disk are seen as independent, completely different libraries. As a
285
+ consequence, the class `Construct` in each copy of the `constructs` library
286
+ is seen as a different class, and an instance of one class will not test as
287
+ `instanceof` the other class. `npm install` will not create installations
288
+ like this, but users may manually symlink construct libraries together or
289
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
290
+ library can be accidentally installed, and `instanceof` will behave
291
+ unpredictably. It is safest to avoid using `instanceof`, and using
292
+ this type-testing method instead.
293
+
294
+ ###### `x`<sup>Required</sup> <a name="x" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct.parameter.x"></a>
295
+
296
+ - *Type:* any
297
+
298
+ Any object.
299
+
300
+ ---
301
+
302
+ #### Properties <a name="Properties" id="Properties"></a>
303
+
304
+ | **Name** | **Type** | **Description** |
305
+ | --- | --- | --- |
306
+ | <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
307
+
308
+ ---
309
+
310
+ ##### `node`<sup>Required</sup> <a name="node" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.property.node"></a>
311
+
312
+ ```typescript
313
+ public readonly node: Node;
314
+ ```
315
+
316
+ - *Type:* constructs.Node
317
+
318
+ The tree node.
319
+
320
+ ---
321
+
322
+
111
323
 
112
324
 
113
325
 
package/lib/index.d.ts CHANGED
@@ -1 +1,3 @@
1
+ export * from './lib/aws';
1
2
  export * from './lib/azure';
3
+ export * from './lib/gcp';
package/lib/index.js CHANGED
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib/aws"), exports);
17
18
  __exportStar(require("./lib/azure"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2F6dXJlJ1xuIl19
19
+ __exportStar(require("./lib/gcp"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUF5QjtBQUN6Qiw4Q0FBMkI7QUFDM0IsNENBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXdzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXp1cmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nY3AnXG4iXX0=
package/lib/lib/aws.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Aws = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
4
6
  const cloudwatch_log_group_1 = require("@cdktf/provider-aws/lib/cloudwatch-log-group");
5
7
  const data_aws_caller_identity_1 = require("@cdktf/provider-aws/lib/data-aws-caller-identity");
6
8
  const data_aws_region_1 = require("@cdktf/provider-aws/lib/data-aws-region");
@@ -388,4 +390,6 @@ class Aws extends constructs_1.Construct {
388
390
  }
389
391
  }
390
392
  exports.Aws = Aws;
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUZBQWtGO0FBQ2xGLCtGQUF5RjtBQUN6Riw2RUFBd0U7QUFDeEUsK0ZBQXlGO0FBQ3pGLCtFQUEwRTtBQUMxRSxxRUFBaUU7QUFDakUscUVBQWlFO0FBQ2pFLHFGQUFnRjtBQUNoRixtRUFBK0Q7QUFDL0QsK0RBQTJEO0FBQzNELG1HQUE2RjtBQUM3RiwrREFBK0Q7QUFDL0QsaUNBQThDO0FBQzlDLDJDQUF1QztBQUN2QywyQ0FBOEM7QUFDOUMsNkVBQXdFO0FBRXhFLCtFQUEwRTtBQUUxRSxNQUFhLEdBQUksU0FBUSxzQkFBUztJQUM5QixZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUNwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksc0JBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBRTVCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUksZ0RBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLCtCQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVwRCxNQUFNLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM1QyxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCLENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHLElBQUksa0JBQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQy9DLGdCQUFnQixFQUFFLFVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixXQUFXLEVBQUU7b0JBQ1Q7d0JBQ0ksUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFdBQVcsRUFBRTs0QkFDVCxTQUFTLEVBQUUseUJBQXlCO3lCQUN2Qzt3QkFDRCxRQUFRLEVBQUUsZ0JBQWdCO3FCQUM3QjtpQkFDSjthQUNKLENBQUM7U0FDTCxDQUFDLENBQUE7UUFFRixNQUFNLGNBQWMsR0FBRyxJQUFJLGtCQUFPLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3ZELGdCQUFnQixFQUFFLFVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixXQUFXLEVBQUU7b0JBQ1Q7d0JBQ0ksUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFdBQVcsRUFBRTs0QkFDVCxTQUFTLEVBQUUseUJBQXlCO3lCQUN2Qzt3QkFDRCxRQUFRLEVBQUUsZ0JBQWdCO3FCQUM3QjtpQkFDSjthQUNKLENBQUM7U0FDTCxDQUFDLENBQUE7UUFFRixNQUFNLG9CQUFvQixHQUFHLElBQUksa0JBQU8sQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDaEUsZ0JBQWdCLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFdBQVcsRUFBRTtvQkFDVDt3QkFDSSxRQUFRLEVBQUUsT0FBTzt3QkFDakIsV0FBVyxFQUFFOzRCQUNULFNBQVMsRUFBRSx5QkFBeUI7eUJBQ3ZDO3dCQUNELFFBQVEsRUFBRSxnQkFBZ0I7cUJBQzdCO2lCQUNKO2FBQ0osQ0FBQztZQUNGLGlCQUFpQixFQUFFO2dCQUNmLHVFQUF1RTthQUMxRTtTQUNKLENBQUMsQ0FBQTtRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUkseUNBQWtCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ2xFLElBQUksRUFBRSxVQUFVO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSx5Q0FBa0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDMUUsSUFBSSxFQUFFLGlCQUFpQjtTQUMxQixDQUFDLENBQUM7UUFHSCxNQUFNLE9BQU8sR0FBRyxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLGdEQUFxQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXpFLGlEQUFpRDtRQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLCtCQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUN2QyxjQUFjLEVBQUUsU0FBUztZQUN6QixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLE1BQU07YUFDZjtTQUNKLENBQUMsQ0FBQTtRQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksK0JBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3pELGNBQWMsRUFBRSxTQUFTO1lBQ3pCLElBQUksRUFBRTtnQkFDRixJQUFJLEVBQUUsV0FBVzthQUNwQjtTQUNKLENBQUMsQ0FBQTtRQUVGLDBFQUEwRTtRQUMxRSxNQUFNLFFBQVEsR0FBRyx5QkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRXhELElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdkMsT0FBTyxFQUFFLFFBQVE7WUFDakIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ2hELE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRTtZQUM3QixRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUs7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7UUFDeEMsTUFBTSwwQkFBMEIsR0FBMEI7WUFDdEQ7Z0JBQ0EsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLGtDQUFrQztnQkFDekMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSwwUUFBMFEsQ0FBQztnQkFDdFMsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFO29CQUNUO3dCQUNJLElBQUksRUFBRSxRQUFRO3dCQUNkLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtxQkFDaEI7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsS0FBSyxFQUFFLFlBQVksQ0FBQyxFQUFFO3FCQUN6QjtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsa0JBQWtCO3dCQUN4QixLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUk7cUJBQ3RCO29CQUNEO3dCQUNJLElBQUksRUFBRSx5QkFBeUI7d0JBQy9CLEtBQUssRUFBRSxTQUFTO3FCQUNuQjtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsc0NBQXNDO3dCQUM1QyxLQUFLLEVBQUUsT0FBTztxQkFDakI7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLGFBQWE7d0JBQ25CLEtBQUssRUFBRSxVQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO3FCQUNuQztvQkFDRDt3QkFDSSxJQUFJLEVBQUUscUJBQXFCO3dCQUMzQixLQUFLLEVBQUUsVUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQztxQkFDMUM7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLGVBQWU7d0JBQ3JCLEtBQUssRUFBRSxVQUFVLENBQUMsR0FBRztxQkFDeEI7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLG9CQUFvQjt3QkFDMUIsS0FBSyxFQUFFLG9CQUFvQixDQUFDLEdBQUc7cUJBQ2xDO2lCQUNKO2dCQUNELFdBQVcsRUFBRTtvQkFDVDt3QkFDSSxZQUFZLEVBQUUsZ0JBQWdCO3dCQUM5QixhQUFhLEVBQUUsWUFBWTtxQkFDOUI7b0JBQ0Q7d0JBQ0ksWUFBWSxFQUFFLG1CQUFtQjt3QkFDakMsYUFBYSxFQUFFLGdCQUFnQjtxQkFDbEM7aUJBQ0o7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2QsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLE9BQU8sRUFBRTt3QkFDTCxlQUFlLEVBQUUsY0FBYyxDQUFDLElBQUk7d0JBQ3BDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxJQUFJO3dCQUM3Qix1QkFBdUIsRUFBRSxLQUFLO3FCQUNqQztpQkFDSjthQUNKO1NBQUMsQ0FBQTtRQUNGLHlJQUF5STtRQUN6SSxpSkFBaUo7UUFDakosbUNBQW1DO1FBQ25DLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSx1Q0FBaUIsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDN0UsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDM0IsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsR0FBRztZQUMxQyxvQkFBb0IsRUFBRSxVQUFFLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDO1lBQy9ELEdBQUcsRUFBRSxNQUFNO1lBQ1gsTUFBTSxFQUFFLE1BQU07WUFDZCx1QkFBdUIsRUFBRTtnQkFDckIsU0FBUzthQUNaO1lBQ0QsZUFBZSxFQUFFO2dCQUNiLGVBQWUsRUFBRSxRQUFRO2dCQUN6QixxQkFBcUIsRUFBRSxPQUFPO2FBQ2pDO1lBQ0QsV0FBVyxFQUFFLFFBQVE7WUFDckIsTUFBTSxFQUFFO2dCQUNKO29CQUNJLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLHNCQUFzQixFQUFFO3dCQUNwQixZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3ZCO2lCQUNKO2dCQUNELGlIQUFpSDtnQkFDakg7b0JBQ0ksSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsc0JBQXNCLEVBQUU7d0JBQ3BCLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRTtxQkFDaEM7aUJBQ0o7YUFDSjtTQUNKLENBQUMsQ0FBQTtRQUVGLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSx1Q0FBaUIsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7WUFDckYsTUFBTSxFQUFFLFlBQVk7WUFDcEIsV0FBVyxFQUFFLGNBQWMsQ0FBQyxHQUFHO1lBQy9CLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLEdBQUc7WUFDMUMsb0JBQW9CLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDaEM7b0JBQ0ksSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLEtBQUssRUFBRSwrQ0FBK0M7b0JBQ3RELFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRTt3QkFDVDs0QkFDSSxJQUFJLEVBQUUsS0FBSzs0QkFDWCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7eUJBQ25CO3dCQUNEOzRCQUNJLElBQUksRUFBRSxtQkFBbUI7NEJBQ3pCLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSzt5QkFDL0I7d0JBQ0Q7NEJBQ0ksSUFBSSxFQUFFLHFCQUFxQjs0QkFDM0IsS0FBSyxFQUFFLG9CQUFvQixDQUFDLEdBQUc7eUJBQ2xDO3dCQUNEOzRCQUNJLElBQUksRUFBRSxhQUFhOzRCQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUc7eUJBQ3JCO3dCQUNEOzRCQUNJLElBQUksRUFBRSxhQUFhOzRCQUNuQixLQUFLLEVBQUUsVUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQzt5QkFDbkM7d0JBQ0Q7NEJBQ0ksSUFBSSxFQUFFLHFCQUFxQjs0QkFDM0IsS0FBSyxFQUFFLFVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUM7eUJBQzFDO3dCQUNEOzRCQUNJLElBQUksRUFBRSxnQkFBZ0I7NEJBQ3RCLEtBQUssRUFBRSxnQkFBZ0I7eUJBQzFCO3FCQUNKO29CQUNELGdCQUFnQixFQUFFO3dCQUNkLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixPQUFPLEVBQUU7NEJBQ0wsZUFBZSxFQUFFLGtCQUFrQixDQUFDLElBQUk7NEJBQ3hDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxJQUFJOzRCQUM3Qix1QkFBdUIsRUFBRSxLQUFLO3lCQUNqQztxQkFDSjtpQkFDSjthQUNKLENBQUM7WUFDRixHQUFHLEVBQUUsS0FBSztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsdUJBQXVCLEVBQUU7Z0JBQ3JCLFNBQVM7YUFDWjtZQUNELGVBQWUsRUFBRTtnQkFDYixlQUFlLEVBQUUsUUFBUTtnQkFDekIscUJBQXFCLEVBQUUsT0FBTzthQUNqQztZQUNELFdBQVcsRUFBRSxRQUFRO1NBQ3hCLENBQUMsQ0FBQTtRQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksc0JBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxVQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsWUFBWTtnQkFDdkIsV0FBVyxFQUFFO29CQUNUO3dCQUNJLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixRQUFRLEVBQUU7NEJBQ04sYUFBYTs0QkFDYixpQkFBaUI7NEJBQ2pCLHlCQUF5Qjs0QkFDekIsZUFBZTs0QkFDZixjQUFjOzRCQUNkLDRCQUE0Qjs0QkFDNUIsNEJBQTRCOzRCQUM1Qiw4QkFBOEI7NEJBQzlCLDJCQUEyQjs0QkFDM0Isb0JBQW9COzRCQUNwQixxQkFBcUI7NEJBQ3JCLG1CQUFtQjs0QkFDbkIsbUJBQW1COzRCQUNuQixjQUFjOzRCQUNkLG9CQUFvQjs0QkFDcEIsc0JBQXNCO3lCQUN6Qjt3QkFDRCxVQUFVLEVBQUU7NEJBQ1IsZUFBZSxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTLHFDQUFxQzs0QkFDckYsT0FBTyxDQUFDLEdBQUc7NEJBQ1gsd0VBQXdFOzRCQUN4RSxvQkFBb0IsQ0FBQyxHQUFHOzRCQUN4QixVQUFVLENBQUMsR0FBRzs0QkFDZCxlQUFlLE1BQU0sQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFNBQVMsU0FBUyxPQUFPLENBQUMsSUFBSSxJQUFJOzRCQUN6RSw0REFBNEQ7NEJBQzVELEdBQUc7eUJBQ047cUJBQ0o7b0JBQ0Q7d0JBQ0ksS0FBSyxFQUFFLFlBQVk7d0JBQ25CLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixRQUFRLEVBQUU7NEJBQ04scUJBQXFCOzRCQUNyQiw0QkFBNEI7eUJBQy9CO3dCQUNELFVBQVUsRUFBRSxHQUFHO3FCQUNsQjtvQkFDRDt3QkFDSSxLQUFLLEVBQUUsY0FBYzt3QkFDckIsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFFBQVEsRUFBRTs0QkFDTixrQ0FBa0M7NEJBQ2xDLCtCQUErQjs0QkFDL0IsZ0NBQWdDOzRCQUNoQyw2QkFBNkI7eUJBQ2hDO3dCQUNELFVBQVUsRUFBRSxHQUFHO3FCQUNsQjtpQkFDSjthQUNKLENBRUE7U0FDSixDQUFDLENBQUE7UUFFRixJQUFJLG9EQUF1QixDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUN4RCxTQUFTLEVBQUUsWUFBWSxDQUFDLEdBQUc7WUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1NBQ3hCLENBQUMsQ0FBQTtRQUVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUM3RCxNQUFNLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFdBQVcsRUFBRTtvQkFDVDt3QkFDSSxLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixRQUFRLEVBQUUsT0FBTzt3QkFDakIsUUFBUSxFQUFFOzRCQUNOLGFBQWE7NEJBQ2IscUJBQXFCOzRCQUNyQixtQkFBbUI7NEJBQ25CLG1CQUFtQjs0QkFDbkIsY0FBYzt5QkFDakI7d0JBQ0QsVUFBVSxFQUFFOzRCQUNSLEdBQUcsb0JBQW9CLENBQUMsa0JBQWtCLElBQUk7NEJBQzlDLHdFQUF3RTs0QkFDeEUsb0JBQW9CLENBQUMsR0FBRzs0QkFDeEIsVUFBVSxDQUFDLEdBQUc7NEJBQ2QsZUFBZSxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTLFNBQVMsT0FBTyxDQUFDLElBQUksSUFBSTs0QkFDekUsR0FBRyxjQUFjLENBQUMsR0FBRyxlQUFlO3lCQUN2QztxQkFDSjtvQkFDRDt3QkFDSSxLQUFLLEVBQUUsWUFBWTt3QkFDbkIsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFFBQVEsRUFBRTs0QkFDTixxQkFBcUI7NEJBQ3JCLDRCQUE0Qjt5QkFDL0I7d0JBQ0QsVUFBVSxFQUFFLEdBQUc7cUJBQ2xCO2lCQUNKO2FBQ0osQ0FFQTtTQUNKLENBQUMsQ0FBQTtRQUNGLElBQUksb0RBQXVCLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQzVELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQy9CLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtTQUM1QixDQUFDLENBQUE7UUFFRixJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQ3RDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRztZQUNwQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFlBQVksRUFBRSxDQUFDO1lBQ2YsVUFBVSxFQUFFLFNBQVM7WUFDckIsY0FBYyxFQUFFLHdCQUF3QixDQUFDLGtCQUFrQjtZQUMzRCxvQkFBb0IsRUFBRTtnQkFDbEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRztnQkFDcEIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHO2FBQ3JDO1lBQ0QsU0FBUyxFQUFFO2dCQUNQLGFBQWEsRUFBRTtvQkFDWCxlQUFlO2lCQUNsQjthQUNKO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBN1lELGtCQTZZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb3Vkd2F0Y2hMb2dHcm91cCB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwJztcbmltcG9ydCB7IERhdGFBd3NDYWxsZXJJZGVudGl0eSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLWNhbGxlci1pZGVudGl0eSc7XG5pbXBvcnQgeyBEYXRhQXdzUmVnaW9uIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZGF0YS1hd3MtcmVnaW9uJztcbmltcG9ydCB7IERhdGFBd3NTZWN1cml0eUdyb3VwcyB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXNlY3VyaXR5LWdyb3Vwcyc7XG5pbXBvcnQgeyBEYXRhQXdzU3VibmV0cyB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXN1Ym5ldHMnO1xuaW1wb3J0IHsgRWNzQ2x1c3RlciB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vjcy1jbHVzdGVyJztcbmltcG9ydCB7IEVjc1NlcnZpY2UgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3Mtc2VydmljZSc7XG5pbXBvcnQgeyBFY3NUYXNrRGVmaW5pdGlvbiB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vjcy10YXNrLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgSWFtUG9saWN5IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXBvbGljeSc7XG5pbXBvcnQgeyBJYW1Sb2xlIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXJvbGUnO1xuaW1wb3J0IHsgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9pYW0tcm9sZS1wb2xpY3ktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBBd3NQcm92aWRlciB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL3Byb3ZpZGVyJztcbmltcG9ydCB7IEZuLCBUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gJ2Nka3RmJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgY29tbW9uVmFyaWFibGVzIH0gZnJvbSAnLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgRWZzRmlsZVN5c3RlbSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vmcy1maWxlLXN5c3RlbSc7XG5pbXBvcnQgeyB0eXBlIENvbnRhaW5lckRlZmluaXRpb24gfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWNzJ1xuaW1wb3J0IHsgRWZzTW91bnRUYXJnZXQgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lZnMtbW91bnQtdGFyZ2V0JztcblxuZXhwb3J0IGNsYXNzIEF3cyBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIG5ldyBBd3NQcm92aWRlcih0aGlzLCAnYXdzJywge1xuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGlkZW50aXR5ID0gbmV3IERhdGFBd3NDYWxsZXJJZGVudGl0eSh0aGlzLCAnSWRlbnRpdHknLCB7fSk7XG5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gbmV3IERhdGFBd3NSZWdpb24odGhpcywgJ1JlZ2lvbicsIHt9KVxuXG4gICAgICAgIGNvbnN0IHsgcGF0LCBnaXRodWJDb25maWdVcmwgfSA9IGNvbW1vblZhcmlhYmxlcyh0aGlzKTtcblxuICAgICAgICBjb25zdCBjbHVzdGVyID0gbmV3IEVjc0NsdXN0ZXIodGhpcywgJ0NsdXN0ZXInLCB7XG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1jbHVzdGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdSdW5uZXJSb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJSb2xlID0gbmV3IElhbVJvbGUodGhpcywgJ0F1dG9zY2FsZXJSb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGVjc1Rhc2tFeGVjdXRpb25Sb2xlID0gbmV3IElhbVJvbGUodGhpcywgJ1Rhc2tFeGVjdXRpb25Sb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hbmFnZWRQb2xpY3lBcm5zOiBbXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjphd3M6cG9saWN5L3NlcnZpY2Utcm9sZS9BbWF6b25FQ1NUYXNrRXhlY3V0aW9uUm9sZVBvbGljeSdcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBydW5uZXJMb2dHcm91cCA9IG5ldyBDbG91ZHdhdGNoTG9nR3JvdXAodGhpcywgJ1J1bm5lckxvZ0dyb3VwJywge1xuICAgICAgICAgICAgbmFtZTogJy9lY3MvR0hBJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlckxvZ0dyb3VwID0gbmV3IENsb3Vkd2F0Y2hMb2dHcm91cCh0aGlzLCAnQXV0b3NjYWxlckxvZ0dyb3VwJywge1xuICAgICAgICAgICAgbmFtZTogJy9lY3MvQXV0b3NjYWxlcicsXG4gICAgICAgIH0pO1xuXG5cbiAgICAgICAgY29uc3Qgc3VibmV0cyA9IG5ldyBEYXRhQXdzU3VibmV0cyh0aGlzLCAnU3VibmV0cycsIHt9KTtcblxuICAgICAgICBjb25zdCBzZWN1cml0eUdyb3VwcyA9IG5ldyBEYXRhQXdzU2VjdXJpdHlHcm91cHModGhpcywgJ1NlY3VyaXR5R3JvdXBzJyk7XG5cbiAgICAgICAgLy8gRUZTIHZvbHVtZSB0byBhbGxvdyBzaGFyaW5nIGRhdGEgYmV0d2VlbiB0YXNrc1xuICAgICAgICBjb25zdCBlZnMgPSBuZXcgRWZzRmlsZVN5c3RlbSh0aGlzLCAnZWZzJywge1xuICAgICAgICAgICAgdGhyb3VnaHB1dE1vZGU6ICdlbGFzdGljJyxcbiAgICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgICAgICBOYW1lOiAnd29yaydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBleHRlcm5hbHNFZnMgPSBuZXcgRWZzRmlsZVN5c3RlbSh0aGlzLCAnZXh0ZXJuYWxzRWZzJywge1xuICAgICAgICAgICAgdGhyb3VnaHB1dE1vZGU6ICdlbGFzdGljJyxcbiAgICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgICAgICBOYW1lOiAnZXh0ZXJuYWxzJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIEVhY2ggc3VibmV0IGluIFZQQyBhcmUgb24gZGlmZmVyZW50IEFacywgc28gY3JlYXRpbmcgbW91bnRwb2ludCB0byBlYWNoXG4gICAgICAgIGNvbnN0IGl0ZXJhdG9yID0gVGVycmFmb3JtSXRlcmF0b3IuZnJvbUxpc3Qoc3VibmV0cy5pZHMpXG5cbiAgICAgICAgbmV3IEVmc01vdW50VGFyZ2V0KHRoaXMsICdFZnNNb3VudFRhcmdldCcsIHtcbiAgICAgICAgICAgIGZvckVhY2g6IGl0ZXJhdG9yLFxuICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBlZnMuaWQsXG4gICAgICAgICAgICBzdWJuZXRJZDogaXRlcmF0b3IudmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IEVmc01vdW50VGFyZ2V0KHRoaXMsICdFeHRlcm5hbHNFZnNNb3VudFRhcmdldCcsIHtcbiAgICAgICAgICAgIGZvckVhY2g6IGl0ZXJhdG9yLFxuICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBleHRlcm5hbHNFZnMuaWQsXG4gICAgICAgICAgICBzdWJuZXRJZDogaXRlcmF0b3IudmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyVm9sdW1lTmFtZSA9ICd3b3JrJztcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzVm9sdW1lTmFtZSA9ICdleHRlcm5hbHMnO1xuICAgICAgICBjb25zdCBydW5uZXJDb250YWluZXJEZWZpbml0aW9uczogQ29udGFpbmVyRGVmaW5pdGlvbltdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3J1bm5lcicsXG4gICAgICAgICAgICBpbWFnZTogJ2doY3IuaW8vaGktZmkvYWN0aW9ucy1ydW5uZXI6ZWNzJyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2Jpbi9zaCcsICctYycsICdleHBvcnQgRVhFQ0lEPSQoY2F0IC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL3V1aWQpICYmIHN1ZG8gbWtkaXIgLXAgL3RtcC9fd29yay8kRVhFQ0lEICYmIHN1ZG8gY2hvd24gcnVubmVyOnJ1bm5lciAvdG1wL193b3JrLyRFWEVDSUQgJiYgbG4gLXMgL3RtcC9fd29yay8kRVhFQ0lEIF93b3JrICYmIHN1ZG8gY2hvd24gcnVubmVyOnJ1bm5lciAvdG1wL2V4dGVybmFscyAmJiAvaG9tZS9ydW5uZXIvcnVuLnNoIDsgc3VkbyBybSAtciAvdG1wL193b3JrLyRFWEVDSUQnXSxcbiAgICAgICAgICAgIGVzc2VudGlhbDogdHJ1ZSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUZTX0lEJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVmcy5pZFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRVhURVJOQUxTX0VGU19JRCcsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBleHRlcm5hbHNFZnMuaWRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19DTFVTVEVSX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2x1c3Rlci5uYW1lXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBQ1RJT05TX1JVTk5FUl9QT0RfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZ2hhLXBvZCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FDVElPTlNfUlVOTkVSX1JFUVVJUkVfSk9CX0NPTlRBSU5FUicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZmFsc2UnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU1VCTkVUUycsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc3VibmV0cy5pZHMpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU0VDVVJJVFlfR1JPVVBTJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEZuLmpvaW4oJywnLCBzZWN1cml0eUdyb3Vwcy5pZHMpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfVEFTS19ST0xFJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJ1bm5lclJvbGUuYXJuXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfRVhFQ1VUSU9OX1JPTEUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWNzVGFza0V4ZWN1dGlvblJvbGUuYXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIG1vdW50UG9pbnRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VWb2x1bWU6IHJ1bm5lclZvbHVtZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBhdGg6ICcvdG1wL193b3JrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlVm9sdW1lOiBleHRlcm5hbHNWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQYXRoOiAnL3RtcC9leHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsb2dDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgbG9nRHJpdmVyOiAnYXdzbG9ncycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBcImF3c2xvZ3MtZ3JvdXBcIjogcnVubmVyTG9nR3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXJlZ2lvblwiOiByZWdpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXN0cmVhbS1wcmVmaXhcIjogXCJlY3NcIixcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1dXG4gICAgICAgIC8vIFRPRE86IEltYWdlcyB0aHJvdWdoIGNhY2hpbmc6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1IvbGF0ZXN0L3VzZXJndWlkZS9wdWxsLXRocm91Z2gtY2FjaGUuaHRtbCAocmVxdWlyZXMgYXV0aGVudGljYXRpb24pXG4gICAgICAgIC8vIFRPRE86IFBhc3MgRXhlY3V0aW9uIHJvbGUgdG8gam9iIHRhc2s6IGh0dHBzOi8vd3d3LmVybmVzdGNoaWFuZy5jb20vZW4vcG9zdHMvMjAyMS91c2luZy1hbWF6b24tZWNzLWV4ZWMvIzEtZ3JhbnQtcGVybWlzc2lvbnMtZWNzLXRhc2staWFtLXJvbGVcbiAgICAgICAgLy8gVE9ETzogUGFzcyBUYXNrIHJvbGUgdG8gam9iIHRhc2tcbiAgICAgICAgY29uc3QgcnVubmVyVGFza0RlZmluaXRpb24gPSBuZXcgRWNzVGFza0RlZmluaXRpb24odGhpcywgJ1J1bm5lclRhc2tEZWZpbml0aW9uJywge1xuICAgICAgICAgICAgZmFtaWx5OiAnR0hBJyxcbiAgICAgICAgICAgIHRhc2tSb2xlQXJuOiBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgIGV4ZWN1dGlvblJvbGVBcm46IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgIGNvbnRhaW5lckRlZmluaXRpb25zOiBGbi5qc29uZW5jb2RlKHJ1bm5lckNvbnRhaW5lckRlZmluaXRpb25zKSxcbiAgICAgICAgICAgIGNwdTogJzEwMjQnLFxuICAgICAgICAgICAgbWVtb3J5OiAnMjA0OCcsXG4gICAgICAgICAgICByZXF1aXJlc0NvbXBhdGliaWxpdGllczogW1xuICAgICAgICAgICAgICAgICdGQVJHQVRFJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZTogJ1g4Nl82NCcsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiAnTElOVVgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV0d29ya01vZGU6ICdhd3N2cGMnLFxuICAgICAgICAgICAgdm9sdW1lOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBlZnNWb2x1bWVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlU3lzdGVtSWQ6IGVmcy5pZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vIFRoaXMgZG9lc24ndCB3b3JrIHdpdGggc2FtZSB2b2x1bWUsIGFzIHZvbHVtZSBpcyBpbml0aWFsbHkgZW1wdHkgc28gaXQgY2FuJ3QgbWFwIHRvIGl0J3MgXCJleHRlcm5hbHNcIiBkaXJlY3RvcnlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGV4dGVybmFsc1ZvbHVtZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGVmc1ZvbHVtZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZXh0ZXJuYWxzRWZzLmlkLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbiA9IG5ldyBFY3NUYXNrRGVmaW5pdGlvbih0aGlzLCAnQXV0b3NjYWxlclRhc2tEZWZpbml0aW9uJywge1xuICAgICAgICAgICAgZmFtaWx5OiAnQXV0b3NjYWxlcicsXG4gICAgICAgICAgICB0YXNrUm9sZUFybjogYXV0b3NjYWxlclJvbGUuYXJuLFxuICAgICAgICAgICAgZXhlY3V0aW9uUm9sZUFybjogZWNzVGFza0V4ZWN1dGlvblJvbGUuYXJuLFxuICAgICAgICAgICAgY29udGFpbmVyRGVmaW5pdGlvbnM6IEZuLmpzb25lbmNvZGUoW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXInLFxuICAgICAgICAgICAgICAgICAgICBpbWFnZTogJ2doY3IuaW8vaGktZmkvZ2hhLXJ1bm5lcnMtb24tbWFuYWdlZC1lbnY6dGVzdCcsXG4gICAgICAgICAgICAgICAgICAgIGVzc2VudGlhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGF0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdpdGh1YkNvbmZpZ1VybC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVEFTS19ERUZJTklUSU9OX0FSTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJ1bm5lclRhc2tEZWZpbml0aW9uLmFyblxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX0NMVVNURVInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjbHVzdGVyLmFyblxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NVQk5FVFMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc3VibmV0cy5pZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU0VDVVJJVFlfR1JPVVBTJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHNlY3VyaXR5R3JvdXBzLmlkcylcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NDQUxFX1NFVF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2Vjcy1ydW5uZXItc2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgbG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9nRHJpdmVyOiAnYXdzbG9ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLWdyb3VwXCI6IGF1dG9zY2FsZXJMb2dHcm91cC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1yZWdpb25cIjogcmVnaW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXN0cmVhbS1wcmVmaXhcIjogXCJlY3NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgY3B1OiAnMjU2JyxcbiAgICAgICAgICAgIG1lbW9yeTogJzUxMicsXG4gICAgICAgICAgICByZXF1aXJlc0NvbXBhdGliaWxpdGllczogW1xuICAgICAgICAgICAgICAgICdGQVJHQVRFJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZTogJ1g4Nl82NCcsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiAnTElOVVgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV0d29ya01vZGU6ICdhd3N2cGMnLFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHJ1bm5lclBvbGljeSA9IG5ldyBJYW1Qb2xpY3kodGhpcywgJ1J1bm5lclBvbGljeScsIHtcbiAgICAgICAgICAgIHBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdTdGFydGFuZE1vbml0b3JUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJ1blRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6VGFnUmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6TGlzdFRhc2tEZWZpbml0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpMaXN0VGFza3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6U3RvcFRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZWxldGVUYXNrRGVmaW5pdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RXhlY3V0ZUNvbW1hbmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6R2V0TG9nRXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpTdGFydExpdmVUYWlsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2stZGVmaW5pdGlvbi9naGEtcG9kLXdvcmtmbG93OipgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXIuYXJuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXJlciBoYXMgdG8gYmUgYWxsb3dlZCB0byBwYXNzIGJvdGggdGFzayBhbmQgdGFzayBleGVjdXRpb24gcm9sZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2svJHtjbHVzdGVyLm5hbWV9LypgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vVE9ETzogcmVvcmRlciByaWdodHMgc28gdGhhdCBsaXN0aW5nIGlzIG9ubHkgb25lIHdpdGggc3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ0dldFZwY0luZm8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlYzI6RGVzY3JpYmVTdWJuZXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU2VjdXJpdHlHcm91cHMnXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlJzogJyonXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnRXhlY0NvbW1hbmRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3NtbWVzc2FnZXM6Q3JlYXRlQ29udHJvbENoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpDcmVhdGVEYXRhQ2hhbm5lbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOk9wZW5Db250cm9sQ2hhbm5lbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOk9wZW5EYXRhQ2hhbm5lbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiAnKidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBJYW1Sb2xlUG9saWN5QXR0YWNobWVudCh0aGlzLCAnUnVubmVyUG9saWN5QXR0YWNobWVudCcsIHtcbiAgICAgICAgICAgIHBvbGljeUFybjogcnVubmVyUG9saWN5LmFybixcbiAgICAgICAgICAgIHJvbGU6IHJ1bm5lclJvbGUubmFtZVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJQb2xpY3kgPSBuZXcgSWFtUG9saWN5KHRoaXMsICdBdXRvc2NhbGVyUG9saWN5Jywge1xuICAgICAgICAgICAgcG9saWN5OiBGbi5qc29uZW5jb2RlKHtcbiAgICAgICAgICAgICAgICAnVmVyc2lvbic6ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICAgICAgICAnU3RhdGVtZW50JzogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ1N0YXJ0YW5kTW9uaXRvclRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6UnVuVGFzaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZGVkIGZvciB3YWl0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXNjcmliZVRhc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpHZXRMb2dFdmVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpYW06UGFzc1JvbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtydW5uZXJUYXNrRGVmaW5pdGlvbi5hcm5XaXRob3V0UmV2aXNpb259OipgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXJlciBoYXMgdG8gYmUgYWxsb3dlZCB0byBwYXNzIGJvdGggdGFzayBhbmQgdGFzayBleGVjdXRpb24gcm9sZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2svJHtjbHVzdGVyLm5hbWV9LypgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3J1bm5lckxvZ0dyb3VwLmFybn06bG9nLXN0cmVhbToqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdHZXRWcGNJbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU3VibmV0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVNlY3VyaXR5R3JvdXBzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6ICcqJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIG5ldyBJYW1Sb2xlUG9saWN5QXR0YWNobWVudCh0aGlzLCAnQXV0b3NjYWxlclBvbGljeUF0dGFjaG1lbnQnLCB7XG4gICAgICAgICAgICBwb2xpY3lBcm46IGF1dG9zY2FsZXJQb2xpY3kuYXJuLFxuICAgICAgICAgICAgcm9sZTogYXV0b3NjYWxlclJvbGUubmFtZVxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBFY3NTZXJ2aWNlKHRoaXMsICdBdXRvc2NhbGVyU2VydmljZScsIHtcbiAgICAgICAgICAgIGNsdXN0ZXI6IGNsdXN0ZXIuYXJuLFxuICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXItc2VydmljZScsXG4gICAgICAgICAgICBkZXNpcmVkQ291bnQ6IDEsXG4gICAgICAgICAgICBsYXVuY2hUeXBlOiAnRkFSR0FURScsXG4gICAgICAgICAgICB0YXNrRGVmaW5pdGlvbjogYXV0b3NjYWxlclRhc2tEZWZpbml0aW9uLmFybldpdGhvdXRSZXZpc2lvbixcbiAgICAgICAgICAgIG5ldHdvcmtDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgYXNzaWduUHVibGljSXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc3VibmV0czogc3VibmV0cy5pZHMsXG4gICAgICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHNlY3VyaXR5R3JvdXBzLmlkc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICAgICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2lyZWRfY291bnQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cbiJdfQ==
393
+ _a = JSII_RTTI_SYMBOL_1;
394
+ Aws[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Aws", version: "0.0.2" };
395
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFBa0Y7QUFDbEYsK0ZBQXlGO0FBQ3pGLDZFQUF3RTtBQUN4RSwrRkFBeUY7QUFDekYsK0VBQTBFO0FBQzFFLHFFQUFpRTtBQUNqRSxxRUFBaUU7QUFDakUscUZBQWdGO0FBQ2hGLG1FQUErRDtBQUMvRCwrREFBMkQ7QUFDM0QsbUdBQTZGO0FBQzdGLCtEQUErRDtBQUMvRCxpQ0FBOEM7QUFDOUMsMkNBQXVDO0FBQ3ZDLDJDQUE4QztBQUM5Qyw2RUFBd0U7QUFFeEUsK0VBQTBFO0FBRTFFLE1BQWEsR0FBSSxTQUFRLHNCQUFTO0lBQzlCLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFFNUIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxnREFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sTUFBTSxHQUFHLElBQUksK0JBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRXBELE1BQU0sRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBQSwyQkFBZSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzVDLElBQUksRUFBRSxvQkFBb0I7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxrQkFBTyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDL0MsZ0JBQWdCLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsU0FBUyxF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RSxHQUFHLGNBQWMsQ0FBQyxHQUFHLGVBQWU7eUJBQ3ZDO3FCQUNKO29CQUNEO3dCQUNJLEtBQUssRUFBRSxZQUFZO3dCQUNuQixRQUFRLEVBQUUsT0FBTzt3QkFDakIsUUFBUSxFQUFFOzRCQUNOLHFCQUFxQjs0QkFDckIsNEJBQTRCO3lCQUMvQjt3QkFDRCxVQUFVLEVBQUUsR0FBRztxQkFDbEI7aUJBQ0o7YUFDSixDQUVBO1NBQ0osQ0FBQyxDQUFBO1FBQ0YsSUFBSSxvREFBdUIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7WUFDNUQsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEdBQUc7WUFDL0IsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1NBQzVCLENBQUMsQ0FBQTtRQUVGLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDdEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ3BCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUM7WUFDZixVQUFVLEVBQUUsU0FBUztZQUNyQixjQUFjLEVBQUUsd0JBQXdCLENBQUMsa0JBQWtCO1lBQzNELG9CQUFvQixFQUFFO2dCQUNsQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNwQixjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUc7YUFDckM7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsYUFBYSxFQUFFO29CQUNYLGVBQWU7aUJBQ2xCO2FBQ0o7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOztBQTVZTCxrQkE2WUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZHdhdGNoTG9nR3JvdXAgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9jbG91ZHdhdGNoLWxvZy1ncm91cCc7XG5pbXBvcnQgeyBEYXRhQXdzQ2FsbGVySWRlbnRpdHkgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1jYWxsZXItaWRlbnRpdHknO1xuaW1wb3J0IHsgRGF0YUF3c1JlZ2lvbiB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXJlZ2lvbic7XG5pbXBvcnQgeyBEYXRhQXdzU2VjdXJpdHlHcm91cHMgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1zZWN1cml0eS1ncm91cHMnO1xuaW1wb3J0IHsgRGF0YUF3c1N1Ym5ldHMgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1zdWJuZXRzJztcbmltcG9ydCB7IEVjc0NsdXN0ZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3MtY2x1c3Rlcic7XG5pbXBvcnQgeyBFY3NTZXJ2aWNlIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZWNzLXNlcnZpY2UnO1xuaW1wb3J0IHsgRWNzVGFza0RlZmluaXRpb24gfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3MtdGFzay1kZWZpbml0aW9uJztcbmltcG9ydCB7IElhbVBvbGljeSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2lhbS1wb2xpY3knO1xuaW1wb3J0IHsgSWFtUm9sZSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2lhbS1yb2xlJztcbmltcG9ydCB7IElhbVJvbGVQb2xpY3lBdHRhY2htZW50IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXJvbGUtcG9saWN5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgQXdzUHJvdmlkZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9wcm92aWRlcic7XG5pbXBvcnQgeyBGbiwgVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tICdjZGt0Zic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGNvbW1vblZhcmlhYmxlcyB9IGZyb20gJy4vdmFyaWFibGVzJztcbmltcG9ydCB7IEVmc0ZpbGVTeXN0ZW0gfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lZnMtZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHsgdHlwZSBDb250YWluZXJEZWZpbml0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjcydcbmltcG9ydCB7IEVmc01vdW50VGFyZ2V0IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZWZzLW1vdW50LXRhcmdldCc7XG5cbmV4cG9ydCBjbGFzcyBBd3MgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICBuZXcgQXdzUHJvdmlkZXIodGhpcywgJ2F3cycsIHtcblxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpZGVudGl0eSA9IG5ldyBEYXRhQXdzQ2FsbGVySWRlbnRpdHkodGhpcywgJ0lkZW50aXR5Jywge30pO1xuXG4gICAgICAgIGNvbnN0IHJlZ2lvbiA9IG5ldyBEYXRhQXdzUmVnaW9uKHRoaXMsICdSZWdpb24nLCB7fSlcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgY2x1c3RlciA9IG5ldyBFY3NDbHVzdGVyKHRoaXMsICdDbHVzdGVyJywge1xuICAgICAgICAgICAgbmFtZTogJ2doYS1ydW5uZXItY2x1c3RlcicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclJvbGUgPSBuZXcgSWFtUm9sZSh0aGlzLCAnUnVubmVyUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdBdXRvc2NhbGVyUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBlY3NUYXNrRXhlY3V0aW9uUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdUYXNrRXhlY3V0aW9uUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYW5hZ2VkUG9saWN5QXJuczogW1xuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQW1hem9uRUNTVGFza0V4ZWN1dGlvblJvbGVQb2xpY3knXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgcnVubmVyTG9nR3JvdXAgPSBuZXcgQ2xvdWR3YXRjaExvZ0dyb3VwKHRoaXMsICdSdW5uZXJMb2dHcm91cCcsIHtcbiAgICAgICAgICAgIG5hbWU6ICcvZWNzL0dIQScsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJMb2dHcm91cCA9IG5ldyBDbG91ZHdhdGNoTG9nR3JvdXAodGhpcywgJ0F1dG9zY2FsZXJMb2dHcm91cCcsIHtcbiAgICAgICAgICAgIG5hbWU6ICcvZWNzL0F1dG9zY2FsZXInLFxuICAgICAgICB9KTtcblxuXG4gICAgICAgIGNvbnN0IHN1Ym5ldHMgPSBuZXcgRGF0YUF3c1N1Ym5ldHModGhpcywgJ1N1Ym5ldHMnLCB7fSk7XG5cbiAgICAgICAgY29uc3Qgc2VjdXJpdHlHcm91cHMgPSBuZXcgRGF0YUF3c1NlY3VyaXR5R3JvdXBzKHRoaXMsICdTZWN1cml0eUdyb3VwcycpO1xuXG4gICAgICAgIC8vIEVGUyB2b2x1bWUgdG8gYWxsb3cgc2hhcmluZyBkYXRhIGJldHdlZW4gdGFza3NcbiAgICAgICAgY29uc3QgZWZzID0gbmV3IEVmc0ZpbGVTeXN0ZW0odGhpcywgJ2VmcycsIHtcbiAgICAgICAgICAgIHRocm91Z2hwdXRNb2RlOiAnZWxhc3RpYycsXG4gICAgICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgICAgICAgTmFtZTogJ3dvcmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzRWZzID0gbmV3IEVmc0ZpbGVTeXN0ZW0odGhpcywgJ2V4dGVybmFsc0VmcycsIHtcbiAgICAgICAgICAgIHRocm91Z2hwdXRNb2RlOiAnZWxhc3RpYycsXG4gICAgICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgICAgICAgTmFtZTogJ2V4dGVybmFscydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBFYWNoIHN1Ym5ldCBpbiBWUEMgYXJlIG9uIGRpZmZlcmVudCBBWnMsIHNvIGNyZWF0aW5nIG1vdW50cG9pbnQgdG8gZWFjaFxuICAgICAgICBjb25zdCBpdGVyYXRvciA9IFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21MaXN0KHN1Ym5ldHMuaWRzKVxuXG4gICAgICAgIG5ldyBFZnNNb3VudFRhcmdldCh0aGlzLCAnRWZzTW91bnRUYXJnZXQnLCB7XG4gICAgICAgICAgICBmb3JFYWNoOiBpdGVyYXRvcixcbiAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZWZzLmlkLFxuICAgICAgICAgICAgc3VibmV0SWQ6IGl0ZXJhdG9yLnZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBFZnNNb3VudFRhcmdldCh0aGlzLCAnRXh0ZXJuYWxzRWZzTW91bnRUYXJnZXQnLCB7XG4gICAgICAgICAgICBmb3JFYWNoOiBpdGVyYXRvcixcbiAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZXh0ZXJuYWxzRWZzLmlkLFxuICAgICAgICAgICAgc3VibmV0SWQ6IGl0ZXJhdG9yLnZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclZvbHVtZU5hbWUgPSAnd29yayc7XG4gICAgICAgIGNvbnN0IGV4dGVybmFsc1ZvbHVtZU5hbWUgPSAnZXh0ZXJuYWxzJztcbiAgICAgICAgY29uc3QgcnVubmVyQ29udGFpbmVyRGVmaW5pdGlvbnM6IENvbnRhaW5lckRlZmluaXRpb25bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdydW5uZXInLFxuICAgICAgICAgICAgaW1hZ2U6ICdnaGNyLmlvL2hpLWZpL2FjdGlvbnMtcnVubmVyOmVjcycsXG4gICAgICAgICAgICBjb21tYW5kOiBbJy9iaW4vc2gnLCAnLWMnLCAnZXhwb3J0IEVYRUNJRD0kKGNhdCAvcHJvYy9zeXMva2VybmVsL3JhbmRvbS91dWlkKSAmJiBzdWRvIG1rZGlyIC1wIC90bXAvX3dvcmsvJEVYRUNJRCAmJiBzdWRvIGNob3duIHJ1bm5lcjpydW5uZXIgL3RtcC9fd29yay8kRVhFQ0lEICYmIGxuIC1zIC90bXAvX3dvcmsvJEVYRUNJRCBfd29yayAmJiBzdWRvIGNob3duIHJ1bm5lcjpydW5uZXIgL3RtcC9leHRlcm5hbHMgJiYgL2hvbWUvcnVubmVyL3J1bi5zaCA7IHN1ZG8gcm0gLXIgL3RtcC9fd29yay8kRVhFQ0lEJ10sXG4gICAgICAgICAgICBlc3NlbnRpYWw6IHRydWUsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VGU19JRCcsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlZnMuaWRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMU19FRlNfSUQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZXh0ZXJuYWxzRWZzLmlkXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfQ0xVU1RFUl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNsdXN0ZXIubmFtZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQUNUSU9OU19SVU5ORVJfUE9EX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2doYS1wb2QnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBQ1RJT05TX1JVTk5FUl9SRVFVSVJFX0pPQl9DT05UQUlORVInLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2ZhbHNlJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NVQk5FVFMnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHN1Ym5ldHMuaWRzKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NFQ1VSSVRZX0dST1VQUycsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc2VjdXJpdHlHcm91cHMuaWRzKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1RBU0tfUk9MRScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJSb2xlLmFyblxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX0VYRUNVVElPTl9ST0xFJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBtb3VudFBvaW50czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlVm9sdW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQYXRoOiAnL3RtcC9fd29yaycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVZvbHVtZTogZXh0ZXJuYWxzVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUGF0aDogJy90bXAvZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIGxvZ0RyaXZlcjogJ2F3c2xvZ3MnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLWdyb3VwXCI6IHJ1bm5lckxvZ0dyb3VwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1yZWdpb25cIjogcmVnaW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1zdHJlYW0tcHJlZml4XCI6IFwiZWNzXCIsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XVxuICAgICAgICAvLyBUT0RPOiBJbWFnZXMgdGhyb3VnaCBjYWNoaW5nOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNSL2xhdGVzdC91c2VyZ3VpZGUvcHVsbC10aHJvdWdoLWNhY2hlLmh0bWwgKHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uKVxuICAgICAgICAvLyBUT0RPOiBQYXNzIEV4ZWN1dGlvbiByb2xlIHRvIGpvYiB0YXNrOiBodHRwczovL3d3dy5lcm5lc3RjaGlhbmcuY29tL2VuL3Bvc3RzLzIwMjEvdXNpbmctYW1hem9uLWVjcy1leGVjLyMxLWdyYW50LXBlcm1pc3Npb25zLWVjcy10YXNrLWlhbS1yb2xlXG4gICAgICAgIC8vIFRPRE86IFBhc3MgVGFzayByb2xlIHRvIGpvYiB0YXNrXG4gICAgICAgIGNvbnN0IHJ1bm5lclRhc2tEZWZpbml0aW9uID0gbmV3IEVjc1Rhc2tEZWZpbml0aW9uKHRoaXMsICdSdW5uZXJUYXNrRGVmaW5pdGlvbicsIHtcbiAgICAgICAgICAgIGZhbWlseTogJ0dIQScsXG4gICAgICAgICAgICB0YXNrUm9sZUFybjogcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICBleGVjdXRpb25Sb2xlQXJuOiBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICBjb250YWluZXJEZWZpbml0aW9uczogRm4uanNvbmVuY29kZShydW5uZXJDb250YWluZXJEZWZpbml0aW9ucyksXG4gICAgICAgICAgICBjcHU6ICcxMDI0JyxcbiAgICAgICAgICAgIG1lbW9yeTogJzIwNDgnLFxuICAgICAgICAgICAgcmVxdWlyZXNDb21wYXRpYmlsaXRpZXM6IFtcbiAgICAgICAgICAgICAgICAnRkFSR0FURSdcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgICAgICAgICBjcHVBcmNoaXRlY3R1cmU6ICdYODZfNjQnLFxuICAgICAgICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogJ0xJTlVYJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtNb2RlOiAnYXdzdnBjJyxcbiAgICAgICAgICAgIHZvbHVtZTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcnVubmVyVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZWZzVm9sdW1lQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBlZnMuaWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGRvZXNuJ3Qgd29yayB3aXRoIHNhbWUgdm9sdW1lLCBhcyB2b2x1bWUgaXMgaW5pdGlhbGx5IGVtcHR5IHNvIGl0IGNhbid0IG1hcCB0byBpdCdzIFwiZXh0ZXJuYWxzXCIgZGlyZWN0b3J5XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBleHRlcm5hbHNWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBlZnNWb2x1bWVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlU3lzdGVtSWQ6IGV4dGVybmFsc0Vmcy5pZCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyVGFza0RlZmluaXRpb24gPSBuZXcgRWNzVGFza0RlZmluaXRpb24odGhpcywgJ0F1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbicsIHtcbiAgICAgICAgICAgIGZhbWlseTogJ0F1dG9zY2FsZXInLFxuICAgICAgICAgICAgdGFza1JvbGVBcm46IGF1dG9zY2FsZXJSb2xlLmFybixcbiAgICAgICAgICAgIGV4ZWN1dGlvblJvbGVBcm46IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgIGNvbnRhaW5lckRlZmluaXRpb25zOiBGbi5qc29uZW5jb2RlKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdhdXRvc2NhbGVyJyxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6ICdnaGNyLmlvL2hpLWZpL2doYS1ydW5uZXJzLW9uLW1hbmFnZWQtZW52OnRlc3QnLFxuICAgICAgICAgICAgICAgICAgICBlc3NlbnRpYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1BBVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBhdC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnR0lUSFVCX0NPTkZJR19VUkwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1RBU0tfREVGSU5JVElPTl9BUk4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJUYXNrRGVmaW5pdGlvbi5hcm5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19DTFVTVEVSJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2x1c3Rlci5hcm5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19TVUJORVRTJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHN1Ym5ldHMuaWRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NFQ1VSSVRZX0dST1VQUycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEZuLmpvaW4oJywnLCBzZWN1cml0eUdyb3Vwcy5pZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTQ0FMRV9TRVRfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdlY3MtcnVubmVyLXNldCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGxvZ0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RyaXZlcjogJ2F3c2xvZ3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1ncm91cFwiOiBhdXRvc2NhbGVyTG9nR3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImF3c2xvZ3MtcmVnaW9uXCI6IHJlZ2lvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1zdHJlYW0tcHJlZml4XCI6IFwiZWNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIGNwdTogJzI1NicsXG4gICAgICAgICAgICBtZW1vcnk6ICc1MTInLFxuICAgICAgICAgICAgcmVxdWlyZXNDb21wYXRpYmlsaXRpZXM6IFtcbiAgICAgICAgICAgICAgICAnRkFSR0FURSdcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgICAgICAgICBjcHVBcmNoaXRlY3R1cmU6ICdYODZfNjQnLFxuICAgICAgICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogJ0xJTlVYJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtNb2RlOiAnYXdzdnBjJyxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBydW5uZXJQb2xpY3kgPSBuZXcgSWFtUG9saWN5KHRoaXMsICdSdW5uZXJQb2xpY3knLCB7XG4gICAgICAgICAgICBwb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnU3RhcnRhbmRNb25pdG9yVGFzaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpSdW5UYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlRhZ1Jlc291cmNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6TGlzdFRhc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlN0b3BUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkV4ZWN1dGVDb21tYW5kJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIHdhaXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkRlc2NyaWJlVGFza3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2dzOkdldExvZ0V2ZW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lhbTpQYXNzUm9sZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6U3RhcnRMaXZlVGFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLWRlZmluaXRpb24vZ2hhLXBvZC13b3JrZmxvdzoqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHVzdGVyLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyZXIgaGFzIHRvIGJlIGFsbG93ZWQgdG8gcGFzcyBib3RoIHRhc2sgYW5kIHRhc2sgZXhlY3V0aW9uIHJvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLyR7Y2x1c3Rlci5uYW1lfS8qYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1RPRE86IHJlb3JkZXIgcmlnaHRzIHNvIHRoYXQgbGlzdGluZyBpcyBvbmx5IG9uZSB3aXRoIHN0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKidcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdHZXRWcGNJbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU3VibmV0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVNlY3VyaXR5R3JvdXBzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6ICcqJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ0V4ZWNDb21tYW5kcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOkNyZWF0ZUNvbnRyb2xDaGFubmVsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3NtbWVzc2FnZXM6Q3JlYXRlRGF0YUNoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpPcGVuQ29udHJvbENoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpPcGVuRGF0YUNoYW5uZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlJzogJyonXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIClcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQodGhpcywgJ1J1bm5lclBvbGljeUF0dGFjaG1lbnQnLCB7XG4gICAgICAgICAgICBwb2xpY3lBcm46IHJ1bm5lclBvbGljeS5hcm4sXG4gICAgICAgICAgICByb2xlOiBydW5uZXJSb2xlLm5hbWVcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyUG9saWN5ID0gbmV3IElhbVBvbGljeSh0aGlzLCAnQXV0b3NjYWxlclBvbGljeScsIHtcbiAgICAgICAgICAgIHBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdTdGFydGFuZE1vbml0b3JUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJ1blRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6R2V0TG9nRXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cnVubmVyVGFza0RlZmluaXRpb24uYXJuV2l0aG91dFJldmlzaW9ufToqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyZXIgaGFzIHRvIGJlIGFsbG93ZWQgdG8gcGFzcyBib3RoIHRhc2sgYW5kIHRhc2sgZXhlY3V0aW9uIHJvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLyR7Y2x1c3Rlci5uYW1lfS8qYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtydW5uZXJMb2dHcm91cC5hcm59OmxvZy1zdHJlYW06KmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnR2V0VnBjSW5mbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVN1Ym5ldHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlYzI6RGVzY3JpYmVTZWN1cml0eUdyb3VwcydcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiAnKidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuICAgICAgICBuZXcgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQodGhpcywgJ0F1dG9zY2FsZXJQb2xpY3lBdHRhY2htZW50Jywge1xuICAgICAgICAgICAgcG9saWN5QXJuOiBhdXRvc2NhbGVyUG9saWN5LmFybixcbiAgICAgICAgICAgIHJvbGU6IGF1dG9zY2FsZXJSb2xlLm5hbWVcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgRWNzU2VydmljZSh0aGlzLCAnQXV0b3NjYWxlclNlcnZpY2UnLCB7XG4gICAgICAgICAgICBjbHVzdGVyOiBjbHVzdGVyLmFybixcbiAgICAgICAgICAgIG5hbWU6ICdhdXRvc2NhbGVyLXNlcnZpY2UnLFxuICAgICAgICAgICAgZGVzaXJlZENvdW50OiAxLFxuICAgICAgICAgICAgbGF1bmNoVHlwZTogJ0ZBUkdBVEUnLFxuICAgICAgICAgICAgdGFza0RlZmluaXRpb246IGF1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbi5hcm5XaXRob3V0UmV2aXNpb24sXG4gICAgICAgICAgICBuZXR3b3JrQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIGFzc2lnblB1YmxpY0lwOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldHMuaWRzLFxuICAgICAgICAgICAgICAgIHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3Vwcy5pZHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICdkZXNpcmVkX2NvdW50J1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
package/lib/lib/azure.js CHANGED
@@ -474,5 +474,5 @@ class Azure extends constructs_1.Construct {
474
474
  }
475
475
  exports.Azure = Azure;
476
476
  _a = JSII_RTTI_SYMBOL_1;
477
- Azure[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Azure", version: "0.0.1" };
477
+ Azure[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Azure", version: "0.0.2" };
478
478
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2F6dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtEQUFnRTtBQUNoRSwrREFBMkQ7QUFDM0QsbUdBQTRGO0FBQzVGLGlDQUE4QztBQUM5QywyQ0FBdUM7QUFDdkMsK0VBQTJFO0FBQzNFLHVGQUFtRjtBQUNuRiwrRkFBMEY7QUFDMUYsaUZBQTZFO0FBQzdFLGlHQUE0RjtBQUM1RixpRkFBNkU7QUFDN0UscUdBQWdHO0FBQ2hHLDZFQUF5RTtBQUN6RSwyQ0FBOEM7QUFDOUMscUhBQStHO0FBQy9HLGtFQUFxRTtBQUNyRSxnRkFBNEU7QUFFNUUsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFDaEMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNqQyxRQUFRLEVBQUU7Z0JBQ04sRUFBRTthQUNMO1NBQ0osQ0FBQyxDQUFBO1FBRUYsSUFBSSx3QkFBYSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFDaEMsQ0FBQyxDQUFBO1FBRUYsSUFBSSx5QkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLG1EQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekQsTUFBTSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFBLDJCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSx5QkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JELE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFdBQVcsRUFBRSwwQ0FBMEM7WUFDdkQsSUFBSSxFQUFFLFFBQVE7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YixrQkFBa0IsRUFBRSxTQUFTO1NBQ2hDLENBQUMsQ0FBQztRQUVILElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDN0MsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ2pDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNiLGtCQUFrQixFQUFFLHNCQUFzQjtTQUM3QyxDQUFDLENBQUE7SUFDTixDQUFDOztBQXBlTCxzQkFxZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBBemFwaVByb3ZpZGVyIH0gZnJvbSAnLi4vLmdlbi9wcm92aWRlcnMvYXphcGkvcHJvdmlkZXInXG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4uLy5nZW4vcHJvdmlkZXJzL2F6YXBpL3Jlc291cmNlJ1xuaW1wb3J0IHsgRGF0YUF6YXBpUmVzb3VyY2VBY3Rpb24gfSBmcm9tICcuLi8uZ2VuL3Byb3ZpZGVycy9hemFwaS9kYXRhLWF6YXBpLXJlc291cmNlLWFjdGlvbidcbmltcG9ydCB7IEZuLCBUZXJyYWZvcm1WYXJpYWJsZSB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBDb250YWluZXJSZWdpc3RyeSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvY29udGFpbmVyLXJlZ2lzdHJ5XCI7XG5pbXBvcnQgeyBVc2VyQXNzaWduZWRJZGVudGl0eSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvdXNlci1hc3NpZ25lZC1pZGVudGl0eVwiO1xuaW1wb3J0IHsgUm9sZUFzc2lnbm1lbnQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3JvbGUtYXNzaWdubWVudFwiO1xuaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgUm9sZURlZmluaXRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3JvbGUtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgRGF0YUF6dXJlcm1TdWJzY3JpcHRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1zdWJzY3JpcHRpb25cIjtcbmltcG9ydCB7IENvbnRhaW5lckFwcCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvY29udGFpbmVyLWFwcFwiO1xuaW1wb3J0IHsgY29tbW9uVmFyaWFibGVzIH0gZnJvbSBcIi4vdmFyaWFibGVzXCI7XG5pbXBvcnQgeyBDb250YWluZXJBcHBFbnZpcm9ubWVudFN0b3JhZ2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2NvbnRhaW5lci1hcHAtZW52aXJvbm1lbnQtc3RvcmFnZVwiO1xuaW1wb3J0IHsgUmFuZG9tUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLXJhbmRvbS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFN0cmluZ1Jlc291cmNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1yYW5kb20vbGliL3N0cmluZy1yZXNvdXJjZVwiO1xuXG5leHBvcnQgY2xhc3MgQXp1cmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgXG4gICAgICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgJ2F6dXJlcm0nLCB7XG4gICAgICAgICAgICBmZWF0dXJlczogW1xuICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IEF6YXBpUHJvdmlkZXIodGhpcywgJ2F6YXBpJywge1xuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBSYW5kb21Qcm92aWRlcih0aGlzLCAncmFuZG9tJylcblxuICAgICAgICBjb25zdCBzdWIgPSBuZXcgRGF0YUF6dXJlcm1TdWJzY3JpcHRpb24odGhpcywgJ3N1YicsIHt9KTtcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSBuZXcgVGVycmFmb3JtVmFyaWFibGUodGhpcywgJ2xvY2F0aW9uJywge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3dlc3RldXJvcGUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMb2NhdGlvbiB3aGVyZSB0byBwcm92aXNpb24gcmVzb3VyY2VzIHRvJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgc2Vuc2l0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG51bGxhYmxlOiBmYWxzZVxuICAgICAgICB9KS52YWx1ZTtcblxuICAgICAgICBjb25zdCByZyA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsICdyZycsIHtcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ2doYS1ydW5uZXItcmcnLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJhbmRvbSA9IG5ldyBTdHJpbmdSZXNvdXJjZSh0aGlzLCAncmFuZG9tU3VmZml4Jywge1xuICAgICAgICAgICAgbGVuZ3RoOiA2LFxuICAgICAgICAgICAgc3BlY2lhbDogZmFsc2UsXG4gICAgICAgICAgICB1cHBlcjogZmFsc2UsXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgYWNyID0gbmV3IENvbnRhaW5lclJlZ2lzdHJ5KHRoaXMsICdhY3InLCB7XG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6IGBydW5uZXJhY3Ike3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZy5uYW1lLFxuICAgICAgICAgICAgc2t1OiAnQmFzaWMnLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHVzZSBjYWNoaW5nIGZvciBpbWFnZXNcbiAgICAgICAgY29uc3QgcnVubmVyQ2FjaGUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ3J1bm5lckNhY2hlJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5Db250YWluZXJSZWdpc3RyeS9yZWdpc3RyaWVzL2NhY2hlUnVsZXNAMjAyMy0wMS0wMS1wcmV2aWV3JyxcbiAgICAgICAgICAgIHBhcmVudElkOiBhY3IuaWQsXG4gICAgICAgICAgICBuYW1lOiAncm9vdC1ydW5uZXItY2FjaGUnLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlUmVwb3NpdG9yeTogJ2doY3IuaW8vaGktZmkvcm9vdC1hY3Rpb25zLXJ1bm5lcicsXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFJlcG9zaXRvcnk6ICdyb290LWFjdGlvbnMtcnVubmVyJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyQ2FjaGUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2F1dG9zY2FsZXJDYWNoZScsIHtcbiAgICAgICAgICAgIHR5cGU6ICdNaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9jYWNoZVJ1bGVzQDIwMjMtMDEtMDEtcHJldmlldycsXG4gICAgICAgICAgICBwYXJlbnRJZDogYWNyLmlkLFxuICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXItY2FjaGUnLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlUmVwb3NpdG9yeTogJ2doY3IuaW8vaGktZmkvZ2hhLXJ1bm5lcnMtb24tbWFuYWdlZC1lbnYnLFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRSZXBvc2l0b3J5OiAnYXV0b3NjYWxlcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgaWRlbnRpdHkgPSBuZXcgVXNlckFzc2lnbmVkSWRlbnRpdHkodGhpcywgJ2lkZW50aXR5Jywge1xuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBuYW1lOiAnYWNhLWFjci1hY2Nlc3MnLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJnLm5hbWUsXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJ1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsICdyb2xlQXNzaWdubWVudCcsIHtcbiAgICAgICAgICAgIHByaW5jaXBhbElkOiBpZGVudGl0eS5wcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHNjb3BlOiBhY3IuaWQsXG4gICAgICAgICAgICByb2xlRGVmaW5pdGlvbk5hbWU6ICdBY3JQdWxsJ1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBsb2cgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKHRoaXMsICdsb2cnLCB7XG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtZXhhbXBsZS1sb2dzJyxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZy5uYW1lLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZUFjY291bnQgPSBuZXcgUmVzb3VyY2UodGhpcywgJ3N0b3JhZ2VBY2NvdW50Jywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50c0AyMDIzLTAxLTAxJyxcbiAgICAgICAgICAgIHBhcmVudElkOiByZy5pZCxcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogYGdoYXN0b3JhZ2VhY2NvdW50JHtyYW5kb20ucmVzdWx0fWAsXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZUZpbGVTaGFyZXNTdGF0ZTogJ0VuYWJsZWQnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBza3U6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1N0YW5kYXJkX0xSUydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtpbmQ6ICdTdG9yYWdlVjInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICAgICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ3RhZ3MnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc3BvbnNlRXhwb3J0VmFsdWVzOiBbXG5cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZVNoYXJlID0gbmV3IFJlc291cmNlKHRoaXMsICdzdG9yYWdlU2hhcmUnLCB7XG4gICAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL2ZpbGVTZXJ2aWNlcy9zaGFyZXNAMjAyMy0wMS0wMScsXG4gICAgICAgICAgICBuYW1lOiAnZ2hhZXhhbXBsZXNoYXJlJyxcbiAgICAgICAgICAgIHBhcmVudElkOiBgJHtzdG9yYWdlQWNjb3VudC5pZH0vZmlsZVNlcnZpY2VzL2RlZmF1bHRgLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZFByb3RvY29sczogJ1NNQicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzU2hhcmUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2V4dGVybmFsc1NoYXJlJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9maWxlU2VydmljZXMvc2hhcmVzQDIwMjMtMDEtMDEnLFxuICAgICAgICAgICAgbmFtZTogJ2doYWV4dGVybmFsc3NoYXJlJyxcbiAgICAgICAgICAgIHBhcmVudElkOiBgJHtzdG9yYWdlQWNjb3VudC5pZH0vZmlsZVNlcnZpY2VzL2RlZmF1bHRgLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZFByb3RvY29sczogJ1NNQicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2FjYWVudicsIHtcbiAgICAgICAgICAgIHR5cGU6ICdNaWNyb3NvZnQuQXBwL21hbmFnZWRFbnZpcm9ubWVudHNAMjAyNC0wMy0wMScsXG4gICAgICAgICAgICBwYXJlbnRJZDogcmcuaWQsXG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtcnVubmVyLWVudmlyb25tZW50JyxcbiAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGFwcExvZ3NDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbjogJ2xvZy1hbmFseXRpY3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nQW5hbHl0aWNzQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IGxvZy53b3Jrc3BhY2VJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWRLZXk6IGxvZy5wcmltYXJ5U2hhcmVkS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbmZyYXN0cnVjdHVyZVJlc291cmNlR3JvdXA6ICdtYW5hZ2VkLWFjYS1yZycsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtsb2FkUHJvZmlsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ29uc3VtcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtsb2FkUHJvZmlsZVR5cGU6ICdDb25zdW1wdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJ1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZUFjY2Vzc0tleSA9IG5ldyBEYXRhQXphcGlSZXNvdXJjZUFjdGlvbih0aGlzLCAnc3RvcmFnZUFjY2Vzc0tleXMnLCB7XG4gICAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzQDIwMjMtMDEtMDEnLFxuICAgICAgICAgICAgYWN0aW9uOiAnbGlzdEtleXMnLFxuICAgICAgICAgICAgcmVzb3VyY2VJZDogc3RvcmFnZUFjY291bnQuaWQsXG4gICAgICAgICAgICByZXNwb25zZUV4cG9ydFZhbHVlczogWycqJ10sXG4gICAgICAgICAgICBkZXBlbmRzT246IFtcbiAgICAgICAgICAgICAgICBzdG9yYWdlQWNjb3VudFxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrL2lzc3Vlcy8xNjQxXG4gICAgICAgIC8vIEZvciBvbGRlciBBemFwaSB3YXkgdG8gZ2V0IGtleSB3b3VsZCBiZSB0aGlzIHdoZW4gKGRlZmF1bHQpIGRhdGEgb3V0cHV0IHdhcyBqc29uLiBXaXRuIDIuMC4wLWJldGEgZGVmYXVsdCB3YXMgY2hhbmdlZCB0byBIQ0xcbiAgICAgICAgLy8gY29uc3QgYWNjZXNzS2V5ID0gRm4ubG9va3VwKEZuLmVsZW1lbnQoRm4ubG9va3VwKEZuLmpzb25kZWNvZGUoc3RvcmFnZUFjY2Vzc0tleS5vdXRwdXQgYXMgYW55KSwgJ2tleXMnKSwgMCksICd2YWx1ZScpXG5cbiAgICAgICAgY29uc3QgYWNjZXNzS2V5ID0gRm4ubG9va3VwKEZuLmVsZW1lbnQoRm4uZWxlbWVudChzdG9yYWdlQWNjZXNzS2V5Lm91dHB1dC5sb29rdXAoJzAnKSwgMCksIDApLCAndmFsdWUnKVxuXG4gICAgICAgIGNvbnN0IGFjYUVudlN0b3JhZ2UgPSBuZXcgQ29udGFpbmVyQXBwRW52aXJvbm1lbnRTdG9yYWdlKHRoaXMsICdhY2FlbnZzdG9yYWdlJywge1xuICAgICAgICAgICAgbmFtZTogJ2doYXJ1bm5lcmpvYnN0b3JhZ2UnLFxuICAgICAgICAgICAgYWNjZXNzS2V5LFxuICAgICAgICAgICAgYWNjZXNzTW9kZTogJ1JlYWRXcml0ZScsXG4gICAgICAgICAgICBhY2NvdW50TmFtZTogc3RvcmFnZUFjY291bnQubmFtZSxcbiAgICAgICAgICAgIGNvbnRhaW5lckFwcEVudmlyb25tZW50SWQ6IGVudmlyb25tZW50LmlkLFxuICAgICAgICAgICAgc2hhcmVOYW1lOiBzdG9yYWdlU2hhcmUubmFtZSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIC8vIE5hbWUgZG9lc24ndCBjcmVhdGUgZGVwZW5kc09uIHJlcXVpcmVtZW50LCBzbyBhZGRpbmcgdGhhdCBleHBsaWNpdGx5XG4gICAgICAgICAgICAgICAgc3RvcmFnZVNoYXJlXG4gICAgICAgICAgICBdIFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBhY2FFeHRlcm5hbFN0b3JhZ2UgPSBuZXcgQ29udGFpbmVyQXBwRW52aXJvbm1lbnRTdG9yYWdlKHRoaXMsICdhY2FleHRlcm5hbHN0b3JhZ2UnLCB7XG4gICAgICAgICAgICBuYW1lOiAnZ2hhcnVubmVyZXh0ZXJuYWxzdG9yYWdlJyxcbiAgICAgICAgICAgIGFjY2Vzc0tleSxcbiAgICAgICAgICAgIGFjY2Vzc01vZGU6ICdSZWFkV3JpdGUnLFxuICAgICAgICAgICAgYWNjb3VudE5hbWU6IHN0b3JhZ2VBY2NvdW50Lm5hbWUsXG4gICAgICAgICAgICBjb250YWluZXJBcHBFbnZpcm9ubWVudElkOiBlbnZpcm9ubWVudC5pZCxcbiAgICAgICAgICAgIHNoYXJlTmFtZTogZXh0ZXJuYWxzU2hhcmUubmFtZSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIC8vIE5hbWUgZG9lc24ndCBjcmVhdGUgZGVwZW5kc09uIHJlcXVpcmVtZW50LCBzbyBhZGRpbmcgdGhhdCBleHBsaWNpdGx5XG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxzU2hhcmVcbiAgICAgICAgICAgIF0gXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclZvbHVtZU5hbWUgPSAnd29yaydcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxWb2x1bWVOYW1lID0gJ2V4dGVybmFscydcblxuICAgICAgICAvKipcbiAgICAgICAgICogQHNlZSBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvdGVtcGxhdGVzL21pY3Jvc29mdC5hcHAvam9icz9waXZvdHM9ZGVwbG95bWVudC1sYW5ndWFnZS10ZXJyYWZvcm1cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGdoYVJ1bm5lckpvYiA9IG5ldyBSZXNvdXJjZSh0aGlzLCAnZ2hhUnVubmVySm9iJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5BcHAvam9ic0AyMDI0LTAyLTAyLXByZXZpZXcnLFxuICAgICAgICAgICAgaWRlbnRpdHk6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdVc2VyQXNzaWduZWQnLFxuICAgICAgICAgICAgICAgICAgICBpZGVudGl0eUlkczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkuaWRcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1qb2ItMDEnLFxuICAgICAgICAgICAgcGFyZW50SWQ6IHJnLmlkLFxuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW51YWxUcmlnZ2VyQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxpc206IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGljYUNvbXBsZXRpb25Db3VudDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyVHlwZTogJ01hbnVhbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsaWNhVGltZW91dDogMTIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJpZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiBpZGVudGl0eS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyOiBhY3IubG9naW5TZXJ2ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudElkOiBlbnZpcm9ubWVudC5pZCxcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1OiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnMkdpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGF2ZSB0byB1c2UgY3VzdG9tIGltYWdlIGFzIHdlIHdhbnQgdG8gcnVuIHNlcnZpY2UgYXMgcm9vdCB0byBiZSBhYmxlIHRvIGluc3RhbGwgcGFja2FnZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IGAke2Fjci5sb2dpblNlcnZlcn0vcm9vdC1hY3Rpb25zLXJ1bm5lcjpsYXRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnbWFpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2Jpbi9zaCcsICctYycsICdleHBvcnQgRVhFQ0lEPSQoY2F0IC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL3V1aWQpICYmIG1rZGlyIC1wIC90bXAvX3dvcmsvJEVYRUNJRCAmJiBsbiAtcyAvdG1wL193b3JrLyRFWEVDSUQgX3dvcmsgJiYgL2hvbWUvcnVubmVyL3J1bi5zaCA7IHJtIC1yIC90bXAvX3dvcmsvJEVYRUNJRCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVNb3VudHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VudFBhdGg6ICcvdG1wL193b3JrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVOYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VudFBhdGg6ICcvdG1wL2V4dGVybmFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTmFtZTogZXh0ZXJuYWxWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvYXp1cmUtY29udGFpbmVyLWFwcHMvaXNzdWVzLzUwMiNpc3N1ZWNvbW1lbnQtMTM0MDIyNTQzOFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBUFBTRVRUSU5HX1dFQlNJVEVfU0lURV9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2lkZW50aXR5LXdvcmthcm91bmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9henVyZS1jb250YWluZXItYXBwcy9pc3N1ZXMvNDQyI2lzc3VlY29tbWVudC0xNjY1NjIxMDMxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FaVVJFX0NMSUVOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50aXR5LmNsaWVudElkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdSR19OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmcubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTE9HX0lEJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9nLndvcmtzcGFjZUlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVE9SQUdFX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhY2FFbnZTdG9yYWdlLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMX1NUT1JBR0VfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGFjYUV4dGVybmFsU3RvcmFnZS5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVUJTQ1JJUFRJT05fSUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdWIuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FDQV9FTlZJUk9OTUVOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVudmlyb25tZW50LmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlTmFtZTogYWNhRW52U3RvcmFnZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlVHlwZTogJ0F6dXJlRmlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50T3B0aW9uczogJ21mc3ltbGlua3MnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGV4dGVybmFsVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZU5hbWU6IGFjYUV4dGVybmFsU3RvcmFnZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlVHlwZTogJ0F6dXJlRmlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50T3B0aW9uczogJ21mc3ltbGlua3MnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIHJ1bm5lckNhY2hlXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJBcHAgPSBuZXcgQ29udGFpbmVyQXBwKHRoaXMsICdhdXRvc2NhbGVyQXBwJywge1xuICAgICAgICAgICAgY29udGFpbmVyQXBwRW52aXJvbm1lbnRJZDogZW52aXJvbm1lbnQuaWQsXG4gICAgICAgICAgICBuYW1lOiAnYXV0b3NjYWxlci1hcHAtMDEnLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJnLm5hbWUsXG4gICAgICAgICAgICByZXZpc2lvbk1vZGU6ICdTaW5nbGUnLFxuICAgICAgICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnU3lzdGVtQXNzaWduZWQsIFVzZXJBc3NpZ25lZCcsXG4gICAgICAgICAgICAgICAgaWRlbnRpdHlJZHM6IFtcbiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkuaWRcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VjcmV0OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAncGF0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBhdC52YWx1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZWdpc3RyeTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6IGlkZW50aXR5LmlkLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXI6IGFjci5sb2dpblNlcnZlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDUFUgYW5kIE1lbW9yeSBjYW4gYmUgbG93ZXIgd2l0aCB3b3JrbG9hZCBwcm9maWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBjcHU6IDAuMjUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnk6ICcwLjVHaScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7YWNyLmxvZ2luU2VydmVyfS9hdXRvc2NhbGVyOnRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW52OiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjcmV0TmFtZTogJ3BhdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FaVVJFX1RFTkFOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdWIudGVuYW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVUJTQ1JJUFRJT05fSUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc3ViLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdSRVNPVVJDRV9HUk9VUF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJnLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pPQl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdoYVJ1bm5lckpvYi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTQ0FMRV9TRVRfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnYWNhLXJ1bm5lci1zZXQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXBlbmRzT246IFtcbiAgICAgICAgICAgICAgICBhdXRvc2NhbGVyQ2FjaGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJyxcbiAgICAgICAgICAgICAgICAgICAgJ3dvcmtsb2FkX3Byb2ZpbGVfbmFtZSdcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvYXp1cmUtY29udGFpbmVyLWFwcHMvaXNzdWVzLzEwMjRcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHJvbGUgPSBuZXcgUm9sZURlZmluaXRpb24odGhpcywgJ2pvYlJvbGUnLCB7XG4gICAgICAgICAgICBuYW1lOiBgZ2hhLWV4YW1wbGUtcmV2aXNpb24tc3RhcnQtcm9sZS0ke3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHNjb3BlOiBzdWIuaWQsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdGFydC9hY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdG9wL2FjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9leGVjdXRpb25zL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBqb2JDcmVhdGlvblJvbGUgPSBuZXcgUm9sZURlZmluaXRpb24odGhpcywgJ2pvYkNyZWF0aW9uUm9sZScsIHtcbiAgICAgICAgICAgIG5hbWU6IGBnaGEtZXhhbXBsZS1yZXZpc2lvbi1jcmVhdGUtcm9sZS0ke3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHNjb3BlOiBzdWIuaWQsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdGFydC9hY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdG9wL2FjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy93cml0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL2V4ZWN1dGlvbnMvcmVhZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9tYW5hZ2VkRW52aXJvbm1lbnRzL2pvaW4vYWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtaWNyb3NvZnQuYXBwL2pvYnMvZGVsZXRlJyAvLyBjbGVhbnVwIGZvciBqb2JzXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIEFsbG93IGF1dG9zY2FsZXIgdG8gY3JlYXRlIG5ldyByZXZpc2lvbiBvZiBhcHBcbiAgICAgICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsICdzY2FsZUpvYlJvbGVBc3NpZ25tZW50Jywge1xuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IGF1dG9zY2FsZXJBcHAuaWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgICAgICBzY29wZTogZ2hhUnVubmVySm9iLmlkLFxuICAgICAgICAgICAgcm9sZURlZmluaXRpb25JZDogcm9sZS5yb2xlRGVmaW5pdGlvblJlc291cmNlSWRcbiAgICAgICAgfSlcblxuICAgICAgICAvLyBBbGxvdyBydW5uZXIgdG8gc3RhcnQgdGhlIGpvYi4gQXMgZWFjaCBvbmUgY3JlYXRlZCBuZXcgam9iLCBoYXZlIHRvIGdpdmUgdG8gUkcgbGV2ZWwuXG4gICAgICAgIG5ldyBSb2xlQXNzaWdubWVudCh0aGlzLCAnYWN0aW9uQ29udGFpbmVyU3RhcnRSb2xlQXNzaWdubWVudCcsIHtcbiAgICAgICAgICAgIHByaW5jaXBhbElkOiBpZGVudGl0eS5wcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHNjb3BlOiByZy5pZCxcbiAgICAgICAgICAgIHJvbGVEZWZpbml0aW9uSWQ6IGpvYkNyZWF0aW9uUm9sZS5yb2xlRGVmaW5pdGlvblJlc291cmNlSWRcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUm9sZUFzc2lnbm1lbnQodGhpcywgJ2ltYWdlUHVzaFJvbGVBc3NpZ25tZW50Jywge1xuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IGlkZW50aXR5LnByaW5jaXBhbElkLFxuICAgICAgICAgICAgc2NvcGU6IGFjci5pZCxcbiAgICAgICAgICAgIHJvbGVEZWZpbml0aW9uTmFtZTogJ0FjclB1c2gnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBSb2xlQXNzaWdubWVudCh0aGlzLCAnam9iTG9nUmVhZEFzc2lnbm1lbnQnLCB7XG4gICAgICAgICAgICBwcmluY2lwYWxJZDogaWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgICAgICBzY29wZTogbG9nLmlkLFxuICAgICAgICAgICAgcm9sZURlZmluaXRpb25OYW1lOiAnTG9nIEFuYWx5dGljcyBSZWFkZXInXG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==
package/lib/lib/gcp.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Gcp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
4
6
  const cdktf_1 = require("cdktf");
5
7
  const constructs_1 = require("constructs");
6
8
  const provider_1 = require("@cdktf/provider-google/lib/provider");
@@ -244,4 +246,6 @@ class Gcp extends constructs_1.Construct {
244
246
  }
245
247
  }
246
248
  exports.Gcp = Gcp;
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2NwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nY3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQXVDO0FBQ3ZDLDJDQUF1QztBQUN2QyxrRUFBb0U7QUFDcEUsMEdBQXFHO0FBQ3JHLGtGQUE0RTtBQUM1RSxnR0FBMEY7QUFDMUYsZ0ZBQTRFO0FBQzVFLHNGQUFpRjtBQUNqRiwyQ0FBOEM7QUFDOUMsb0ZBQStFO0FBQy9FLGdFQUFpRTtBQUNqRSxnRUFBNEQ7QUFFNUQsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDOUIsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFFckMsSUFBSSx5QkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDL0IsT0FBTztZQUNQLE1BQU0sRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILElBQUksdUJBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFOUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFBLDJCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSx5REFBMEIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlELE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsWUFBWSxFQUFFLGlCQUFpQjtZQUMvQixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLHNCQUFzQixFQUFFO2dCQUNwQixnQkFBZ0IsRUFBRTtvQkFDZCxnQkFBZ0IsRUFBRTt3QkFDZCxHQUFHLEVBQUUsaUJBQWlCO3FCQUN6QjtpQkFDSjthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFL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S0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO2lDQUMvQjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsVUFBVTtvQ0FDaEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJO2lDQUN4QjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsZ0JBQWdCO29DQUN0QixLQUFLLEVBQUUsZUFBZTtpQ0FDekI7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLHFCQUFxQjtvQ0FDM0IsS0FBSyxFQUFFLFFBQVE7aUNBQ2xCO2dDQUNEO29DQUNJLElBQUksRUFBRSxzQkFBc0I7b0NBQzVCLEtBQUssRUFBRSxPQUFPO2lDQUNqQjs2QkFFSjs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1AsdUZBQXVGO2dDQUN2RixNQUFNLEVBQUU7b0NBQ0osR0FBRyxFQUFFLE9BQU87b0NBQ1osTUFBTSxFQUFFLE9BQU87aUNBQ2xCOzZCQUNKO3lCQUNKO3FCQUNKO29CQUNELGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLO2lCQUN6QzthQUNKO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBN1BELGtCQTZQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlcnJhZm9ybUxvY2FsIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgR29vZ2xlUHJvdmlkZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9wcm92aWRlcidcbmltcG9ydCB7IEFydGlmYWN0UmVnaXN0cnlSZXBvc2l0b3J5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2FydGlmYWN0LXJlZ2lzdHJ5LXJlcG9zaXRvcnlcIjtcbmltcG9ydCB7IENsb3VkUnVuVjJKb2IgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvY2xvdWQtcnVuLXYyLWpvYlwiO1xuaW1wb3J0IHsgUHJvamVjdElhbUN1c3RvbVJvbGUgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvamVjdC1pYW0tY3VzdG9tLXJvbGVcIjtcbmltcG9ydCB7IFNlcnZpY2VBY2NvdW50IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL3NlcnZpY2UtYWNjb3VudFwiO1xuaW1wb3J0IHsgUHJvamVjdElhbU1lbWJlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9wcm9qZWN0LWlhbS1tZW1iZXJcIjtcbmltcG9ydCB7IGNvbW1vblZhcmlhYmxlcyB9IGZyb20gXCIuL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ2xvdWRSdW5TZXJ2aWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2Nsb3VkLXJ1bi1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOdWxsUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLW51bGwvbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1udWxsL2xpYi9yZXNvdXJjZSdcblxuZXhwb3J0IGNsYXNzIEdjcCBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gJ2V1cm9wZS1ub3J0aDEnO1xuICAgICAgICBjb25zdCBwcm9qZWN0ID0gJ2doYS1ydW5uZXItZXhhbXBsZSc7XG4gICAgICAgIFxuICAgICAgICBuZXcgR29vZ2xlUHJvdmlkZXIodGhpcywgJ2dvb2dsZScsIHtcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByZWdpb246IGxvY2F0aW9uXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBOdWxsUHJvdmlkZXIodGhpcywgJ251bGwnKVxuXG4gICAgICAgIGNvbnN0IHsgcGF0LCBnaXRodWJDb25maWdVcmwgfSA9IGNvbW1vblZhcmlhYmxlcyh0aGlzKTtcblxuICAgICAgICBjb25zdCByZWdpc3RyeSA9IG5ldyBBcnRpZmFjdFJlZ2lzdHJ5UmVwb3NpdG9yeSh0aGlzLCAncmVnaXN0cnknLCB7XG4gICAgICAgICAgICBmb3JtYXQ6ICdET0NLRVInLFxuICAgICAgICAgICAgbW9kZTogJ1JFTU9URV9SRVBPU0lUT1JZJyxcbiAgICAgICAgICAgIHJlcG9zaXRvcnlJZDogJ2doYS1ydW5uZXItdGVzdCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1JlcG9zaXRvcnkgdG8gaG9zdCBydW4gYW5kIHJlc3VsdGluZyBpbWFnZXMgZnJvbSBHSEEgcnVucycsXG4gICAgICAgICAgICByZW1vdGVSZXBvc2l0b3J5Q29uZmlnOiB7XG4gICAgICAgICAgICAgICAgZG9ja2VyUmVwb3NpdG9yeToge1xuICAgICAgICAgICAgICAgICAgICBjdXN0b21SZXBvc2l0b3J5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmk6ICdodHRwczovL2doY3IuaW8nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGpvYlNhID0gbmV3IFNlcnZpY2VBY2NvdW50KHRoaXMsICdqb2JTZXJ2aWNlQWNjb3VudCcsIHtcbiAgICAgICAgICAgIGFjY291bnRJZDogJ2doYS1ydW5uZXItam9iLXNhJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyUm9sZSA9IG5ldyBQcm9qZWN0SWFtQ3VzdG9tUm9sZSh0aGlzLCAncnVubmVyUm9sZScsIHtcbiAgICAgICAgICAgIHJvbGVJZDogJ2doYVJ1bm5lclJvbGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdHSEEgUnVubmVyIFJvbGUnLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAnYXJ0aWZhY3RyZWdpc3RyeS5kb2NrZXJpbWFnZXMuZ2V0JyxcbiAgICAgICAgICAgICAgICAnYXJ0aWZhY3RyZWdpc3RyeS5kb2NrZXJpbWFnZXMubGlzdCcsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLnJ1bicsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmNyZWF0ZScsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmRlbGV0ZScsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmxpc3QnLFxuICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICdydW4uZXhlY3V0aW9ucy5nZXQnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgam9iUG9saWN5TWVtYmVyID0gbmV3IFRlcnJhZm9ybUxvY2FsKHRoaXMsICdnaGFNZW1iZXInLCBgc2VydmljZUFjY291bnQ6JHtqb2JTYS5lbWFpbH1gKVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZycsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogcnVubmVyUm9sZS5pZCxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAncnVubmVyUm9sZUJpbmRpbmdTdG9yYWdlJywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvc3RvcmFnZS5hZG1pbicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nUnVuU2VydmljZUFnZW50Jywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLnNlcnZpY2VBZ2VudCcsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nUnVuVmlld2VyJywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLnZpZXdlcicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZU5hbWUgPSAnZ2hhLXJ1bm5lci1qb2ItZXh0ZXJuYWxzJztcbiAgICAgICAgY29uc3QgY3JlYXRlQnVja2V0ID0gbmV3IFRlcnJhZm9ybUxvY2FsKHRoaXMsICdidWNrZXRNb2RpZmljYXRpb24nLCBgQ0xPVURTREtfQ09SRV9ESVNBQkxFX1BST01QVFM9MSBnY2xvdWQgYWxwaGEgc3RvcmFnZSBidWNrZXRzIGNyZWF0ZSBnczovLyR7c3RvcmFnZU5hbWV9IC0tcHJvamVjdD0ke3Byb2plY3R9IC0tbG9jYXRpb249JHtsb2NhdGlvbn0gLS11bmlmb3JtLWJ1Y2tldC1sZXZlbC1hY2Nlc3MgLS1lbmFibGUtaGllcmFyY2hpY2FsLW5hbWVzcGFjZWApXG5cbiAgICAgICAgLy8gSGllcmFyY2hpYWwgbmFtZXNwYWNlcyBjYW4ndCBiZSBlbmFibGVkIHdpdGggVGVycmFmb3JtLlxuICAgICAgICBjb25zdCBidWNrZXRDcmVhdGlvbiA9IG5ldyBSZXNvdXJjZSh0aGlzLCAnZ2Nsb3VkJywge1xuICAgICAgICAgICAgcHJvdmlzaW9uZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxvY2FsLWV4ZWNcIixcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogY3JlYXRlQnVja2V0LmZxblxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgICBmcW46IGNyZWF0ZUJ1Y2tldC5mcW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRPRE86IGNoZWNrIGNhY2hpbmcgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2FydGlmYWN0LXJlZ2lzdHJ5L2RvY3MvcHVsbC1jYWNoZWQtZG9ja2VyaHViLWltYWdlc1xuICAgICAgICBjb25zdCBydW5uZXJKb2IgPSBuZXcgQ2xvdWRSdW5WMkpvYih0aGlzLCAnZ2hhSm9iJywge1xuICAgICAgICAgICAgZGVsZXRpb25Qcm90ZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtcnVubmVyLWpvYicsXG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiBgJHtyZWdpc3RyeS5sb2NhdGlvbn0tZG9ja2VyLnBrZy5kZXYvJHtwcm9qZWN0fS8ke3JlZ2lzdHJ5LnJlcG9zaXRvcnlJZH0vaGktZmkvYWN0aW9ucy1ydW5uZXI6Y3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ0xPVURTREtfUlVOX1JFR0lPTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHT09HTEVfQ0xPVURfUFJPSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMX1NUT1JBR0VfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc3RvcmFnZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZVU0UgbW91bnRzIGRpcmVjdG9yeSBhcyByb290IHdpdGggNzc3IGZvIGRpcmVjdG9yaWVzIGFuZCA1NTUgZm9yIG90aGVyIGZpbGVzLiBBcyBwYXRoIGlzIG93bmVkIGFsd2F5cyBieSByb290LCB1dGltZSBvciBwZXJtaXNzaW9uIGNoYW5nZSBpcyBub3QgcG9zc2libGUuIFRoZXNlIG9wdGlvbnMgcHJldmVudCB0YXIgdG8gdHJ5IHRob3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdUQVJfT1BUSU9OUycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJy0tdG91Y2ggLS1uby1vdmVyd3JpdGUtZGlyIC0tbm8tc2FtZS1vd25lcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTW91bnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdleHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91bnRQYXRoOiAnL2hvbWUvcnVubmVyL193b3JrL2V4dGVybmFscydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogWycvaG9tZS9ydW5uZXIvZXBoZW1lcmFsX3J1bm5lci5zaCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdTogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnMkdpJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgdm9sdW1lczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdleHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWNrZXQ6IHN0b3JhZ2VOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBtYXhSZXRyaWVzOiAwLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlQWNjb3VudDogam9iU2EuZW1haWxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVwZW5kc09uOiBbXG4gICAgICAgICAgICAgICAgYnVja2V0Q3JlYXRpb25cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyU2EgPSBuZXcgU2VydmljZUFjY291bnQodGhpcywgJ2F1dG9zY2FsZXJTZXJ2aWNlQWNjb3VudCcsIHtcbiAgICAgICAgICAgIGFjY291bnRJZDogJ2F1dG9zY2FsZXItc2EnLFxuICAgICAgICB9KTtcblxuICAgICAgICBuZXcgUHJvamVjdElhbUN1c3RvbVJvbGUodGhpcywgJ2F1dG9zY2FsZXJSb2xlJywge1xuICAgICAgICAgICAgcm9sZUlkOiAnZ2hhQXV0b3NjYWxlclJvbGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdHSEEgQXV0b3NjYWxlciBSb2xlJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmdldCcsXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmxpc3QnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5ydW4nLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5jcmVhdGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5kZWxldGUnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlclBvbGljeU1lbWJlciA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnYXV0b3NjYWxlck1lbWJlcicsIGBzZXJ2aWNlQWNjb3VudDoke2F1dG9zY2FsZXJTYS5lbWFpbH1gKVxuXG4gICAgICAgIC8vIFRPRE86IHJlcGxhY2UgMiBmb2xsb3dpbmcgd2l0aCBtb3JlIHNwZWNpZmljIG9uZXMuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdhdXRvc2NhbGVyUm9sZUJpbmRpbmdSdW4nLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLmRldmVsb3BlcicsXG4gICAgICAgIH0pXG5cblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nU3RvcmFnZScsIHtcbiAgICAgICAgICAgIG1lbWJlcjogYXV0b3NjYWxlclBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6ICdyb2xlcy9zdG9yYWdlLmFkbWluJyxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nUnVuU2VydmljZUFnZW50Jywge1xuICAgICAgICAgICAgbWVtYmVyOiBhdXRvc2NhbGVyUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5zZXJ2aWNlQWdlbnQnLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBDbG91ZFJ1blNlcnZpY2UodGhpcywgJ2F1dG9zY2FsZXJTZXJ2aWNlJywge1xuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLWF1dG9zY2FsZXInLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL2luZ3Jlc3MnOiAnaW50ZXJuYWwnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnYXV0b3NjYWxpbmcua25hdGl2ZS5kZXYvbWF4U2NhbGUnOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYXV0b3NjYWxpbmcua25hdGl2ZS5kZXYvbWluU2NhbGUnOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL2NwdS10aHJvdHRsaW5nJzogJ2ZhbHNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdydW4uZ29vZ2xlYXBpcy5jb20vc3RhcnR1cC1jcHUtYm9vc3QnOiAnZmFsc2UnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwZWM6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyQ29uY3VycmVuY3k6IDEsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7cmVnaXN0cnkubG9jYXRpb259LWRvY2tlci5wa2cuZGV2LyR7cHJvamVjdH0vJHtyZWdpc3RyeS5yZXBvc2l0b3J5SWR9L2hpLWZpL2doYS1ydW5uZXJzLW9uLW1hbmFnZWQtZW52OnRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0dJVEhVQl9DT05GSUdfVVJMJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pPQl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJKb2IubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnU0NBTEVfU0VUX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjci1ydW5uZXItc2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ0xPVURTREtfUlVOX1JFR0lPTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0dPT0dMRV9DTE9VRF9QUk9KRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlcnZpY2Ugd291bGQgd29yayBmb3IgbXVjaCBsb3dlciwgYnV0IHRoZXNlIGFyZSBtaW5pbXVtIHZhbHVlcyBmb3IgXCJhbHdheXMgb25cIiBtb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1OiAnMTAwMG0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnNTEyTWknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYXV0b3NjYWxlclNhLmVtYWlsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cbiJdfQ==
249
+ _a = JSII_RTTI_SYMBOL_1;
250
+ Gcp[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Gcp", version: "0.0.2" };
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2NwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nY3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBdUM7QUFDdkMsMkNBQXVDO0FBQ3ZDLGtFQUFvRTtBQUNwRSwwR0FBcUc7QUFDckcsa0ZBQTRFO0FBQzVFLGdHQUEwRjtBQUMxRixnRkFBNEU7QUFDNUUsc0ZBQWlGO0FBQ2pGLDJDQUE4QztBQUM5QyxvRkFBK0U7QUFDL0UsZ0VBQWlFO0FBQ2pFLGdFQUE0RDtBQUU1RCxNQUFhLEdBQUksU0FBUSxzQkFBUztJQUM5QixZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUNwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztRQUVyQyxJQUFJLHlCQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUMvQixPQUFPO1lBQ1AsTUFBTSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUU5QixNQUFNLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLHlEQUEwQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDOUQsTUFBTSxFQUFFLFFBQVE7WUFDaEIsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLFdBQVcsRUFBRSwyREFBMkQ7WUFDeEUsc0JBQXNCLEVBQUU7Z0JBQ3BCLGdCQUFnQixFQUFFO29CQUNkLGdCQUFnQixFQUFFO3dCQUNkLEdBQUcsRUFBRSxpQkFBaUI7cUJBQ3pCO2lCQUNKO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFFSCxNQUFNLEtB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QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7aUNBQy9CO2dDQUNEO29DQUNJLElBQUksRUFBRSxVQUFVO29DQUNoQixLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUk7aUNBQ3hCO2dDQUNEO29DQUNJLElBQUksRUFBRSxnQkFBZ0I7b0NBQ3RCLEtBQUssRUFBRSxlQUFlO2lDQUN6QjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUscUJBQXFCO29DQUMzQixLQUFLLEVBQUUsUUFBUTtpQ0FDbEI7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLHNCQUFzQjtvQ0FDNUIsS0FBSyxFQUFFLE9BQU87aUNBQ2pCOzZCQUVKOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCx1RkFBdUY7Z0NBQ3ZGLE1BQU0sRUFBRTtvQ0FDSixHQUFHLEVBQUUsT0FBTztvQ0FDWixNQUFNLEVBQUUsT0FBTztpQ0FDbEI7NkJBQ0o7eUJBQ0o7cUJBQ0o7b0JBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEtBQUs7aUJBQ3pDO2FBQ0o7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOztBQTVQTCxrQkE2UEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXJyYWZvcm1Mb2NhbCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEdvb2dsZVByb3ZpZGVyIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvdmlkZXInXG5pbXBvcnQgeyBBcnRpZmFjdFJlZ2lzdHJ5UmVwb3NpdG9yeSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9hcnRpZmFjdC1yZWdpc3RyeS1yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBDbG91ZFJ1blYySm9iIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2Nsb3VkLXJ1bi12Mi1qb2JcIjtcbmltcG9ydCB7IFByb2plY3RJYW1DdXN0b21Sb2xlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL3Byb2plY3QtaWFtLWN1c3RvbS1yb2xlXCI7XG5pbXBvcnQgeyBTZXJ2aWNlQWNjb3VudCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9zZXJ2aWNlLWFjY291bnRcIjtcbmltcG9ydCB7IFByb2plY3RJYW1NZW1iZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvamVjdC1pYW0tbWVtYmVyXCI7XG5pbXBvcnQgeyBjb21tb25WYXJpYWJsZXMgfSBmcm9tIFwiLi92YXJpYWJsZXNcIjtcbmltcG9ydCB7IENsb3VkUnVuU2VydmljZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9jbG91ZC1ydW4tc2VydmljZVwiO1xuaW1wb3J0IHsgTnVsbFByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1udWxsL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItbnVsbC9saWIvcmVzb3VyY2UnXG5cbmV4cG9ydCBjbGFzcyBHY3AgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICBjb25zdCBsb2NhdGlvbiA9ICdldXJvcGUtbm9ydGgxJztcbiAgICAgICAgY29uc3QgcHJvamVjdCA9ICdnaGEtcnVubmVyLWV4YW1wbGUnO1xuICAgICAgICBcbiAgICAgICAgbmV3IEdvb2dsZVByb3ZpZGVyKHRoaXMsICdnb29nbGUnLCB7XG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcmVnaW9uOiBsb2NhdGlvblxuICAgICAgICB9KTtcblxuICAgICAgICBuZXcgTnVsbFByb3ZpZGVyKHRoaXMsICdudWxsJylcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSBuZXcgQXJ0aWZhY3RSZWdpc3RyeVJlcG9zaXRvcnkodGhpcywgJ3JlZ2lzdHJ5Jywge1xuICAgICAgICAgICAgZm9ybWF0OiAnRE9DS0VSJyxcbiAgICAgICAgICAgIG1vZGU6ICdSRU1PVEVfUkVQT1NJVE9SWScsXG4gICAgICAgICAgICByZXBvc2l0b3J5SWQ6ICdnaGEtcnVubmVyLXRlc3QnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZXBvc2l0b3J5IHRvIGhvc3QgcnVuIGFuZCByZXN1bHRpbmcgaW1hZ2VzIGZyb20gR0hBIHJ1bnMnLFxuICAgICAgICAgICAgcmVtb3RlUmVwb3NpdG9yeUNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGRvY2tlclJlcG9zaXRvcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUmVwb3NpdG9yeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJpOiAnaHR0cHM6Ly9naGNyLmlvJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBqb2JTYSA9IG5ldyBTZXJ2aWNlQWNjb3VudCh0aGlzLCAnam9iU2VydmljZUFjY291bnQnLCB7XG4gICAgICAgICAgICBhY2NvdW50SWQ6ICdnaGEtcnVubmVyLWpvYi1zYScsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclJvbGUgPSBuZXcgUHJvamVjdElhbUN1c3RvbVJvbGUodGhpcywgJ3J1bm5lclJvbGUnLCB7XG4gICAgICAgICAgICByb2xlSWQ6ICdnaGFSdW5uZXJSb2xlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnR0hBIFJ1bm5lciBSb2xlJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmdldCcsXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmxpc3QnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5ydW4nLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5jcmVhdGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5kZWxldGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5saXN0JyxcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIHdhaXRpbmdcbiAgICAgICAgICAgICAgICAncnVuLmV4ZWN1dGlvbnMuZ2V0JyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGpvYlBvbGljeU1lbWJlciA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnZ2hhTWVtYmVyJywgYHNlcnZpY2VBY2NvdW50OiR7am9iU2EuZW1haWx9YClcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAncnVubmVyUm9sZUJpbmRpbmcnLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGpvYlBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6IHJ1bm5lclJvbGUuaWQsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nU3RvcmFnZScsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3N0b3JhZ2UuYWRtaW4nLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZ1J1blNlcnZpY2VBZ2VudCcsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5zZXJ2aWNlQWdlbnQnLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZ1J1blZpZXdlcicsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi52aWV3ZXInLFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHN0b3JhZ2VOYW1lID0gJ2doYS1ydW5uZXItam9iLWV4dGVybmFscyc7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUJ1Y2tldCA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnYnVja2V0TW9kaWZpY2F0aW9uJywgYENMT1VEU0RLX0NPUkVfRElTQUJMRV9QUk9NUFRTPTEgZ2Nsb3VkIGFscGhhIHN0b3JhZ2UgYnVja2V0cyBjcmVhdGUgZ3M6Ly8ke3N0b3JhZ2VOYW1lfSAtLXByb2plY3Q9JHtwcm9qZWN0fSAtLWxvY2F0aW9uPSR7bG9jYXRpb259IC0tdW5pZm9ybS1idWNrZXQtbGV2ZWwtYWNjZXNzIC0tZW5hYmxlLWhpZXJhcmNoaWNhbC1uYW1lc3BhY2VgKVxuXG4gICAgICAgIC8vIEhpZXJhcmNoaWFsIG5hbWVzcGFjZXMgY2FuJ3QgYmUgZW5hYmxlZCB3aXRoIFRlcnJhZm9ybS5cbiAgICAgICAgY29uc3QgYnVja2V0Q3JlYXRpb24gPSBuZXcgUmVzb3VyY2UodGhpcywgJ2djbG91ZCcsIHtcbiAgICAgICAgICAgIHByb3Zpc2lvbmVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsb2NhbC1leGVjXCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IGNyZWF0ZUJ1Y2tldC5mcW5cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgICAgZnFuOiBjcmVhdGVCdWNrZXQuZnFuXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUT0RPOiBjaGVjayBjYWNoaW5nIGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9hcnRpZmFjdC1yZWdpc3RyeS9kb2NzL3B1bGwtY2FjaGVkLWRvY2tlcmh1Yi1pbWFnZXNcbiAgICAgICAgY29uc3QgcnVubmVySm9iID0gbmV3IENsb3VkUnVuVjJKb2IodGhpcywgJ2doYUpvYicsIHtcbiAgICAgICAgICAgIGRlbGV0aW9uUHJvdGVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1qb2InLFxuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7cmVnaXN0cnkubG9jYXRpb259LWRvY2tlci5wa2cuZGV2LyR7cHJvamVjdH0vJHtyZWdpc3RyeS5yZXBvc2l0b3J5SWR9L2hpLWZpL2FjdGlvbnMtcnVubmVyOmNyYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0NMT1VEU0RLX1JVTl9SRUdJT04nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnR09PR0xFX0NMT1VEX1BST0pFQ1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFWFRFUk5BTF9TVE9SQUdFX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN0b3JhZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGVVNFIG1vdW50cyBkaXJlY3RvcnkgYXMgcm9vdCB3aXRoIDc3NyBmbyBkaXJlY3RvcmllcyBhbmQgNTU1IGZvciBvdGhlciBmaWxlcy4gQXMgcGF0aCBpcyBvd25lZCBhbHdheXMgYnkgcm9vdCwgdXRpbWUgb3IgcGVybWlzc2lvbiBjaGFuZ2UgaXMgbm90IHBvc3NpYmxlLiBUaGVzZSBvcHRpb25zIHByZXZlbnQgdGFyIHRvIHRyeSB0aG9zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVEFSX09QVElPTlMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICctLXRvdWNoIC0tbm8tb3ZlcndyaXRlLWRpciAtLW5vLXNhbWUtb3duZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZU1vdW50czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50UGF0aDogJy9ob21lL3J1bm5lci9fd29yay9leHRlcm5hbHMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2hvbWUvcnVubmVyL2VwaGVtZXJhbF9ydW5uZXIuc2gnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHU6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeTogJzJHaSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHZvbHVtZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnY3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVja2V0OiBzdG9yYWdlTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgbWF4UmV0cmllczogMCxcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZUFjY291bnQ6IGpvYlNhLmVtYWlsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIGJ1Y2tldENyZWF0aW9uXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlclNhID0gbmV3IFNlcnZpY2VBY2NvdW50KHRoaXMsICdhdXRvc2NhbGVyU2VydmljZUFjY291bnQnLCB7XG4gICAgICAgICAgICBhY2NvdW50SWQ6ICdhdXRvc2NhbGVyLXNhJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1DdXN0b21Sb2xlKHRoaXMsICdhdXRvc2NhbGVyUm9sZScsIHtcbiAgICAgICAgICAgIHJvbGVJZDogJ2doYUF1dG9zY2FsZXJSb2xlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnR0hBIEF1dG9zY2FsZXIgUm9sZScsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgICdhcnRpZmFjdHJlZ2lzdHJ5LmRvY2tlcmltYWdlcy5nZXQnLFxuICAgICAgICAgICAgICAgICdhcnRpZmFjdHJlZ2lzdHJ5LmRvY2tlcmltYWdlcy5saXN0JyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMucnVuJyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMuY3JlYXRlJyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMuZGVsZXRlJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIgPSBuZXcgVGVycmFmb3JtTG9jYWwodGhpcywgJ2F1dG9zY2FsZXJNZW1iZXInLCBgc2VydmljZUFjY291bnQ6JHthdXRvc2NhbGVyU2EuZW1haWx9YClcblxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIDIgZm9sbG93aW5nIHdpdGggbW9yZSBzcGVjaWZpYyBvbmVzLlxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nUnVuJywge1xuICAgICAgICAgICAgbWVtYmVyOiBhdXRvc2NhbGVyUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5kZXZlbG9wZXInLFxuICAgICAgICB9KVxuXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ2F1dG9zY2FsZXJSb2xlQmluZGluZ1N0b3JhZ2UnLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvc3RvcmFnZS5hZG1pbicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ2F1dG9zY2FsZXJSb2xlQmluZGluZ1J1blNlcnZpY2VBZ2VudCcsIHtcbiAgICAgICAgICAgIG1lbWJlcjogYXV0b3NjYWxlclBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6ICdyb2xlcy9ydW4uc2VydmljZUFnZW50JyxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgQ2xvdWRSdW5TZXJ2aWNlKHRoaXMsICdhdXRvc2NhbGVyU2VydmljZScsIHtcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ2doYS1hdXRvc2NhbGVyJyxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ3J1bi5nb29nbGVhcGlzLmNvbS9pbmdyZXNzJzogJ2ludGVybmFsJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG9zY2FsaW5nLmtuYXRpdmUuZGV2L21heFNjYWxlJzogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG9zY2FsaW5nLmtuYXRpdmUuZGV2L21pblNjYWxlJzogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bi5nb29nbGVhcGlzLmNvbS9jcHUtdGhyb3R0bGluZyc6ICdmYWxzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL3N0YXJ0dXAtY3B1LWJvb3N0JzogJ2ZhbHNlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzcGVjOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckNvbmN1cnJlbmN5OiAxLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IGAke3JlZ2lzdHJ5LmxvY2F0aW9ufS1kb2NrZXIucGtnLmRldi8ke3Byb2plY3R9LyR7cmVnaXN0cnkucmVwb3NpdG9yeUlkfS9oaS1maS9naGEtcnVubmVycy1vbi1tYW5hZ2VkLWVudjp0ZXN0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1BBVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGF0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZ2l0aHViQ29uZmlnVXJsLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdKT0JfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcnVubmVySm9iLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NDQUxFX1NFVF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3ItcnVubmVyLXNldCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0NMT1VEU0RLX1JVTl9SRUdJT04nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHT09HTEVfQ0xPVURfUFJPSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXJ2aWNlIHdvdWxkIHdvcmsgZm9yIG11Y2ggbG93ZXIsIGJ1dCB0aGVzZSBhcmUgbWluaW11bSB2YWx1ZXMgZm9yIFwiYWx3YXlzIG9uXCIgbW9kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdTogJzEwMDBtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeTogJzUxMk1pJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGF1dG9zY2FsZXJTYS5lbWFpbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
@@ -8,13 +8,15 @@ function commonVariables(scope) {
8
8
  nullable: false,
9
9
  sensitive: true
10
10
  });
11
+ pat.overrideLogicalId('PAT');
11
12
  const githubConfigUrl = new cdktf_1.TerraformVariable(scope, 'github_config_url', {
12
13
  description: 'Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>',
13
14
  nullable: false,
14
15
  });
16
+ githubConfigUrl.overrideLogicalId('github_config_url');
15
17
  return {
16
18
  pat,
17
19
  githubConfigUrl
18
20
  };
19
21
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi92YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSwwQ0FnQkM7QUF4QkQsaUNBQTBDO0FBUTFDLFNBQWdCLGVBQWUsQ0FBQyxLQUFnQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLHlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxRQUFRLEVBQUUsS0FBSztRQUNmLFNBQVMsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLE1BQU0sZUFBZSxHQUFHLElBQUkseUJBQWlCLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1FBQ3RFLFdBQVcsRUFBRSxzR0FBc0c7UUFDbkgsUUFBUSxFQUFFLEtBQUs7S0FDbEIsQ0FBQyxDQUFBO0lBRUYsT0FBTztRQUNILEdBQUc7UUFDSCxlQUFlO0tBQ2xCLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVycmFmb3JtVmFyaWFibGUgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVzIHtcbiAgICBwYXQ6IFRlcnJhZm9ybVZhcmlhYmxlO1xuICAgIGdpdGh1YkNvbmZpZ1VybDogVGVycmFmb3JtVmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21tb25WYXJpYWJsZXMoc2NvcGU6IENvbnN0cnVjdCk6IFZhcmlhYmxlcyB7XG4gICAgY29uc3QgcGF0ID0gbmV3IFRlcnJhZm9ybVZhcmlhYmxlKHNjb3BlLCAnUEFUJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0dpdGh1YiBQQVQgd2l0aCBBY3Rpb25zOlJlYWQgYW5kIEFkbWluOlJlYWQrV3JpdGUgc2NvcGVzJyxcbiAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgICAgICBzZW5zaXRpdmU6IHRydWVcbiAgICB9KVxuXG4gICAgY29uc3QgZ2l0aHViQ29uZmlnVXJsID0gbmV3IFRlcnJhZm9ybVZhcmlhYmxlKHNjb3BlLCAnZ2l0aHViX2NvbmZpZ191cmwnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2l0aHViIFVSTCB3aGVyZSBydW5uZXJzIHNob3VsZCByZWdpc3RlciB0by4gRm9ybWF0IGh0dHBzOi8vPEdpdEh1YiBob3N0Pi88eW91cl9lbnRlcnByaXNlL29yZy9yZXBvPicsXG4gICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0LFxuICAgICAgICBnaXRodWJDb25maWdVcmxcbiAgICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi92YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSwwQ0FvQkM7QUE1QkQsaUNBQTBDO0FBUTFDLFNBQWdCLGVBQWUsQ0FBQyxLQUFnQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLHlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxRQUFRLEVBQUUsS0FBSztRQUNmLFNBQVMsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3QixNQUFNLGVBQWUsR0FBRyxJQUFJLHlCQUFpQixDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtRQUN0RSxXQUFXLEVBQUUsc0dBQXNHO1FBQ25ILFFBQVEsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXZELE9BQU87UUFDSCxHQUFHO1FBQ0gsZUFBZTtLQUNsQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlcnJhZm9ybVZhcmlhYmxlIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlcyB7XG4gICAgcGF0OiBUZXJyYWZvcm1WYXJpYWJsZTtcbiAgICBnaXRodWJDb25maWdVcmw6IFRlcnJhZm9ybVZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbW9uVmFyaWFibGVzKHNjb3BlOiBDb25zdHJ1Y3QpOiBWYXJpYWJsZXMge1xuICAgIGNvbnN0IHBhdCA9IG5ldyBUZXJyYWZvcm1WYXJpYWJsZShzY29wZSwgJ1BBVCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdHaXRodWIgUEFUIHdpdGggQWN0aW9uczpSZWFkIGFuZCBBZG1pbjpSZWFkK1dyaXRlIHNjb3BlcycsXG4gICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICAgICAgc2Vuc2l0aXZlOiB0cnVlXG4gICAgfSlcblxuICAgIHBhdC5vdmVycmlkZUxvZ2ljYWxJZCgnUEFUJyk7XG5cbiAgICBjb25zdCBnaXRodWJDb25maWdVcmwgPSBuZXcgVGVycmFmb3JtVmFyaWFibGUoc2NvcGUsICdnaXRodWJfY29uZmlnX3VybCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdHaXRodWIgVVJMIHdoZXJlIHJ1bm5lcnMgc2hvdWxkIHJlZ2lzdGVyIHRvLiBGb3JtYXQgaHR0cHM6Ly88R2l0SHViIGhvc3Q+Lzx5b3VyX2VudGVycHJpc2Uvb3JnL3JlcG8+JyxcbiAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgIH0pXG5cbiAgICBnaXRodWJDb25maWdVcmwub3ZlcnJpZGVMb2dpY2FsSWQoJ2dpdGh1Yl9jb25maWdfdXJsJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXQsXG4gICAgICAgIGdpdGh1YkNvbmZpZ1VybFxuICAgIH1cbn1cbiJdfQ==
package/main.tf ADDED
@@ -0,0 +1,26 @@
1
+ locals {
2
+ is_ecs = upper(var.runner_platform) == "ECS" ? 1: 0
3
+ is_aca = upper(var.runner_platform) == "ACA" ? 1: 0
4
+ is_cr = upper(var.runner_platform) == "GCR" ? 1: 0
5
+ }
6
+
7
+ module "ecs" {
8
+ count = local.is_ecs
9
+ source = "./modules/elastic-container-service"
10
+ PAT = var.PAT
11
+ github_config_url = var.github_config_url
12
+ }
13
+
14
+ module "aca" {
15
+ count = local.is_aca
16
+ source = "./modules/azure-container-apps"
17
+ PAT = var.PAT
18
+ github_config_url = var.github_config_url
19
+ }
20
+
21
+ module "gcr" {
22
+ count = local.is_cr
23
+ source = "./modules/google-cloud-run"
24
+ PAT = var.PAT
25
+ github_config_url = var.github_config_url
26
+ }
@@ -64,9 +64,9 @@ No modules.
64
64
 
65
65
  | Name | Description | Type | Default | Required |
66
66
  |------|-------------|------|---------|:--------:|
67
- | <a name="input_aca_PAT_B54A3B25"></a> [aca\_PAT\_B54A3B25](#input\_aca\_PAT\_B54A3B25) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
68
- | <a name="input_aca_github_config_url_7230B339"></a> [aca\_github\_config\_url\_7230B339](#input\_aca\_github\_config\_url\_7230B339) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
67
+ | <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
69
68
  | <a name="input_aca_location_486B7D73"></a> [aca\_location\_486B7D73](#input\_aca\_location\_486B7D73) | Location where to provision resources to | `string` | `"westeurope"` | no |
69
+ | <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
70
70
 
71
71
  ## Outputs
72
72
 
@@ -329,7 +329,7 @@
329
329
  "secret": [
330
330
  {
331
331
  "name": "pat",
332
- "value": "${var.aca_PAT_B54A3B25}"
332
+ "value": "${var.PAT}"
333
333
  }
334
334
  ],
335
335
  "template": {
@@ -343,7 +343,7 @@
343
343
  },
344
344
  {
345
345
  "name": "GITHUB_CONFIG_URL",
346
- "value": "${var.aca_github_config_url_7230B339}"
346
+ "value": "${var.github_config_url}"
347
347
  },
348
348
  {
349
349
  "name": "AZURE_TENANT_ID",
@@ -615,21 +615,21 @@
615
615
  }
616
616
  },
617
617
  "variable": {
618
- "aca_PAT_B54A3B25": {
618
+ "PAT": {
619
619
  "description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
620
620
  "nullable": false,
621
621
  "sensitive": true
622
622
  },
623
- "aca_github_config_url_7230B339": {
624
- "description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
625
- "nullable": false
626
- },
627
623
  "aca_location_486B7D73": {
628
624
  "default": "westeurope",
629
625
  "description": "Location where to provision resources to",
630
626
  "nullable": false,
631
627
  "sensitive": false,
632
628
  "type": "string"
629
+ },
630
+ "github_config_url": {
631
+ "description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
632
+ "nullable": false
633
633
  }
634
634
  }
635
635
  }
@@ -57,8 +57,8 @@ No modules.
57
57
 
58
58
  | Name | Description | Type | Default | Required |
59
59
  |------|-------------|------|---------|:--------:|
60
- | <a name="input_aws_PAT_4017AC3F"></a> [aws\_PAT\_4017AC3F](#input\_aws\_PAT\_4017AC3F) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
61
- | <a name="input_aws_github_config_url_BFDD14B2"></a> [aws\_github\_config\_url\_BFDD14B2](#input\_aws\_github\_config\_url\_BFDD14B2) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
60
+ | <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
61
+ | <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
62
62
 
63
63
  ## Outputs
64
64
 
@@ -115,7 +115,7 @@
115
115
  "uniqueId": "aws_AutoscalerTaskDefinition_24A76F67"
116
116
  }
117
117
  },
118
- "container_definitions": "${jsonencode([{\"name\" = \"autoscaler\", \"image\" = \"ghcr.io/hi-fi/gha-runners-on-managed-env:test\", \"essential\" = true, \"environment\" = [{\"name\" = \"PAT\", \"value\" = var.aws_PAT_4017AC3F}, {\"name\" = \"GITHUB_CONFIG_URL\", \"value\" = var.aws_github_config_url_BFDD14B2}, {\"name\" = \"TASK_DEFINITION_ARN\", \"value\" = aws_ecs_task_definition.aws_RunnerTaskDefinition_9C7563BE.arn}, {\"name\" = \"ECS_CLUSTER\", \"value\" = aws_ecs_cluster.aws_Cluster_BA268616.arn}, {\"name\" = \"ECS_SUBNETS\", \"value\" = join(\",\", data.aws_subnets.aws_Subnets_75E5377D.ids)}, {\"name\" = \"ECS_SECURITY_GROUPS\", \"value\" = join(\",\", data.aws_security_groups.aws_SecurityGroups_BAABB08D.ids)}, {\"name\" = \"SCALE_SET_NAME\", \"value\" = \"ecs-runner-set\"}], \"logConfiguration\" = {\"logDriver\" = \"awslogs\", \"options\" = {\"awslogs-group\" = aws_cloudwatch_log_group.aws_AutoscalerLogGroup_BFE58053.name, \"awslogs-region\" = data.aws_region.aws_Region_7477CA06.name, \"awslogs-stream-prefix\" = \"ecs\"}}}])}",
118
+ "container_definitions": "${jsonencode([{\"name\" = \"autoscaler\", \"image\" = \"ghcr.io/hi-fi/gha-runners-on-managed-env:test\", \"essential\" = true, \"environment\" = [{\"name\" = \"PAT\", \"value\" = var.PAT}, {\"name\" = \"GITHUB_CONFIG_URL\", \"value\" = var.github_config_url}, {\"name\" = \"TASK_DEFINITION_ARN\", \"value\" = aws_ecs_task_definition.aws_RunnerTaskDefinition_9C7563BE.arn}, {\"name\" = \"ECS_CLUSTER\", \"value\" = aws_ecs_cluster.aws_Cluster_BA268616.arn}, {\"name\" = \"ECS_SUBNETS\", \"value\" = join(\",\", data.aws_subnets.aws_Subnets_75E5377D.ids)}, {\"name\" = \"ECS_SECURITY_GROUPS\", \"value\" = join(\",\", data.aws_security_groups.aws_SecurityGroups_BAABB08D.ids)}, {\"name\" = \"SCALE_SET_NAME\", \"value\" = \"ecs-runner-set\"}], \"logConfiguration\" = {\"logDriver\" = \"awslogs\", \"options\" = {\"awslogs-group\" = aws_cloudwatch_log_group.aws_AutoscalerLogGroup_BFE58053.name, \"awslogs-region\" = data.aws_region.aws_Region_7477CA06.name, \"awslogs-stream-prefix\" = \"ecs\"}}}])}",
119
119
  "cpu": "256",
120
120
  "execution_role_arn": "${aws_iam_role.aws_TaskExecutionRole_FAB64402.arn}",
121
121
  "family": "Autoscaler",
@@ -301,12 +301,12 @@
301
301
  }
302
302
  },
303
303
  "variable": {
304
- "aws_PAT_4017AC3F": {
304
+ "PAT": {
305
305
  "description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
306
306
  "nullable": false,
307
307
  "sensitive": true
308
308
  },
309
- "aws_github_config_url_BFDD14B2": {
309
+ "github_config_url": {
310
310
  "description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
311
311
  "nullable": false
312
312
  }
@@ -53,8 +53,8 @@ No modules.
53
53
 
54
54
  | Name | Description | Type | Default | Required |
55
55
  |------|-------------|------|---------|:--------:|
56
- | <a name="input_cr_PAT_DD795492"></a> [cr\_PAT\_DD795492](#input\_cr\_PAT\_DD795492) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
57
- | <a name="input_cr_github_config_url_9957B21B"></a> [cr\_github\_config\_url\_9957B21B](#input\_cr\_github\_config\_url\_9957B21B) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
56
+ | <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
57
+ | <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
58
58
 
59
59
  ## Outputs
60
60
 
@@ -66,11 +66,11 @@
66
66
  "env": [
67
67
  {
68
68
  "name": "PAT",
69
- "value": "${var.cr_PAT_DD795492}"
69
+ "value": "${var.PAT}"
70
70
  },
71
71
  {
72
72
  "name": "GITHUB_CONFIG_URL",
73
- "value": "${var.cr_github_config_url_9957B21B}"
73
+ "value": "${var.github_config_url}"
74
74
  },
75
75
  {
76
76
  "name": "JOB_NAME",
@@ -342,12 +342,12 @@
342
342
  }
343
343
  },
344
344
  "variable": {
345
- "cr_PAT_DD795492": {
345
+ "PAT": {
346
346
  "description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
347
347
  "nullable": false,
348
348
  "sensitive": true
349
349
  },
350
- "cr_github_config_url_9957B21B": {
350
+ "github_config_url": {
351
351
  "description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
352
352
  "nullable": false
353
353
  }
package/package.json CHANGED
@@ -91,7 +91,7 @@
91
91
  "publishConfig": {
92
92
  "access": "public"
93
93
  },
94
- "version": "0.0.1",
94
+ "version": "0.0.2",
95
95
  "jest": {
96
96
  "coverageProvider": "v8",
97
97
  "testMatch": [
@@ -0,0 +1,188 @@
1
+ // Code generated with Gemini
2
+
3
+ import * as fs from 'fs';
4
+ import * as path from 'path';
5
+
6
+ interface VariableDefinition {
7
+ name: string;
8
+ description: string;
9
+ submodules: string[];
10
+ customInfo?: Record<string, any>;
11
+ }
12
+
13
+ interface SubmoduleVariables {
14
+ [submodulePath: string]: VariableDefinition[];
15
+ }
16
+
17
+ const ROOT_DIR = '.';
18
+ const OUTPUT_FILE = 'variables.tf';
19
+ const VARIABLE_FILE_NAME = 'cdk.tf.json';
20
+ const GENERATED_COMMENT_START = '# Variables generated by terraform-variable-collector start';
21
+ const GENERATED_COMMENT_END = '# Variables generated by terraform-variable-collector end';
22
+
23
+ /**
24
+ * Extracts variable definitions from a cdk.tf.json file.
25
+ */
26
+ function extractVariables(filePath: string): VariableDefinition[] {
27
+ try {
28
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
29
+ const jsonData = JSON.parse(fileContent);
30
+
31
+ if (!jsonData.variable || typeof jsonData.variable !== 'object') {
32
+ return [];
33
+ }
34
+
35
+ const variables: VariableDefinition[] = [];
36
+ for (const varName in jsonData.variable) {
37
+ if (jsonData.variable.hasOwnProperty(varName)) {
38
+ const varConfig = jsonData.variable[varName];
39
+ if (typeof varConfig === 'object' && varConfig !== null) {
40
+ const description = typeof varConfig.description === 'string' ? varConfig.description : 'No description provided.';
41
+ const customInfo = varConfig.customInfo ? varConfig.customInfo : {};
42
+ variables.push({ name: varName, description, submodules: [], customInfo });
43
+ }
44
+ }
45
+ }
46
+ return variables;
47
+ } catch (error) {
48
+ console.error(`Error processing file: ${filePath}`, error);
49
+ return [];
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Recursively searches for cdk.tf.json files within the "modules" subdirectory.
55
+ */
56
+ function findSubmoduleVariables(dir: string): SubmoduleVariables {
57
+ const submoduleVariables: SubmoduleVariables = {};
58
+ const modulesDir = path.join(dir, 'modules');
59
+
60
+ if (!fs.existsSync(modulesDir)) {
61
+ console.warn(`Warning: 'modules' directory not found at ${modulesDir}. No variables will be collected.`);
62
+ return {};
63
+ }
64
+
65
+ function walk(currentDir: string) {
66
+ const files = fs.readdirSync(currentDir);
67
+ for (const file of files) {
68
+ const filePath = path.join(currentDir, file);
69
+ const stat = fs.statSync(filePath);
70
+
71
+ if (stat.isDirectory()) {
72
+ walk(filePath);
73
+ } else if (file === VARIABLE_FILE_NAME) {
74
+ const submodulePath = path.relative(modulesDir, currentDir);
75
+ if (submodulePath) {
76
+ const variables = extractVariables(filePath);
77
+ if (variables.length > 0) {
78
+ submoduleVariables[submodulePath] = variables;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ walk(modulesDir);
86
+ return submoduleVariables;
87
+ }
88
+
89
+ /**
90
+ * Generates the content for the root module's variables.tf file, combining
91
+ * similarly named variables. It uses the description from the first
92
+ * occurrence of the variable. It now updates an existing file, preserving
93
+ * content outside of the generated variable block.
94
+ */
95
+ function generateRootVariablesTf(collectedVariables: SubmoduleVariables): void {
96
+ let existingContent = '';
97
+ if (fs.existsSync(OUTPUT_FILE)) {
98
+ existingContent = fs.readFileSync(OUTPUT_FILE, 'utf-8');
99
+ }
100
+
101
+ let outputContent = `${GENERATED_COMMENT_START}\n`;
102
+ const combinedVariables: { [name: string]: VariableDefinition } = {};
103
+
104
+ for (const submodulePath in collectedVariables) {
105
+ if (collectedVariables.hasOwnProperty(submodulePath)) {
106
+ const variables = collectedVariables[submodulePath];
107
+ for (const variable of variables) {
108
+ if (combinedVariables[variable.name]) {
109
+ // Variable name already exists, so combine, but keep original description
110
+ combinedVariables[variable.name].submodules.push(`modules/${submodulePath}`);
111
+ } else {
112
+ // Variable name doesn't exist, so add it
113
+ combinedVariables[variable.name] = {
114
+ ...variable,
115
+ submodules: [`modules/${submodulePath}`],
116
+ };
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ for (const varName in combinedVariables) {
123
+ if (combinedVariables.hasOwnProperty(varName)) {
124
+ const variable = combinedVariables[varName];
125
+ const submoduleList = variable.submodules.join(', ');
126
+ outputContent += `variable "${varName}" {\n`;
127
+ outputContent += ` type = any\n`;
128
+ outputContent += ` description = "${variable.description} (Defined in: ${submoduleList})"\n`;
129
+ if (variable.customInfo && Object.keys(variable.customInfo).length > 0) {
130
+ outputContent += ` # Custom Information:\n`;
131
+ for (const key in variable.customInfo) {
132
+ if (variable.customInfo.hasOwnProperty(key)) {
133
+ const value = variable.customInfo[key];
134
+ outputContent += ` # ${key} = ${JSON.stringify(value)}\n`;
135
+ }
136
+ }
137
+ }
138
+ outputContent += `}\n\n`;
139
+ }
140
+ }
141
+ outputContent += `${GENERATED_COMMENT_END}\n`;
142
+
143
+ // Use regular expressions to find and replace the generated block
144
+ const startMarkerRegex = new RegExp(GENERATED_COMMENT_START.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
145
+ const endMarkerRegex = new RegExp(GENERATED_COMMENT_END.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
146
+ const existingGeneratedBlockRegex = new RegExp(
147
+ `${startMarkerRegex.source}[\\s\\S]*${endMarkerRegex.source}`,
148
+ 'g',
149
+ );
150
+
151
+ let updatedContent: string;
152
+ if (existingGeneratedBlockRegex.test(existingContent)) {
153
+ // Replace the existing generated block with the new content
154
+ updatedContent = existingContent.replace(existingGeneratedBlockRegex, outputContent);
155
+ } else {
156
+ // Append the generated block to the end of the file, or create a new file
157
+ updatedContent = existingContent + outputContent;
158
+ }
159
+
160
+ fs.writeFileSync(OUTPUT_FILE, updatedContent);
161
+ console.log(
162
+ `Generated (or updated) root module's ${OUTPUT_FILE} with combined variables, preserving existing content.`,
163
+ );
164
+ console.log('Review and adjust the types and other attributes as needed.');
165
+ }
166
+
167
+ function main(): void {
168
+ const collectedVars = findSubmoduleVariables(ROOT_DIR);
169
+
170
+ if (Object.keys(collectedVars).length > 0) {
171
+ console.log('Collected variables from submodules:');
172
+ for (const submodulePath in collectedVars) {
173
+ if (collectedVars.hasOwnProperty(submodulePath)) {
174
+ console.log(` Submodule: modules/${submodulePath}`);
175
+ const variables = collectedVars[submodulePath];
176
+ for (const varDef of variables) {
177
+ console.log(` - Name: ${varDef.name}, Description: ${varDef.description}`);
178
+ }
179
+ }
180
+ }
181
+ generateRootVariablesTf(collectedVars);
182
+ } else {
183
+ console.log('No submodules with cdk.tf.json files found in the "modules" directory.');
184
+ }
185
+ }
186
+
187
+ main();
188
+
package/variables.tf ADDED
@@ -0,0 +1,27 @@
1
+ variable "runner_platform" {
2
+ nullable = false
3
+ type = string
4
+ description = "Runner platform hosting ARC and runners. Possible values ACA (Azure Container Apps), ECS (Elastic Container Service) and GCR (Google Cloud Run)"
5
+ validation {
6
+ condition = can(regex("^(ACA|ECR|GCR)$", upper(var.runner_platform)))
7
+ error_message = "Runner platform has to be either ACA, ECR or GCR (case insensitive)."
8
+ }
9
+ }
10
+
11
+ # Variables generated by terraform-variable-collector start
12
+ variable "PAT" {
13
+ type = any
14
+ description = "Github PAT with Actions:Read and Admin:Read+Write scopes (Defined in: modules/azure-container-apps, modules/elastic-container-service, modules/google-cloud-run)"
15
+ }
16
+
17
+ variable "aca_location_486B7D73" {
18
+ type = any
19
+ description = "Location where to provision resources to (Defined in: modules/azure-container-apps)"
20
+ }
21
+
22
+ variable "github_config_url" {
23
+ type = any
24
+ description = "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo> (Defined in: modules/azure-container-apps, modules/elastic-container-service, modules/google-cloud-run)"
25
+ }
26
+
27
+ # Variables generated by terraform-variable-collector end