@macedon-technologies/batman 1.9.2 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +19 -112
- package/API.md +51 -10
- package/lib/BatmanProject.js +4 -132
- package/lib/BootcampApplication.js +3 -3
- package/lib/BootcampApplicationStackFile.js +14 -6
- package/lib/BootcampBaseApplicationStackFile.d.ts +5 -0
- package/lib/BootcampBaseApplicationStackFile.js +200 -0
- package/lib/BootcampProject.d.ts +3 -25
- package/lib/BootcampProject.js +6 -133
- package/lib/CodeOwnersFile.js +1 -1
- package/lib/ProductionDeployWorkflow.js +1 -1
- package/lib/StagingDeployWorkflow.js +1 -1
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +132 -1
- package/package.json +8 -8
package/.jsii
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"constructs": "
|
|
11
|
-
"projen": "^0.
|
|
10
|
+
"constructs": "10.4.3",
|
|
11
|
+
"projen": "^0.99.18"
|
|
12
12
|
},
|
|
13
13
|
"dependencyClosure": {
|
|
14
14
|
"constructs": {
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"projen.javascript": {},
|
|
52
52
|
"projen.javascript.biome_config": {},
|
|
53
53
|
"projen.python": {},
|
|
54
|
+
"projen.python.uvConfig": {},
|
|
54
55
|
"projen.release": {},
|
|
55
56
|
"projen.typescript": {},
|
|
56
57
|
"projen.vscode": {},
|
|
@@ -82,7 +83,7 @@
|
|
|
82
83
|
"stability": "stable"
|
|
83
84
|
},
|
|
84
85
|
"homepage": "https://github.com/macedon-technologies/platform-common",
|
|
85
|
-
"jsiiVersion": "5.
|
|
86
|
+
"jsiiVersion": "5.9.31 (build 550e607)",
|
|
86
87
|
"license": "Apache-2.0",
|
|
87
88
|
"metadata": {
|
|
88
89
|
"jsii": {
|
|
@@ -155,7 +156,7 @@
|
|
|
155
156
|
},
|
|
156
157
|
"locationInModule": {
|
|
157
158
|
"filename": "src/BatmanProject.ts",
|
|
158
|
-
"line":
|
|
159
|
+
"line": 45
|
|
159
160
|
},
|
|
160
161
|
"parameters": [
|
|
161
162
|
{
|
|
@@ -169,7 +170,7 @@
|
|
|
169
170
|
"kind": "class",
|
|
170
171
|
"locationInModule": {
|
|
171
172
|
"filename": "src/BatmanProject.ts",
|
|
172
|
-
"line":
|
|
173
|
+
"line": 44
|
|
173
174
|
},
|
|
174
175
|
"name": "BatmanProject",
|
|
175
176
|
"symbolId": "src/BatmanProject:BatmanProject"
|
|
@@ -187,7 +188,7 @@
|
|
|
187
188
|
"kind": "interface",
|
|
188
189
|
"locationInModule": {
|
|
189
190
|
"filename": "src/BatmanProject.ts",
|
|
190
|
-
"line":
|
|
191
|
+
"line": 10
|
|
191
192
|
},
|
|
192
193
|
"name": "BatmanProjectOptions",
|
|
193
194
|
"properties": [
|
|
@@ -200,7 +201,7 @@
|
|
|
200
201
|
"immutable": true,
|
|
201
202
|
"locationInModule": {
|
|
202
203
|
"filename": "src/BatmanProject.ts",
|
|
203
|
-
"line":
|
|
204
|
+
"line": 15
|
|
204
205
|
},
|
|
205
206
|
"name": "dev",
|
|
206
207
|
"type": {
|
|
@@ -216,7 +217,7 @@
|
|
|
216
217
|
"immutable": true,
|
|
217
218
|
"locationInModule": {
|
|
218
219
|
"filename": "src/BatmanProject.ts",
|
|
219
|
-
"line":
|
|
220
|
+
"line": 25
|
|
220
221
|
},
|
|
221
222
|
"name": "prod",
|
|
222
223
|
"type": {
|
|
@@ -232,7 +233,7 @@
|
|
|
232
233
|
"immutable": true,
|
|
233
234
|
"locationInModule": {
|
|
234
235
|
"filename": "src/BatmanProject.ts",
|
|
235
|
-
"line":
|
|
236
|
+
"line": 20
|
|
236
237
|
},
|
|
237
238
|
"name": "staging",
|
|
238
239
|
"type": {
|
|
@@ -248,7 +249,7 @@
|
|
|
248
249
|
"immutable": true,
|
|
249
250
|
"locationInModule": {
|
|
250
251
|
"filename": "src/BatmanProject.ts",
|
|
251
|
-
"line":
|
|
252
|
+
"line": 35
|
|
252
253
|
},
|
|
253
254
|
"name": "additionalCodeOwners",
|
|
254
255
|
"optional": true,
|
|
@@ -270,7 +271,7 @@
|
|
|
270
271
|
"immutable": true,
|
|
271
272
|
"locationInModule": {
|
|
272
273
|
"filename": "src/BatmanProject.ts",
|
|
273
|
-
"line":
|
|
274
|
+
"line": 30
|
|
274
275
|
},
|
|
275
276
|
"name": "additionalTags",
|
|
276
277
|
"optional": true,
|
|
@@ -292,7 +293,7 @@
|
|
|
292
293
|
"immutable": true,
|
|
293
294
|
"locationInModule": {
|
|
294
295
|
"filename": "src/BatmanProject.ts",
|
|
295
|
-
"line":
|
|
296
|
+
"line": 40
|
|
296
297
|
},
|
|
297
298
|
"name": "websiteDeps",
|
|
298
299
|
"optional": true,
|
|
@@ -321,7 +322,7 @@
|
|
|
321
322
|
},
|
|
322
323
|
"locationInModule": {
|
|
323
324
|
"filename": "src/BootcampProject.ts",
|
|
324
|
-
"line":
|
|
325
|
+
"line": 17
|
|
325
326
|
},
|
|
326
327
|
"parameters": [
|
|
327
328
|
{
|
|
@@ -335,7 +336,7 @@
|
|
|
335
336
|
"kind": "class",
|
|
336
337
|
"locationInModule": {
|
|
337
338
|
"filename": "src/BootcampProject.ts",
|
|
338
|
-
"line":
|
|
339
|
+
"line": 16
|
|
339
340
|
},
|
|
340
341
|
"name": "BootcampProject",
|
|
341
342
|
"symbolId": "src/BootcampProject:BootcampProject"
|
|
@@ -348,108 +349,14 @@
|
|
|
348
349
|
},
|
|
349
350
|
"fqn": "@macedon-technologies/batman.BootcampProjectOptions",
|
|
350
351
|
"interfaces": [
|
|
351
|
-
"
|
|
352
|
+
"@macedon-technologies/batman.BatmanProjectOptions"
|
|
352
353
|
],
|
|
353
354
|
"kind": "interface",
|
|
354
355
|
"locationInModule": {
|
|
355
356
|
"filename": "src/BootcampProject.ts",
|
|
356
|
-
"line":
|
|
357
|
+
"line": 12
|
|
357
358
|
},
|
|
358
359
|
"name": "BootcampProjectOptions",
|
|
359
|
-
"properties": [
|
|
360
|
-
{
|
|
361
|
-
"abstract": true,
|
|
362
|
-
"docs": {
|
|
363
|
-
"stability": "stable",
|
|
364
|
-
"summary": "Development environment configuration."
|
|
365
|
-
},
|
|
366
|
-
"immutable": true,
|
|
367
|
-
"locationInModule": {
|
|
368
|
-
"filename": "src/BootcampProject.ts",
|
|
369
|
-
"line": 16
|
|
370
|
-
},
|
|
371
|
-
"name": "dev",
|
|
372
|
-
"type": {
|
|
373
|
-
"fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
|
|
374
|
-
}
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"abstract": true,
|
|
378
|
-
"docs": {
|
|
379
|
-
"stability": "stable",
|
|
380
|
-
"summary": "Production environment configuration."
|
|
381
|
-
},
|
|
382
|
-
"immutable": true,
|
|
383
|
-
"locationInModule": {
|
|
384
|
-
"filename": "src/BootcampProject.ts",
|
|
385
|
-
"line": 26
|
|
386
|
-
},
|
|
387
|
-
"name": "prod",
|
|
388
|
-
"type": {
|
|
389
|
-
"fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
|
|
390
|
-
}
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
"abstract": true,
|
|
394
|
-
"docs": {
|
|
395
|
-
"stability": "stable",
|
|
396
|
-
"summary": "Development environment configuration."
|
|
397
|
-
},
|
|
398
|
-
"immutable": true,
|
|
399
|
-
"locationInModule": {
|
|
400
|
-
"filename": "src/BootcampProject.ts",
|
|
401
|
-
"line": 21
|
|
402
|
-
},
|
|
403
|
-
"name": "staging",
|
|
404
|
-
"type": {
|
|
405
|
-
"fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
|
|
406
|
-
}
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
"abstract": true,
|
|
410
|
-
"docs": {
|
|
411
|
-
"stability": "stable",
|
|
412
|
-
"summary": "Additional code owners to add to the CODEOWNERS file."
|
|
413
|
-
},
|
|
414
|
-
"immutable": true,
|
|
415
|
-
"locationInModule": {
|
|
416
|
-
"filename": "src/BootcampProject.ts",
|
|
417
|
-
"line": 36
|
|
418
|
-
},
|
|
419
|
-
"name": "additionalCodeOwners",
|
|
420
|
-
"optional": true,
|
|
421
|
-
"type": {
|
|
422
|
-
"collection": {
|
|
423
|
-
"elementtype": {
|
|
424
|
-
"primitive": "string"
|
|
425
|
-
},
|
|
426
|
-
"kind": "array"
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
},
|
|
430
|
-
{
|
|
431
|
-
"abstract": true,
|
|
432
|
-
"docs": {
|
|
433
|
-
"stability": "stable",
|
|
434
|
-
"summary": "Additional tags to apply to all stacks."
|
|
435
|
-
},
|
|
436
|
-
"immutable": true,
|
|
437
|
-
"locationInModule": {
|
|
438
|
-
"filename": "src/BootcampProject.ts",
|
|
439
|
-
"line": 31
|
|
440
|
-
},
|
|
441
|
-
"name": "additionalTags",
|
|
442
|
-
"optional": true,
|
|
443
|
-
"type": {
|
|
444
|
-
"collection": {
|
|
445
|
-
"elementtype": {
|
|
446
|
-
"primitive": "string"
|
|
447
|
-
},
|
|
448
|
-
"kind": "map"
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
],
|
|
453
360
|
"symbolId": "src/BootcampProject:BootcampProjectOptions"
|
|
454
361
|
},
|
|
455
362
|
"@macedon-technologies/batman.CodeOwnersFile": {
|
|
@@ -918,6 +825,6 @@
|
|
|
918
825
|
"symbolId": "src/StagingDeployWorkflow:StagingDeployWorkflowOptions"
|
|
919
826
|
}
|
|
920
827
|
},
|
|
921
|
-
"version": "1.
|
|
922
|
-
"fingerprint": "
|
|
828
|
+
"version": "1.11.0",
|
|
829
|
+
"fingerprint": "dI7da4faGdKKiA8IsjHZL1rRzkeVJYzQRQpqSM9rMVo="
|
|
923
830
|
}
|
package/API.md
CHANGED
|
@@ -4504,6 +4504,7 @@ const batmanProjectOptions: BatmanProjectOptions = { ... }
|
|
|
4504
4504
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.logging">logging</a></code> | <code>projen.LoggerOptions</code> | Configure logging options such as verbosity. |
|
|
4505
4505
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.outdir">outdir</a></code> | <code>string</code> | The root directory of the project. |
|
|
4506
4506
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
|
|
4507
|
+
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
|
|
4507
4508
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
|
|
4508
4509
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.projenrcJson">projenrcJson</a></code> | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
|
|
4509
4510
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.projenrcJsonOptions">projenrcJsonOptions</a></code> | <code>projen.ProjenrcJsonOptions</code> | Options for .projenrc.json. |
|
|
@@ -4595,7 +4596,7 @@ const batmanProjectOptions: BatmanProjectOptions = { ... }
|
|
|
4595
4596
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
|
|
4596
4597
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
|
|
4597
4598
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
|
|
4598
|
-
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if
|
|
4599
|
+
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
|
|
4599
4600
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.biome">biome</a></code> | <code>boolean</code> | Setup Biome. |
|
|
4600
4601
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.biomeOptions">biomeOptions</a></code> | <code>projen.javascript.BiomeOptions</code> | Biome options. |
|
|
4601
4602
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.buildWorkflow">buildWorkflow</a></code> | <code>boolean</code> | Define a GitHub workflow for building PRs. |
|
|
@@ -4779,6 +4780,19 @@ The parent project, if this project is part of a bigger project.
|
|
|
4779
4780
|
|
|
4780
4781
|
---
|
|
4781
4782
|
|
|
4783
|
+
##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="@macedon-technologies/batman.BatmanProjectOptions.property.projectTree"></a>
|
|
4784
|
+
|
|
4785
|
+
```typescript
|
|
4786
|
+
public readonly projectTree: boolean;
|
|
4787
|
+
```
|
|
4788
|
+
|
|
4789
|
+
- *Type:* boolean
|
|
4790
|
+
- *Default:* false
|
|
4791
|
+
|
|
4792
|
+
Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
|
|
4793
|
+
|
|
4794
|
+
---
|
|
4795
|
+
|
|
4782
4796
|
##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="@macedon-technologies/batman.BatmanProjectOptions.property.projenCommand"></a>
|
|
4783
4797
|
|
|
4784
4798
|
```typescript
|
|
@@ -6164,7 +6178,7 @@ public readonly autoApproveUpgrades: boolean;
|
|
|
6164
6178
|
- *Type:* boolean
|
|
6165
6179
|
- *Default:* true
|
|
6166
6180
|
|
|
6167
|
-
Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if
|
|
6181
|
+
Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
|
|
6168
6182
|
|
|
6169
6183
|
Throw if set to true but `autoApproveOptions` are not defined.
|
|
6170
6184
|
|
|
@@ -6350,7 +6364,7 @@ public readonly depsUpgrade: boolean;
|
|
|
6350
6364
|
```
|
|
6351
6365
|
|
|
6352
6366
|
- *Type:* boolean
|
|
6353
|
-
- *Default:* true
|
|
6367
|
+
- *Default:* `true` for root projects, `false` for subprojects
|
|
6354
6368
|
|
|
6355
6369
|
Use tasks and github workflows to handle dependency upgrades.
|
|
6356
6370
|
|
|
@@ -7027,7 +7041,7 @@ public readonly cdkVersion: string;
|
|
|
7027
7041
|
```
|
|
7028
7042
|
|
|
7029
7043
|
- *Type:* string
|
|
7030
|
-
- *Default:* "2.1
|
|
7044
|
+
- *Default:* "2.189.1"
|
|
7031
7045
|
|
|
7032
7046
|
Minimum version of the AWS CDK to depend on.
|
|
7033
7047
|
|
|
@@ -7156,7 +7170,7 @@ public readonly constructsVersion: string;
|
|
|
7156
7170
|
```
|
|
7157
7171
|
|
|
7158
7172
|
- *Type:* string
|
|
7159
|
-
- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.
|
|
7173
|
+
- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.5.1".
|
|
7160
7174
|
|
|
7161
7175
|
Minimum version of the `constructs` library to depend on.
|
|
7162
7176
|
|
|
@@ -7358,6 +7372,7 @@ const bootcampProjectOptions: BootcampProjectOptions = { ... }
|
|
|
7358
7372
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.logging">logging</a></code> | <code>projen.LoggerOptions</code> | Configure logging options such as verbosity. |
|
|
7359
7373
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.outdir">outdir</a></code> | <code>string</code> | The root directory of the project. |
|
|
7360
7374
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
|
|
7375
|
+
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
|
|
7361
7376
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
|
|
7362
7377
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.projenrcJson">projenrcJson</a></code> | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
|
|
7363
7378
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.projenrcJsonOptions">projenrcJsonOptions</a></code> | <code>projen.ProjenrcJsonOptions</code> | Options for .projenrc.json. |
|
|
@@ -7449,7 +7464,7 @@ const bootcampProjectOptions: BootcampProjectOptions = { ... }
|
|
|
7449
7464
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
|
|
7450
7465
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
|
|
7451
7466
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
|
|
7452
|
-
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if
|
|
7467
|
+
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
|
|
7453
7468
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.biome">biome</a></code> | <code>boolean</code> | Setup Biome. |
|
|
7454
7469
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.biomeOptions">biomeOptions</a></code> | <code>projen.javascript.BiomeOptions</code> | Biome options. |
|
|
7455
7470
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.buildWorkflow">buildWorkflow</a></code> | <code>boolean</code> | Define a GitHub workflow for building PRs. |
|
|
@@ -7535,6 +7550,7 @@ const bootcampProjectOptions: BootcampProjectOptions = { ... }
|
|
|
7535
7550
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.staging">staging</a></code> | <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig">ApplicationEnvironmentConfig</a></code> | Development environment configuration. |
|
|
7536
7551
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalCodeOwners">additionalCodeOwners</a></code> | <code>string[]</code> | Additional code owners to add to the CODEOWNERS file. |
|
|
7537
7552
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to apply to all stacks. |
|
|
7553
|
+
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps">websiteDeps</a></code> | <code>string[]</code> | Website dependencies. |
|
|
7538
7554
|
|
|
7539
7555
|
---
|
|
7540
7556
|
|
|
@@ -7632,6 +7648,19 @@ The parent project, if this project is part of a bigger project.
|
|
|
7632
7648
|
|
|
7633
7649
|
---
|
|
7634
7650
|
|
|
7651
|
+
##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="@macedon-technologies/batman.BootcampProjectOptions.property.projectTree"></a>
|
|
7652
|
+
|
|
7653
|
+
```typescript
|
|
7654
|
+
public readonly projectTree: boolean;
|
|
7655
|
+
```
|
|
7656
|
+
|
|
7657
|
+
- *Type:* boolean
|
|
7658
|
+
- *Default:* false
|
|
7659
|
+
|
|
7660
|
+
Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
|
|
7661
|
+
|
|
7662
|
+
---
|
|
7663
|
+
|
|
7635
7664
|
##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="@macedon-technologies/batman.BootcampProjectOptions.property.projenCommand"></a>
|
|
7636
7665
|
|
|
7637
7666
|
```typescript
|
|
@@ -9017,7 +9046,7 @@ public readonly autoApproveUpgrades: boolean;
|
|
|
9017
9046
|
- *Type:* boolean
|
|
9018
9047
|
- *Default:* true
|
|
9019
9048
|
|
|
9020
|
-
Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if
|
|
9049
|
+
Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
|
|
9021
9050
|
|
|
9022
9051
|
Throw if set to true but `autoApproveOptions` are not defined.
|
|
9023
9052
|
|
|
@@ -9203,7 +9232,7 @@ public readonly depsUpgrade: boolean;
|
|
|
9203
9232
|
```
|
|
9204
9233
|
|
|
9205
9234
|
- *Type:* boolean
|
|
9206
|
-
- *Default:* true
|
|
9235
|
+
- *Default:* `true` for root projects, `false` for subprojects
|
|
9207
9236
|
|
|
9208
9237
|
Use tasks and github workflows to handle dependency upgrades.
|
|
9209
9238
|
|
|
@@ -9880,7 +9909,7 @@ public readonly cdkVersion: string;
|
|
|
9880
9909
|
```
|
|
9881
9910
|
|
|
9882
9911
|
- *Type:* string
|
|
9883
|
-
- *Default:* "2.1
|
|
9912
|
+
- *Default:* "2.189.1"
|
|
9884
9913
|
|
|
9885
9914
|
Minimum version of the AWS CDK to depend on.
|
|
9886
9915
|
|
|
@@ -10009,7 +10038,7 @@ public readonly constructsVersion: string;
|
|
|
10009
10038
|
```
|
|
10010
10039
|
|
|
10011
10040
|
- *Type:* string
|
|
10012
|
-
- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.
|
|
10041
|
+
- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.5.1".
|
|
10013
10042
|
|
|
10014
10043
|
Minimum version of the `constructs` library to depend on.
|
|
10015
10044
|
|
|
@@ -10178,6 +10207,18 @@ Additional tags to apply to all stacks.
|
|
|
10178
10207
|
|
|
10179
10208
|
---
|
|
10180
10209
|
|
|
10210
|
+
##### `websiteDeps`<sup>Optional</sup> <a name="websiteDeps" id="@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps"></a>
|
|
10211
|
+
|
|
10212
|
+
```typescript
|
|
10213
|
+
public readonly websiteDeps: string[];
|
|
10214
|
+
```
|
|
10215
|
+
|
|
10216
|
+
- *Type:* string[]
|
|
10217
|
+
|
|
10218
|
+
Website dependencies.
|
|
10219
|
+
|
|
10220
|
+
---
|
|
10221
|
+
|
|
10181
10222
|
### CodeOwnersFileOptions <a name="CodeOwnersFileOptions" id="@macedon-technologies/batman.CodeOwnersFileOptions"></a>
|
|
10182
10223
|
|
|
10183
10224
|
#### Initializer <a name="Initializer" id="@macedon-technologies/batman.CodeOwnersFileOptions.Initializer"></a>
|
package/lib/BatmanProject.js
CHANGED
|
@@ -9,6 +9,7 @@ const Application_1 = require("./Application");
|
|
|
9
9
|
const CodeOwnersFile_1 = require("./CodeOwnersFile");
|
|
10
10
|
const DataDogAspectFile_1 = require("./DataDogAspectFile");
|
|
11
11
|
const GitHubRolesFile_1 = require("./GitHubRolesFile");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
12
13
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
13
14
|
class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
14
15
|
constructor(options) {
|
|
@@ -65,136 +66,7 @@ class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
65
66
|
},
|
|
66
67
|
},
|
|
67
68
|
readme: {
|
|
68
|
-
contents:
|
|
69
|
-
`# ${options.name}`,
|
|
70
|
-
'',
|
|
71
|
-
'This project was bootstrapped with [Batman](https://github.com/macedon-technologies/platform-common).',
|
|
72
|
-
'',
|
|
73
|
-
'## What Batman Created',
|
|
74
|
-
'',
|
|
75
|
-
'### CDK Infrastructure (`src/`)',
|
|
76
|
-
'',
|
|
77
|
-
'| File | Description |',
|
|
78
|
-
'|------|-------------|',
|
|
79
|
-
'| `src/main.ts` | CDK app entry point — instantiates dev, staging, and prod `ApplicationStack`s |',
|
|
80
|
-
'| `src/LocalDevApp.ts` | Local development CDK app — used by `yarn cdk:dev` |',
|
|
81
|
-
'| `src/GitHubRoles.ts` | CDK app for deploying the GitHub OIDC IAM role (one-time bootstrap) |',
|
|
82
|
-
'| `src/stacks/ApplicationStack.ts` | Your primary stack — extend it to add resources |',
|
|
83
|
-
'| `src/stacks/BaseApplicationStack.ts` | Base stack with VPC, API, static website, Datadog, and Route 53 wired up |',
|
|
84
|
-
'| `src/stacks/GitHubRolesStack.ts` | IAM role stack for GitHub Actions OIDC authentication |',
|
|
85
|
-
'| `src/constructs/Api.ts` | API Gateway + Lambda construct with Clerk JWT authorizer |',
|
|
86
|
-
'| `src/constructs/StaticWebsite.ts` | CloudFront + S3 + ACM + Route 53 construct |',
|
|
87
|
-
'| `src/constructs/handler/Api.Function.ts` | Lambda handler entry point |',
|
|
88
|
-
'| `src/aspects/DataDogAspect.ts` | CDK aspect that wires all Lambda functions to Datadog |',
|
|
89
|
-
'',
|
|
90
|
-
'### Frontend (`web/`)',
|
|
91
|
-
'',
|
|
92
|
-
'| File | Description |',
|
|
93
|
-
'|------|-------------|',
|
|
94
|
-
'| `web/src/main.tsx` | React app entry point with Clerk and React Query providers |',
|
|
95
|
-
'| `web/src/App.tsx` | Root application component |',
|
|
96
|
-
'| `web/src/App.css` / `web/src/index.css` | Base stylesheets (Tailwind CSS v4) |',
|
|
97
|
-
'| `web/src/config.ts` | `useConfig()` hook — loads runtime config from `config.json` |',
|
|
98
|
-
'| `web/src/services/BaseService.ts` | `useBaseQuery()` — authenticated API fetch hook |',
|
|
99
|
-
'| `web/src/services/RootService.ts` | Example service using `useBaseQuery` |',
|
|
100
|
-
'| `web/public/config.json` | Runtime config (API base URL, Clerk publishable key) |',
|
|
101
|
-
'',
|
|
102
|
-
'### GitHub Actions Workflows (`.github/workflows/`)',
|
|
103
|
-
'',
|
|
104
|
-
'| File | Trigger |',
|
|
105
|
-
'|------|---------|',
|
|
106
|
-
'| `pr-deploy.yml` | On pull request open/update — deploys a per-PR dev stack |',
|
|
107
|
-
'| `pr-cleanup.yml` | On pull request close — tears down the per-PR dev stack |',
|
|
108
|
-
'| `staging-deploy.yml` | On push to `main` — deploys to staging |',
|
|
109
|
-
'| `production-deploy.yml` | Manually triggered — deploys to production |',
|
|
110
|
-
'',
|
|
111
|
-
'---',
|
|
112
|
-
'',
|
|
113
|
-
'## Files You Can Edit',
|
|
114
|
-
'',
|
|
115
|
-
'These files are generated once and never overwritten by Batman. Modify them freely.',
|
|
116
|
-
'',
|
|
117
|
-
'| File | What to do with it |',
|
|
118
|
-
'|------|--------------------|',
|
|
119
|
-
'| `src/stacks/ApplicationStack.ts` | **Start here.** Add CDK constructs to build your infrastructure |',
|
|
120
|
-
'| `src/constructs/Api.ts` | Extend the API — add Lambda integrations, routes, or override methods |',
|
|
121
|
-
'| `src/constructs/StaticWebsite.ts` | Customize CloudFront behaviors, S3 settings, or deployment options |',
|
|
122
|
-
'| `src/constructs/handler/Api.Function.ts` | Implement your Lambda handler logic |',
|
|
123
|
-
'| `src/stacks/GitHubRolesStack.ts` | Add IAM permissions needed by GitHub Actions |',
|
|
124
|
-
'| `src/main.ts` | Adjust stack instantiation or add additional stacks |',
|
|
125
|
-
'| `web/src/App.tsx` | Build your UI here |',
|
|
126
|
-
'| `web/src/App.css` / `web/src/index.css` | Style your application |',
|
|
127
|
-
'| `web/src/main.tsx` | Adjust top-level providers or routing |',
|
|
128
|
-
'| `web/src/services/RootService.ts` | Add or replace API service hooks |',
|
|
129
|
-
'| `web/public/config.json` | Update for local development (API URL, Clerk key) |',
|
|
130
|
-
'',
|
|
131
|
-
'## Files You Cannot Edit',
|
|
132
|
-
'',
|
|
133
|
-
'These files are **managed by Batman** and will be overwritten every time `npx projen` runs. Do not edit them directly — make changes in `.projenrc.ts` instead.',
|
|
134
|
-
'',
|
|
135
|
-
'> [!IMPORTANT]',
|
|
136
|
-
'> If you have ANY changes you want to make to these files, notify #team-batman on Slack. ',
|
|
137
|
-
'> We maintain these files as part of the core Batman experience, and your feedback is crucial to ensure they meet your needs.',
|
|
138
|
-
'',
|
|
139
|
-
'| File | Why it\'s managed |',
|
|
140
|
-
'|------|-----------------|',
|
|
141
|
-
'| `src/stacks/BaseApplicationStack.ts` | Core stack wiring — updated with Batman releases |',
|
|
142
|
-
'| `src/aspects/DataDogAspect.ts` | Datadog CDK aspect |',
|
|
143
|
-
'| `web/vite.config.ts` | Vite configuration |',
|
|
144
|
-
'| `web/eslint.config.js` | ESLint configuration |',
|
|
145
|
-
'| `web/postcss.config.js` | PostCSS / Tailwind configuration |',
|
|
146
|
-
'| `web/index.html` | HTML entry point |',
|
|
147
|
-
'| `web/tsconfig.json` / `web/tsconfig.app.json` / `web/tsconfig.node.json` | TypeScript configuration |',
|
|
148
|
-
'| `web/src/vite-env.d.ts` | Vite type declarations |',
|
|
149
|
-
'| `web/src/config.ts` | Runtime config hook — shape driven by `.projenrc.ts` |',
|
|
150
|
-
'| `web/src/services/BaseService.ts` | Base authenticated fetch hook |',
|
|
151
|
-
'| `.github/CODEOWNERS` | Code ownership policy |',
|
|
152
|
-
'| `.github/workflows/*.yml` | All CI/CD workflows |',
|
|
153
|
-
'',
|
|
154
|
-
'> **Tip:** Files with a `~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". ~~` header are managed files.',
|
|
155
|
-
'',
|
|
156
|
-
'---',
|
|
157
|
-
'',
|
|
158
|
-
'## Where to Start',
|
|
159
|
-
'',
|
|
160
|
-
'1. **`src/stacks/ApplicationStack.ts`** — Add your CDK constructs here. The base stack already provides `this.api`, `this.vpc`, `this.hostedZone`, and `this.datadog` as protected properties.',
|
|
161
|
-
'',
|
|
162
|
-
'2. **`web/`** — Build your frontend. Start with `web/src/App.tsx` and add services alongside `web/src/services/RootService.ts`.',
|
|
163
|
-
'',
|
|
164
|
-
'3. **`src/constructs/handler/Api.Function.ts`** — Implement your backend Lambda handler logic here.',
|
|
165
|
-
'',
|
|
166
|
-
'---',
|
|
167
|
-
'',
|
|
168
|
-
'## Development Workflow',
|
|
169
|
-
'',
|
|
170
|
-
'```bash',
|
|
171
|
-
'# Install dependencies',
|
|
172
|
-
'yarn install',
|
|
173
|
-
'',
|
|
174
|
-
'# Start local dev server (backend Lambda + Vite frontend in parallel)',
|
|
175
|
-
'yarn dev',
|
|
176
|
-
'',
|
|
177
|
-
'# Deploy a personal dev stack to AWS',
|
|
178
|
-
'yarn cdk:dev --context local-dev-prefix=your-handle deploy',
|
|
179
|
-
'',
|
|
180
|
-
'# Run tests',
|
|
181
|
-
'yarn test',
|
|
182
|
-
'',
|
|
183
|
-
'# Re-synthesize project files after editing .projenrc.ts',
|
|
184
|
-
'npx projen',
|
|
185
|
-
'```',
|
|
186
|
-
'',
|
|
187
|
-
'---',
|
|
188
|
-
'',
|
|
189
|
-
'## Upgrading Batman',
|
|
190
|
-
'',
|
|
191
|
-
'```bash',
|
|
192
|
-
'yarn add @macedon-technologies/batman@latest',
|
|
193
|
-
'npx projen',
|
|
194
|
-
'```',
|
|
195
|
-
'',
|
|
196
|
-
'This updates all managed files to the latest Batman standards. Your editable sample files are never touched.',
|
|
197
|
-
].join('\n'),
|
|
69
|
+
contents: (0, utils_1.readmeContents)(options.name),
|
|
198
70
|
},
|
|
199
71
|
});
|
|
200
72
|
// Create standard project files
|
|
@@ -244,5 +116,5 @@ class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
244
116
|
}
|
|
245
117
|
exports.BatmanProject = BatmanProject;
|
|
246
118
|
_a = JSII_RTTI_SYMBOL_1;
|
|
247
|
-
BatmanProject[_a] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0bWFuUHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXRtYW5Qcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQW9GO0FBQ3BGLDhDQUFzRDtBQUN0RCwrQ0FBMEU7QUFDMUUscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQseURBQXNEO0FBb0N0RCxNQUFhLGFBQWMsU0FBUSw0QkFBbUI7SUFDcEQsWUFBWSxPQUE2QjtRQUN2QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQzNDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsS0FBSztZQUNwQixJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLFdBQVc7Z0JBQ1gsSUFBSTtnQkFDSixxQkFBcUI7Z0JBQ3JCLHNCQUFzQjtnQkFDdEIsMkJBQTJCO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLG1DQUFtQztnQkFDbkMsY0FBYztnQkFDZCxpQ0FBaUM7Z0JBQ2pDLFNBQVM7Z0JBQ1QsaUJBQWlCO2dCQUNqQixHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTthQUN0QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxxQkFBcUI7Z0JBQ3JCLFNBQVM7Z0JBQ1QsY0FBYztnQkFDZCxxQ0FBcUM7Z0JBQ3JDLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO2FBQ3pCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULG1EQUFtRDtnQkFDbkQsY0FBYztnQkFDZCxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRTthQUMzQjtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLE9BQU8sQ0FBQyxR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RSxJQUFJO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEQsU0FBUyxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFlBQVksQ0FDaEIsZ0ZBQWdGLEVBQ2hGLFNBQVMsQ0FBQyxVQUFVLENBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxFQUFFLGdGQUFnRjtZQUN0RixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFHTCxDQUFDOztBQXJQSCxzQ0FzUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwLCBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQXBwbGljYXRpb24sIEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWcgfSBmcm9tICcuL0FwcGxpY2F0aW9uJztcbmltcG9ydCB7IENvZGVPd25lcnNGaWxlIH0gZnJvbSAnLi9Db2RlT3duZXJzRmlsZSc7XG5pbXBvcnQgeyBEYXRhRG9nQXNwZWN0RmlsZSB9IGZyb20gJy4vRGF0YURvZ0FzcGVjdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc0ZpbGUnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmF0bWFuUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRldjogQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZztcblxuICAvKipcbiAgICogRGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2luZzogQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZztcblxuICAvKipcbiAgICogUHJvZHVjdGlvbiBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBwcm9kOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHRhZ3MgdG8gYXBwbHkgdG8gYWxsIHN0YWNrc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbFRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvZGUgb3duZXJzIHRvIGFkZCB0byB0aGUgQ09ERU9XTkVSUyBmaWxlXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ29kZU93bmVycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXZWJzaXRlIGRlcGVuZGVuY2llc1xuICAgKi9cbiAgcmVhZG9ubHkgd2Vic2l0ZURlcHM/OiBzdHJpbmdbXTtcbn1cblxuXG5leHBvcnQgY2xhc3MgQmF0bWFuUHJvamVjdCBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCYXRtYW5Qcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gfHwgJzIuMjI0LjAnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggfHwgJ21haW4nLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgICAnQHR5cGVzL2V4cHJlc3MnLFxuICAgICAgICAnQHR5cGVzL3BnJyxcbiAgICAgICAgJ3BnJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL3Jkcy1zaWduZXInLFxuICAgICAgICAnQG1hdHRoZXdib25pZy9zZWNyZXQnLFxuICAgICAgICAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MicsXG4gICAgICAgICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnLFxuICAgICAgICAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzJyxcbiAgICAgICAgJ2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJyxcbiAgICAgICAgJ2V4cHJlc3MnLFxuICAgICAgICAnc2VydmVybGVzcy1odHRwJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGRldkRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9qc29ud2VidG9rZW4nLFxuICAgICAgICAnbm9kZW1vbicsXG4gICAgICAgICdjb25jdXJyZW50bHknLFxuICAgICAgICAnQG1hY2Vkb24tdGVjaG5vbG9naWVzL2JhdG1hbkBeMS4wLjAnLFxuICAgICAgICAuLi5vcHRpb25zLmRldkRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZ2l0aWdub3JlOiBbXG4gICAgICAgICdzcmMvY29uc3RydWN0cy9oYW5kbGVyL2NsZXJrLWF1dGhvcml6ZXIvdGFyZ2V0LyoqJyxcbiAgICAgICAgJyoqLy5EU19TdG9yZScsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aWdub3JlIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgIC4uLm9wdGlvbnMudHNjb25maWcsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiB8fCAnMjInLFxuICAgICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogW1xuICAgICAgICAgIGAjICR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ1RoaXMgcHJvamVjdCB3YXMgYm9vdHN0cmFwcGVkIHdpdGggW0JhdG1hbl0oaHR0cHM6Ly9naXRodWIuY29tL21hY2Vkb24tdGVjaG5vbG9naWVzL3BsYXRmb3JtLWNvbW1vbikuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMgV2hhdCBCYXRtYW4gQ3JlYXRlZCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIyBDREsgSW5mcmFzdHJ1Y3R1cmUgKGBzcmMvYCknLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICd8IEZpbGUgfCBEZXNjcmlwdGlvbiB8JyxcbiAgICAgICAgICAnfC0tLS0tLXwtLS0tLS0tLS0tLS0tfCcsXG4gICAgICAgICAgJ3wgYHNyYy9tYWluLnRzYCB8IENESyBhcHAgZW50cnkgcG9pbnQg4oCUIGluc3RhbnRpYXRlcyBkZXYsIHN0YWdpbmcsIGFuZCBwcm9kIGBBcHBsaWNhdGlvblN0YWNrYHMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9Mb2NhbERldkFwcC50c2AgfCBMb2NhbCBkZXZlbG9wbWVudCBDREsgYXBwIOKAlCB1c2VkIGJ5IGB5YXJuIGNkazpkZXZgIHwnLFxuICAgICAgICAgICd8IGBzcmMvR2l0SHViUm9sZXMudHNgIHwgQ0RLIGFwcCBmb3IgZGVwbG95aW5nIHRoZSBHaXRIdWIgT0lEQyBJQU0gcm9sZSAob25lLXRpbWUgYm9vdHN0cmFwKSB8JyxcbiAgICAgICAgICAnfCBgc3JjL3N0YWNrcy9BcHBsaWNhdGlvblN0YWNrLnRzYCB8IFlvdXIgcHJpbWFyeSBzdGFjayDigJQgZXh0ZW5kIGl0IHRvIGFkZCByZXNvdXJjZXMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9zdGFja3MvQmFzZUFwcGxpY2F0aW9uU3RhY2sudHNgIHwgQmFzZSBzdGFjayB3aXRoIFZQQywgQVBJLCBzdGF0aWMgd2Vic2l0ZSwgRGF0YWRvZywgYW5kIFJvdXRlIDUzIHdpcmVkIHVwIHwnLFxuICAgICAgICAgICd8IGBzcmMvc3RhY2tzL0dpdEh1YlJvbGVzU3RhY2sudHNgIHwgSUFNIHJvbGUgc3RhY2sgZm9yIEdpdEh1YiBBY3Rpb25zIE9JREMgYXV0aGVudGljYXRpb24gfCcsXG4gICAgICAgICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL0FwaS50c2AgfCBBUEkgR2F0ZXdheSArIExhbWJkYSBjb25zdHJ1Y3Qgd2l0aCBDbGVyayBKV1QgYXV0aG9yaXplciB8JyxcbiAgICAgICAgICAnfCBgc3JjL2NvbnN0cnVjdHMvU3RhdGljV2Vic2l0ZS50c2AgfCBDbG91ZEZyb250ICsgUzMgKyBBQ00gKyBSb3V0ZSA1MyBjb25zdHJ1Y3QgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvQXBpLkZ1bmN0aW9uLnRzYCB8IExhbWJkYSBoYW5kbGVyIGVudHJ5IHBvaW50IHwnLFxuICAgICAgICAgICd8IGBzcmMvYXNwZWN0cy9EYXRhRG9nQXNwZWN0LnRzYCB8IENESyBhc3BlY3QgdGhhdCB3aXJlcyBhbGwgTGFtYmRhIGZ1bmN0aW9ucyB0byBEYXRhZG9nIHwnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyMgRnJvbnRlbmQgKGB3ZWIvYCknLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICd8IEZpbGUgfCBEZXNjcmlwdGlvbiB8JyxcbiAgICAgICAgICAnfC0tLS0tLXwtLS0tLS0tLS0tLS0tfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvbWFpbi50c3hgIHwgUmVhY3QgYXBwIGVudHJ5IHBvaW50IHdpdGggQ2xlcmsgYW5kIFJlYWN0IFF1ZXJ5IHByb3ZpZGVycyB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9BcHAudHN4YCB8IFJvb3QgYXBwbGljYXRpb24gY29tcG9uZW50IHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL0FwcC5jc3NgIC8gYHdlYi9zcmMvaW5kZXguY3NzYCB8IEJhc2Ugc3R5bGVzaGVldHMgKFRhaWx3aW5kIENTUyB2NCkgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvY29uZmlnLnRzYCB8IGB1c2VDb25maWcoKWAgaG9vayDigJQgbG9hZHMgcnVudGltZSBjb25maWcgZnJvbSBgY29uZmlnLmpzb25gIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL3NlcnZpY2VzL0Jhc2VTZXJ2aWNlLnRzYCB8IGB1c2VCYXNlUXVlcnkoKWAg4oCUIGF1dGhlbnRpY2F0ZWQgQVBJIGZldGNoIGhvb2sgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvc2VydmljZXMvUm9vdFNlcnZpY2UudHNgIHwgRXhhbXBsZSBzZXJ2aWNlIHVzaW5nIGB1c2VCYXNlUXVlcnlgIHwnLFxuICAgICAgICAgICd8IGB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCB8IFJ1bnRpbWUgY29uZmlnIChBUEkgYmFzZSBVUkwsIENsZXJrIHB1Ymxpc2hhYmxlIGtleSkgfCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIyBHaXRIdWIgQWN0aW9ucyBXb3JrZmxvd3MgKGAuZ2l0aHViL3dvcmtmbG93cy9gKScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ3wgRmlsZSB8IFRyaWdnZXIgfCcsXG4gICAgICAgICAgJ3wtLS0tLS18LS0tLS0tLS0tfCcsXG4gICAgICAgICAgJ3wgYHByLWRlcGxveS55bWxgIHwgT24gcHVsbCByZXF1ZXN0IG9wZW4vdXBkYXRlIOKAlCBkZXBsb3lzIGEgcGVyLVBSIGRldiBzdGFjayB8JyxcbiAgICAgICAgICAnfCBgcHItY2xlYW51cC55bWxgIHwgT24gcHVsbCByZXF1ZXN0IGNsb3NlIOKAlCB0ZWFycyBkb3duIHRoZSBwZXItUFIgZGV2IHN0YWNrIHwnLFxuICAgICAgICAgICd8IGBzdGFnaW5nLWRlcGxveS55bWxgIHwgT24gcHVzaCB0byBgbWFpbmAg4oCUIGRlcGxveXMgdG8gc3RhZ2luZyB8JyxcbiAgICAgICAgICAnfCBgcHJvZHVjdGlvbi1kZXBsb3kueW1sYCB8IE1hbnVhbGx5IHRyaWdnZXJlZCDigJQgZGVwbG95cyB0byBwcm9kdWN0aW9uIHwnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICctLS0nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyBGaWxlcyBZb3UgQ2FuIEVkaXQnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdUaGVzZSBmaWxlcyBhcmUgZ2VuZXJhdGVkIG9uY2UgYW5kIG5ldmVyIG92ZXJ3cml0dGVuIGJ5IEJhdG1hbi4gTW9kaWZ5IHRoZW0gZnJlZWx5LicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ3wgRmlsZSB8IFdoYXQgdG8gZG8gd2l0aCBpdCB8JyxcbiAgICAgICAgICAnfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLXwnLFxuICAgICAgICAgICd8IGBzcmMvc3RhY2tzL0FwcGxpY2F0aW9uU3RhY2sudHNgIHwgKipTdGFydCBoZXJlLioqIEFkZCBDREsgY29uc3RydWN0cyB0byBidWlsZCB5b3VyIGluZnJhc3RydWN0dXJlIHwnLFxuICAgICAgICAgICd8IGBzcmMvY29uc3RydWN0cy9BcGkudHNgIHwgRXh0ZW5kIHRoZSBBUEkg4oCUIGFkZCBMYW1iZGEgaW50ZWdyYXRpb25zLCByb3V0ZXMsIG9yIG92ZXJyaWRlIG1ldGhvZHMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL1N0YXRpY1dlYnNpdGUudHNgIHwgQ3VzdG9taXplIENsb3VkRnJvbnQgYmVoYXZpb3JzLCBTMyBzZXR0aW5ncywgb3IgZGVwbG95bWVudCBvcHRpb25zIHwnLFxuICAgICAgICAgICd8IGBzcmMvY29uc3RydWN0cy9oYW5kbGVyL0FwaS5GdW5jdGlvbi50c2AgfCBJbXBsZW1lbnQgeW91ciBMYW1iZGEgaGFuZGxlciBsb2dpYyB8JyxcbiAgICAgICAgICAnfCBgc3JjL3N0YWNrcy9HaXRIdWJSb2xlc1N0YWNrLnRzYCB8IEFkZCBJQU0gcGVybWlzc2lvbnMgbmVlZGVkIGJ5IEdpdEh1YiBBY3Rpb25zIHwnLFxuICAgICAgICAgICd8IGBzcmMvbWFpbi50c2AgfCBBZGp1c3Qgc3RhY2sgaW5zdGFudGlhdGlvbiBvciBhZGQgYWRkaXRpb25hbCBzdGFja3MgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvQXBwLnRzeGAgfCBCdWlsZCB5b3VyIFVJIGhlcmUgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvQXBwLmNzc2AgLyBgd2ViL3NyYy9pbmRleC5jc3NgIHwgU3R5bGUgeW91ciBhcHBsaWNhdGlvbiB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9tYWluLnRzeGAgfCBBZGp1c3QgdG9wLWxldmVsIHByb3ZpZGVycyBvciByb3V0aW5nIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL3NlcnZpY2VzL1Jvb3RTZXJ2aWNlLnRzYCB8IEFkZCBvciByZXBsYWNlIEFQSSBzZXJ2aWNlIGhvb2tzIHwnLFxuICAgICAgICAgICd8IGB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCB8IFVwZGF0ZSBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQgKEFQSSBVUkwsIENsZXJrIGtleSkgfCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIEZpbGVzIFlvdSBDYW5ub3QgRWRpdCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ1RoZXNlIGZpbGVzIGFyZSAqKm1hbmFnZWQgYnkgQmF0bWFuKiogYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4gZXZlcnkgdGltZSBgbnB4IHByb2plbmAgcnVucy4gRG8gbm90IGVkaXQgdGhlbSBkaXJlY3RseSDigJQgbWFrZSBjaGFuZ2VzIGluIGAucHJvamVucmMudHNgIGluc3RlYWQuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnPiBbIUlNUE9SVEFOVF0nLFxuICAgICAgICAgICc+IElmIHlvdSBoYXZlIEFOWSBjaGFuZ2VzIHlvdSB3YW50IHRvIG1ha2UgdG8gdGhlc2UgZmlsZXMsIG5vdGlmeSAjdGVhbS1iYXRtYW4gb24gU2xhY2suICcsXG4gICAgICAgICAgJz4gV2UgbWFpbnRhaW4gdGhlc2UgZmlsZXMgYXMgcGFydCBvZiB0aGUgY29yZSBCYXRtYW4gZXhwZXJpZW5jZSwgYW5kIHlvdXIgZmVlZGJhY2sgaXMgY3J1Y2lhbCB0byBlbnN1cmUgdGhleSBtZWV0IHlvdXIgbmVlZHMuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnfCBGaWxlIHwgV2h5IGl0XFwncyBtYW5hZ2VkIHwnLFxuICAgICAgICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tfCcsXG4gICAgICAgICAgJ3wgYHNyYy9zdGFja3MvQmFzZUFwcGxpY2F0aW9uU3RhY2sudHNgIHwgQ29yZSBzdGFjayB3aXJpbmcg4oCUIHVwZGF0ZWQgd2l0aCBCYXRtYW4gcmVsZWFzZXMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9hc3BlY3RzL0RhdGFEb2dBc3BlY3QudHNgIHwgRGF0YWRvZyBDREsgYXNwZWN0IHwnLFxuICAgICAgICAgICd8IGB3ZWIvdml0ZS5jb25maWcudHNgIHwgVml0ZSBjb25maWd1cmF0aW9uIHwnLFxuICAgICAgICAgICd8IGB3ZWIvZXNsaW50LmNvbmZpZy5qc2AgfCBFU0xpbnQgY29uZmlndXJhdGlvbiB8JyxcbiAgICAgICAgICAnfCBgd2ViL3Bvc3Rjc3MuY29uZmlnLmpzYCB8IFBvc3RDU1MgLyBUYWlsd2luZCBjb25maWd1cmF0aW9uIHwnLFxuICAgICAgICAgICd8IGB3ZWIvaW5kZXguaHRtbGAgfCBIVE1MIGVudHJ5IHBvaW50IHwnLFxuICAgICAgICAgICd8IGB3ZWIvdHNjb25maWcuanNvbmAgLyBgd2ViL3RzY29uZmlnLmFwcC5qc29uYCAvIGB3ZWIvdHNjb25maWcubm9kZS5qc29uYCB8IFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy92aXRlLWVudi5kLnRzYCB8IFZpdGUgdHlwZSBkZWNsYXJhdGlvbnMgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvY29uZmlnLnRzYCB8IFJ1bnRpbWUgY29uZmlnIGhvb2sg4oCUIHNoYXBlIGRyaXZlbiBieSBgLnByb2plbnJjLnRzYCB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9zZXJ2aWNlcy9CYXNlU2VydmljZS50c2AgfCBCYXNlIGF1dGhlbnRpY2F0ZWQgZmV0Y2ggaG9vayB8JyxcbiAgICAgICAgICAnfCBgLmdpdGh1Yi9DT0RFT1dORVJTYCB8IENvZGUgb3duZXJzaGlwIHBvbGljeSB8JyxcbiAgICAgICAgICAnfCBgLmdpdGh1Yi93b3JrZmxvd3MvKi55bWxgIHwgQWxsIENJL0NEIHdvcmtmbG93cyB8JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnPiAqKlRpcDoqKiBGaWxlcyB3aXRoIGEgYH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi4gfn5gIGhlYWRlciBhcmUgbWFuYWdlZCBmaWxlcy4nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICctLS0nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyBXaGVyZSB0byBTdGFydCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJzEuICoqYHNyYy9zdGFja3MvQXBwbGljYXRpb25TdGFjay50c2AqKiDigJQgQWRkIHlvdXIgQ0RLIGNvbnN0cnVjdHMgaGVyZS4gVGhlIGJhc2Ugc3RhY2sgYWxyZWFkeSBwcm92aWRlcyBgdGhpcy5hcGlgLCBgdGhpcy52cGNgLCBgdGhpcy5ob3N0ZWRab25lYCwgYW5kIGB0aGlzLmRhdGFkb2dgIGFzIHByb3RlY3RlZCBwcm9wZXJ0aWVzLicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJzIuICoqYHdlYi9gKiog4oCUIEJ1aWxkIHlvdXIgZnJvbnRlbmQuIFN0YXJ0IHdpdGggYHdlYi9zcmMvQXBwLnRzeGAgYW5kIGFkZCBzZXJ2aWNlcyBhbG9uZ3NpZGUgYHdlYi9zcmMvc2VydmljZXMvUm9vdFNlcnZpY2UudHNgLicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJzMuICoqYHNyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvQXBpLkZ1bmN0aW9uLnRzYCoqIOKAlCBJbXBsZW1lbnQgeW91ciBiYWNrZW5kIExhbWJkYSBoYW5kbGVyIGxvZ2ljIGhlcmUuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnLS0tJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMgRGV2ZWxvcG1lbnQgV29ya2Zsb3cnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdgYGBiYXNoJyxcbiAgICAgICAgICAnIyBJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgJ3lhcm4gaW5zdGFsbCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMgU3RhcnQgbG9jYWwgZGV2IHNlcnZlciAoYmFja2VuZCBMYW1iZGEgKyBWaXRlIGZyb250ZW5kIGluIHBhcmFsbGVsKScsXG4gICAgICAgICAgJ3lhcm4gZGV2JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyBEZXBsb3kgYSBwZXJzb25hbCBkZXYgc3RhY2sgdG8gQVdTJyxcbiAgICAgICAgICAneWFybiBjZGs6ZGV2IC0tY29udGV4dCBsb2NhbC1kZXYtcHJlZml4PXlvdXItaGFuZGxlIGRlcGxveScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMgUnVuIHRlc3RzJyxcbiAgICAgICAgICAneWFybiB0ZXN0JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyBSZS1zeW50aGVzaXplIHByb2plY3QgZmlsZXMgYWZ0ZXIgZWRpdGluZyAucHJvamVucmMudHMnLFxuICAgICAgICAgICducHggcHJvamVuJyxcbiAgICAgICAgICAnYGBgJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnLS0tJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMgVXBncmFkaW5nIEJhdG1hbicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2BgYGJhc2gnLFxuICAgICAgICAgICd5YXJuIGFkZCBAbWFjZWRvbi10ZWNobm9sb2dpZXMvYmF0bWFuQGxhdGVzdCcsXG4gICAgICAgICAgJ25weCBwcm9qZW4nLFxuICAgICAgICAgICdgYGAnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdUaGlzIHVwZGF0ZXMgYWxsIG1hbmFnZWQgZmlsZXMgdG8gdGhlIGxhdGVzdCBCYXRtYW4gc3RhbmRhcmRzLiBZb3VyIGVkaXRhYmxlIHNhbXBsZSBmaWxlcyBhcmUgbmV2ZXIgdG91Y2hlZC4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgfSxcbiAgICB9KTtcblxuXG4gICAgLy8gQ3JlYXRlIHN0YW5kYXJkIHByb2plY3QgZmlsZXNcbiAgICBjb25zdCBQUklNQVJZX0FDQ09VTlQgPSAnMDE1OTU1ODE3MjYzJztcbiAgICBjb25zdCBQUklNQVJZX1JFR0lPTiA9ICd1cy1lYXN0LTEnO1xuXG4gICAgbmV3IEFwcGxpY2F0aW9uKHRoaXMsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IGBtYWNlZG9uLXRlY2hub2xvZ2llcy8ke29wdGlvbnMubmFtZX1gLFxuICAgICAgZGV2OiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5zdGFnaW5nLFxuICAgICAgfSxcbiAgICAgIHByb2Q6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBuZXcgR2l0SHViUm9sZXNGaWxlKHRoaXMsIHtcbiAgICAgIGFjY291bnQ6IFBSSU1BUllfQUNDT1VOVCxcbiAgICAgIHByaW1hcnlSZWdpb246IFBSSU1BUllfUkVHSU9OLFxuICAgIH0pO1xuXG4gICAgbmV3IENvZGVPd25lcnNGaWxlKHRoaXMsIHtcbiAgICAgIGFkZGl0aW9uYWxPd25lcnM6IG9wdGlvbnMuYWRkaXRpb25hbENvZGVPd25lcnMsXG4gICAgfSk7XG5cbiAgICBuZXcgRGF0YURvZ0FzcGVjdEZpbGUodGhpcyk7XG5cbiAgICBjb25zdCB2aXRlUmVhY3QgPSBuZXcgVml0ZVJlYWN0UHJvamVjdCh7XG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgb3V0ZGlyOiAnd2ViJyxcbiAgICAgIGRlcHM6IG9wdGlvbnMud2Vic2l0ZURlcHMsXG4gICAgfSk7XG4gICAgdml0ZVJlYWN0LmFkZENvbmZpZ0ZpZWxkKCdzb21ldGhpbmcnLCAnbnVtYmVyJyk7XG4gICAgdml0ZVJlYWN0LmFkZENvbmZpZ0ZpZWxkKCdzb21ldGhpbmdFbHNlJywgJ3N0cmluZycpO1xuXG4gICAgY29uc3QgY29uY3VycmVudGx5ID0gKC4uLmFyZ3M6IHN0cmluZ1tdKSA9PiB7XG4gICAgICByZXR1cm4gYGNvbmN1cnJlbnRseSAke2FyZ3MubWFwKGEgPT4gYFwiJHthfVwiYCkuam9pbignICcpfWA7XG4gICAgfTtcblxuICAgIHRoaXMuYWRkVGFzaygnZGV2Jywge1xuICAgICAgZXhlYzogY29uY3VycmVudGx5KFxuICAgICAgICAnbm9kZW1vbiAtLXdhdGNoIC4vc3JjL2NvbnN0cnVjdHMvaGFuZGxlciAtLXdhdGNoIC4vbG9jYWwvZGV2LnRzIC4vbG9jYWwvZGV2LnRzJyxcbiAgICAgICAgdml0ZVJlYWN0LmRldkNvbW1hbmQsXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRUYXNrKCdjZGs6ZGV2Jywge1xuICAgICAgZXhlYzogJ3lhcm4gY2RrIC1hIFwibnB4IHRzLW5vZGUgLVAgdHNjb25maWcuanNvbiAtLXByZWZlci10cy1leHRzIHNyYy9Mb2NhbERldkFwcC50c1wiJyxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG5cbiAgfVxufVxuIl19
|
|
119
|
+
BatmanProject[_a] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.11.0" };
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0bWFuUHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXRtYW5Qcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQW9GO0FBQ3BGLDhDQUFzRDtBQUN0RCwrQ0FBMEU7QUFDMUUscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQsbUNBQXlDO0FBQ3pDLHlEQUFzRDtBQW9DdEQsTUFBYSxhQUFjLFNBQVEsNEJBQW1CO0lBQ3BELFlBQVksT0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUztZQUMzQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTTtZQUM1RCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2dCQUNoQixXQUFXO2dCQUNYLElBQUk7Z0JBQ0oscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLDJCQUEyQjtnQkFDM0IsMEJBQTBCO2dCQUMxQixtQ0FBbUM7Z0JBQ25DLGNBQWM7Z0JBQ2QsaUNBQWlDO2dCQUNqQyxTQUFTO2dCQUNULGlCQUFpQjtnQkFDakIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BCLGdCQUFnQixFQUFFLHdCQUF3QixPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hELEdBQUcsRUFBRTtnQkFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxPQUFPLENBQUMsT0FBTzthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQ0FBZSxDQUFDLElBQUksRUFBRTtZQUN4QixPQUFPLEVBQUUsZUFBZTtZQUN4QixhQUFhLEVBQUUsY0FBYztTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLCtCQUFjLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixNQUFNLFNBQVMsR0FBRyxJQUFJLG1DQUFnQixDQUFDO1lBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEQsU0FBUyxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFlBQVksQ0FDaEIsZ0ZBQWdGLEVBQ2hGLFNBQVMsQ0FBQyxVQUFVLENBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxFQUFFLGdGQUFnRjtZQUN0RixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFHTCxDQUFDOztBQXBISCxzQ0FxSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwLCBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQXBwbGljYXRpb24sIEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWcgfSBmcm9tICcuL0FwcGxpY2F0aW9uJztcbmltcG9ydCB7IENvZGVPd25lcnNGaWxlIH0gZnJvbSAnLi9Db2RlT3duZXJzRmlsZSc7XG5pbXBvcnQgeyBEYXRhRG9nQXNwZWN0RmlsZSB9IGZyb20gJy4vRGF0YURvZ0FzcGVjdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc0ZpbGUnO1xuaW1wb3J0IHsgcmVhZG1lQ29udGVudHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFZpdGVSZWFjdFByb2plY3QgfSBmcm9tICcuL1ZpdGVSZWFjdFByb2plY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhdG1hblByb2plY3RPcHRpb25zIGV4dGVuZHMgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXY6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdpbmc6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIFByb2R1Y3Rpb24gZW52aXJvbm1lbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZDogQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCB0YWdzIHRvIGFwcGx5IHRvIGFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb2RlIG93bmVycyB0byBhZGQgdG8gdGhlIENPREVPV05FUlMgZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvZGVPd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2Vic2l0ZSBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHJlYWRvbmx5IHdlYnNpdGVEZXBzPzogc3RyaW5nW107XG59XG5cblxuZXhwb3J0IGNsYXNzIEJhdG1hblByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQmF0bWFuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uIHx8ICcyLjIyNC4wJyxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoIHx8ICdtYWluJyxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICAgJ0B0eXBlcy9leHByZXNzJyxcbiAgICAgICAgJ0B0eXBlcy9wZycsXG4gICAgICAgICdwZycsXG4gICAgICAgICdAYXdzLXNkay9yZHMtc2lnbmVyJyxcbiAgICAgICAgJ0BtYXR0aGV3Ym9uaWcvc2VjcmV0JyxcbiAgICAgICAgJ2RhdGFkb2ctY2RrLWNvbnN0cnVjdHMtdjInLFxuICAgICAgICAnQGNka2xhYnMvYXdzLWxhbWJkYS1ydXN0JyxcbiAgICAgICAgJ0Bhd3MtbGFtYmRhLXBvd2VydG9vbHMvcGFyYW1ldGVycycsXG4gICAgICAgICdqc29ud2VidG9rZW4nLFxuICAgICAgICAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcicsXG4gICAgICAgICdleHByZXNzJyxcbiAgICAgICAgJ3NlcnZlcmxlc3MtaHR0cCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBkZXZEZXBzOiBbXG4gICAgICAgICdAdHlwZXMvanNvbndlYnRva2VuJyxcbiAgICAgICAgJ25vZGVtb24nLFxuICAgICAgICAnY29uY3VycmVudGx5JyxcbiAgICAgICAgJ0BtYWNlZG9uLXRlY2hub2xvZ2llcy9iYXRtYW5AXjEuMC4wJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXZEZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGdpdGlnbm9yZTogW1xuICAgICAgICAnc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9jbGVyay1hdXRob3JpemVyL3RhcmdldC8qKicsXG4gICAgICAgICcqKi8uRFNfU3RvcmUnLFxuICAgICAgICAuLi5vcHRpb25zLmdpdGlnbm9yZSB8fCBbXSxcbiAgICAgIF0sXG4gICAgICB0c2NvbmZpZzoge1xuICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnPy5jb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgbWluTm9kZVZlcnNpb246IG9wdGlvbnMubWluTm9kZVZlcnNpb24gfHwgJzIyJyxcbiAgICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oe1xuICAgICAgICAgICAgc2VjcmV0OiAnR0lUSFVCX1RPS0VOJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByZWFkbWU6IHtcbiAgICAgICAgY29udGVudHM6IHJlYWRtZUNvbnRlbnRzKG9wdGlvbnMubmFtZSksXG4gICAgICB9LFxuICAgIH0pO1xuXG5cbiAgICAvLyBDcmVhdGUgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICAgIGNvbnN0IFBSSU1BUllfQUNDT1VOVCA9ICcwMTU5NTU4MTcyNjMnO1xuICAgIGNvbnN0IFBSSU1BUllfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbiAgICBuZXcgQXBwbGljYXRpb24odGhpcywge1xuICAgICAgZ2l0aHViUmVwb3NpdG9yeTogYG1hY2Vkb24tdGVjaG5vbG9naWVzLyR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICBkZXY6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgc3RhZ2luZzoge1xuICAgICAgICAuLi5vcHRpb25zLnN0YWdpbmcsXG4gICAgICB9LFxuICAgICAgcHJvZDoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsVGFnczogb3B0aW9ucy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIG5ldyBHaXRIdWJSb2xlc0ZpbGUodGhpcywge1xuICAgICAgYWNjb3VudDogUFJJTUFSWV9BQ0NPVU5ULFxuICAgICAgcHJpbWFyeVJlZ2lvbjogUFJJTUFSWV9SRUdJT04sXG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZU93bmVyc0ZpbGUodGhpcywge1xuICAgICAgYWRkaXRpb25hbE93bmVyczogb3B0aW9ucy5hZGRpdGlvbmFsQ29kZU93bmVycyxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhRG9nQXNwZWN0RmlsZSh0aGlzKTtcblxuICAgIGNvbnN0IHZpdGVSZWFjdCA9IG5ldyBWaXRlUmVhY3RQcm9qZWN0KHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICBvdXRkaXI6ICd3ZWInLFxuICAgICAgZGVwczogb3B0aW9ucy53ZWJzaXRlRGVwcyxcbiAgICB9KTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZycsICdudW1iZXInKTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZ0Vsc2UnLCAnc3RyaW5nJyk7XG5cbiAgICBjb25zdCBjb25jdXJyZW50bHkgPSAoLi4uYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIHJldHVybiBgY29uY3VycmVudGx5ICR7YXJncy5tYXAoYSA9PiBgXCIke2F9XCJgKS5qb2luKCcgJyl9YDtcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUYXNrKCdkZXYnLCB7XG4gICAgICBleGVjOiBjb25jdXJyZW50bHkoXG4gICAgICAgICdub2RlbW9uIC0td2F0Y2ggLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyIC0td2F0Y2ggLi9sb2NhbC9kZXYudHMgLi9sb2NhbC9kZXYudHMnLFxuICAgICAgICB2aXRlUmVhY3QuZGV2Q29tbWFuZCxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2NkazpkZXYnLCB7XG4gICAgICBleGVjOiAneWFybiBjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
|