tnp-config 13.0.29 → 13.0.33

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.
@@ -0,0 +1,719 @@
1
+ /**
2
+ * Dariusz Filipiak
3
+ * @author darekf77@gmail.com
4
+ * Recommended config for all isomorphic libs *
5
+ */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
13
+ export { CoreHelpers as Helpers } from 'tnp-core/websql';
14
+ export const GlobalLibTypeName = {
15
+ isomorphicLib: 'isomorphic-lib',
16
+ angularLib: 'angular-lib',
17
+ electronClient: 'electron-client',
18
+ ionicLib: 'ionic-lib',
19
+ angularClient: 'angular-client',
20
+ ionicClient: 'ionic-client',
21
+ workspace: 'workspace',
22
+ container: 'container',
23
+ docker: 'docker',
24
+ unknowNpmProject: 'unknow-npm-project',
25
+ vscodeExt: 'vscode-ext',
26
+ chromeExt: 'chrome-ext',
27
+ singleFileProject: 'single-file-project',
28
+ navi: 'navi',
29
+ scenario: 'scenario'
30
+ };
31
+ export const LibTypeArr = [
32
+ GlobalLibTypeName.angularLib,
33
+ GlobalLibTypeName.isomorphicLib,
34
+ GlobalLibTypeName.angularClient,
35
+ GlobalLibTypeName.ionicClient,
36
+ GlobalLibTypeName.electronClient,
37
+ GlobalLibTypeName.workspace,
38
+ GlobalLibTypeName.container,
39
+ GlobalLibTypeName.docker,
40
+ GlobalLibTypeName.unknowNpmProject,
41
+ GlobalLibTypeName.vscodeExt,
42
+ GlobalLibTypeName.chromeExt,
43
+ GlobalLibTypeName.navi,
44
+ GlobalLibTypeName.scenario,
45
+ ];
46
+ export const CoreLibCategoryArr = [
47
+ GlobalLibTypeName.angularLib,
48
+ GlobalLibTypeName.isomorphicLib,
49
+ GlobalLibTypeName.angularClient,
50
+ GlobalLibTypeName.electronClient,
51
+ GlobalLibTypeName.ionicClient,
52
+ GlobalLibTypeName.docker,
53
+ 'common'
54
+ ];
55
+ //#endregion
56
+ const allowedEnvironments = ['static', 'dev', 'prod', 'stage', 'online', 'test', 'qa', 'custom'];
57
+ const allowedEnvironmentsObj = {};
58
+ allowedEnvironments.forEach(s => {
59
+ // @ts-ignore
60
+ allowedEnvironmentsObj[s] = s;
61
+ });
62
+ const firedev = 'firedev';
63
+ const morphi = 'morphi';
64
+ /* */
65
+ /* */
66
+ const urlMorphi = 'https://github.com/darekf77/morphi.git';
67
+ const filesNotAllowedToClean = {
68
+ _gitignore: '.gitignore',
69
+ _npmrc: '.npmrc',
70
+ _npmignore: '.npmignore',
71
+ tslint_json: 'tslint.json',
72
+ _editorconfig: '.editorconfig',
73
+ _angularCli_json: '.angular-cli.json',
74
+ _vscode_launch_json: '.vscode/launch.json',
75
+ };
76
+ const file = {
77
+ _bowerrc: '.bowerrc',
78
+ bower_json: 'bower.json',
79
+ controllers_ts: 'controllers.ts',
80
+ entities_ts: 'entities.ts',
81
+ angular_json: 'angular.json',
82
+ autob_actions_js: 'auto-actions.js',
83
+ local_config_js: 'local-config.js',
84
+ build_config_js: 'build-config.js',
85
+ local_config: 'local-config',
86
+ start_backend_ts: 'start.backend.ts',
87
+ package_json: 'package.json',
88
+ result_packages_json: 'result-packages.json',
89
+ package_json5: 'package.json5',
90
+ package_json__tnp_json: 'package.json_tnp.json',
91
+ package_json__tnp_json5: 'package.json_tnp.json5',
92
+ package_json__devDependencies_json: 'package.json_devDependencies.json',
93
+ yarn_lock: 'yarn.lock',
94
+ package_lock_json: 'package-lock.json',
95
+ tnpEnvironment_json: 'tmp-environment.json',
96
+ environment: 'environment',
97
+ environment_js: 'environment.js',
98
+ tmp_transaction_pid_txt: 'tmp-transaction-pid.txt',
99
+ manifest_webmanifest: 'manifest.webmanifest',
100
+ publicApi_ts: 'public_api.ts',
101
+ publicApi_d_ts: 'public_api.d.ts',
102
+ publicapi_ts: 'public-api.ts',
103
+ _babelrc: '.babelrc',
104
+ index_d_ts: 'index.d.ts',
105
+ index_ts: 'index.ts',
106
+ index_js: 'index.js',
107
+ index_js_map: 'index.js.map',
108
+ db_json: 'db.json',
109
+ db_for_tests_json: 'db-for-tests.json',
110
+ tmpDockerImageId: 'tmp-docker-image-id',
111
+ tmp_recent_json: 'recent.json',
112
+ tmpIsomorphicPackagesJson: 'tmp-isomorphic-packages.json',
113
+ tsconfig_json: 'tsconfig.json',
114
+ README_MD: 'README.md',
115
+ server_key: 'server.key',
116
+ server_cert: 'server.cert',
117
+ server_chain_cert: 'server-chain.cert',
118
+ meta_config_md: 'meta-content.md',
119
+ ...filesNotAllowedToClean
120
+ };
121
+ const packageJsonSplit = [
122
+ file.package_json__tnp_json,
123
+ file.package_json__tnp_json5,
124
+ file.package_json__devDependencies_json,
125
+ ];
126
+ const tempFolders = {
127
+ bundle: 'bundle',
128
+ vendor: 'vendor',
129
+ docs: 'docs',
130
+ dist: 'dist',
131
+ tmp: 'tmp',
132
+ tmpBundleRelease: 'tmp-bundle-release',
133
+ tempSrc: 'tmp-src',
134
+ tempSrcDist: 'tmp-src-dist',
135
+ previewDistApp: 'dist-app',
136
+ preview: 'preview',
137
+ browser: 'browser',
138
+ websql: 'websql',
139
+ _browser: '.browser',
140
+ module: 'module',
141
+ backup: 'backup',
142
+ node_modules: 'node_modules',
143
+ client: 'client',
144
+ tnp_tests_context: 'tmp-tests-context',
145
+ tmpPackage: 'tmp-package',
146
+ tmpScenarios: 'tmp-scenarios',
147
+ tmpTestsEnvironments: 'tmp-tests-environments',
148
+ testsEnvironments: 'tests-environments',
149
+ };
150
+ const stylesFilesExtension = [
151
+ 'css',
152
+ 'sass',
153
+ 'scss',
154
+ 'less',
155
+ ];
156
+ const folder = {
157
+ scripts: 'scripts',
158
+ scenarios: 'scenarios',
159
+ bower: 'bower',
160
+ src: 'src',
161
+ out: 'out',
162
+ lib: 'lib',
163
+ custom: 'custom',
164
+ components: 'components',
165
+ assets: 'assets',
166
+ apps: 'apps',
167
+ // entities: 'entities',
168
+ // controllers: 'controllers',
169
+ // projects: 'projects',
170
+ workspace: 'workspace',
171
+ container: 'container',
172
+ bin: 'bin',
173
+ _bin: '.bin',
174
+ _vscode: '.vscode',
175
+ project: 'project',
176
+ external: 'external',
177
+ tmpDist: 'tmp-dist',
178
+ tmpFor(d) {
179
+ return `tmp-src-${d}`;
180
+ },
181
+ targetProjects: {
182
+ DEFAULT_PATH_GENERATED: 'tmp-target-projects/generated',
183
+ DEFAULT_PATH_ORIGINS: 'tmp-target-projects/origins',
184
+ },
185
+ ...tempFolders
186
+ };
187
+ // @LAST RESOLVE TNP LOCATION !!! for each context and RELEASE TNP-CONFIG
188
+ let dirnameForTnp;
189
+ /* */
190
+ /* */
191
+ const firedevProjectsRelative = `../firedev-projects`;
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ /* */
198
+ /* */
199
+ /* */
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ /* */
223
+ /* */
224
+ /* */
225
+ /* */
226
+ /* */
227
+ /* */
228
+ /* */
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
258
+ /* */
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ /* */
267
+ /* */
268
+ /* */
269
+ /* */
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ const moduleNameAngularLib = [
275
+ folder.components,
276
+ folder.module,
277
+ folder.dist,
278
+ folder.browser,
279
+ ];
280
+ const moduleNameIsomorphicLib = [
281
+ folder.src,
282
+ folder.dist,
283
+ folder.browser,
284
+ ];
285
+ const argsReplacementsBuild = {
286
+ // SHORTCUTS
287
+ 'ba': 'build:app',
288
+ 'baw': 'build:app:watch',
289
+ 'bw': 'build:watch',
290
+ 'bap': 'build:app:prod',
291
+ 'bapw': 'build:app:prod:watch',
292
+ // (dist)app build for normal development - watch is ng serve
293
+ 'bda': 'build:dist:app',
294
+ 'bdaw': 'build:dist:app:watch',
295
+ // (dist)app build for normal development (PRODUCTION MINIFIED CODE)
296
+ 'badpw': 'build:app:dist:prod:watch',
297
+ 'badp': 'build:app:dist:prod',
298
+ // (dist)lib build - watch is ng build
299
+ 'bd': 'build:dist', 'bdw': 'build:dist:watch',
300
+ // (dist)lib build - watch is ng build (PRODUCTION MINIFIED CODE)
301
+ 'bdp': 'build:dist:prod', 'bdpw': 'build:dist:prod:watch',
302
+ // (bundle)app build for static code (firedev plugins, project final code, etc.)
303
+ 'bba': 'build:bundle:app', 'bbaw': 'build:bundle:app:watch',
304
+ // (bunle)lib build for static code (firedev plugins, project final code, etc.)
305
+ 'bb': 'build:bundle', 'bbw': 'build:bundle:watch',
306
+ // (bunle)lib build for static code with ng build (PRODUCTION MINIFIED CODE)
307
+ 'bbp': 'build:bundle:prod', 'bbpw': 'build:bundle:prod:watch',
308
+ 'sb': 'static:build',
309
+ 'sbp': 'static:build:prod',
310
+ 'sbd': 'static:build:dist',
311
+ 'sbl': 'static:build:lib',
312
+ 'sba': 'static:build:app',
313
+ 'cb': 'clean:build'
314
+ };
315
+ const argsReplacementsOther = {
316
+ // github docs
317
+ 'ghpush': 'githubpush',
318
+ 'ghpull': 'githubpull',
319
+ // last
320
+ 'l': 'last',
321
+ 'sl': 'show:last',
322
+ 'lb': 'last:build',
323
+ // install
324
+ 'i': 'install',
325
+ 'si': 'sinstall',
326
+ 'il': 'install:locally',
327
+ 'rc': 'recommit',
328
+ // release
329
+ 'rp': 'release:prod',
330
+ 'r': 'release',
331
+ 'rmajor': 'release:major',
332
+ 'rminor': 'release:minor',
333
+ // 'ra': 'release:all',
334
+ 'ar': 'auto:release',
335
+ // versopm
336
+ '--version': 'version',
337
+ '-v': 'version',
338
+ // open
339
+ 'occ': 'open:core:container',
340
+ 'ocp': 'open:core:project',
341
+ // test
342
+ 'twd': 'test:watch:debug',
343
+ 'tdw': 'test:watch:debug',
344
+ 'tw': 'test:watch',
345
+ 'td': 'test:debug',
346
+ 't': 'test',
347
+ // git push
348
+ 'pt': 'push:tag',
349
+ 'p': 'push',
350
+ 'pa': 'pushalll',
351
+ // other
352
+ 'sj': 'select:java',
353
+ 'scm': 'showcoremodules',
354
+ 'tpu': 'target:proj:update',
355
+ 'ugd': 'update:global:deps',
356
+ 'ud': 'update:deps',
357
+ 'dgl': 'detect:global:libs',
358
+ 'pr': 'print:relatives',
359
+ };
360
+ const areTrustedForPatchUpdate = [
361
+ '@angular',
362
+ '@ngrx',
363
+ 'rxjs',
364
+ 'zone.js',
365
+ 'tslib',
366
+ 'typescript',
367
+ 'webpack'
368
+ ];
369
+ export const config = {
370
+ packagesThat: {
371
+ areTrustedForPatchUpdate,
372
+ },
373
+ /* */
374
+ /* */
375
+ /* */
376
+ /* */
377
+ /* */
378
+ /* */
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
383
+ coreProjectVersions: ['v1', 'v2', 'v3'],
384
+ quickFixes: {
385
+ missingLibs: [
386
+ 'react-native-sqlite-storage'
387
+ ]
388
+ },
389
+ packageJsonSplit,
390
+ regexString: {
391
+ pathPartStringRegex: `(\/([a-zA-Z0-9]|\\-|\\_|\\+|\\.)*)`
392
+ },
393
+ placeholders: {
394
+ forProjectsInEnvironmentFile: '//<PLACEHOLDER_FOR_PROJECTS>'
395
+ },
396
+ array: {
397
+ isomorphicPackages: 'isomorphicPackages'
398
+ },
399
+ defaultFrameworkVersion: 'v3',
400
+ CONST: {
401
+ UNIT_TEST_TIMEOUT: 30000,
402
+ INTEGRATION_TEST: 30000,
403
+ BACKEND_HTTP_REQUEST_TIMEOUT: 3000,
404
+ },
405
+ debug: {
406
+ sourceModifier: [],
407
+ baselineSiteJoin: {
408
+ DEBUG_PATHES: [
409
+ // "src/apps/auth/AuthController.ts",
410
+ // '/src/app/+preview-components/preview-components.component.ts',
411
+ // '/src/controllers.ts',
412
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
413
+ ],
414
+ DEBUG_MERGE_PATHES: [
415
+ // "src/apps/auth/AuthController.ts",
416
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
417
+ // '/components/formly/base-components/editor/editor-wrapper.component.ts'
418
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
419
+ ]
420
+ }
421
+ },
422
+ /* */
423
+ /* */
424
+ frameworkNames: {
425
+ tnp: 'tnp',
426
+ firedev: 'firedev'
427
+ },
428
+ startPort: 6001,
429
+ frameworks: ['bootstrap', 'ionic', 'material'],
430
+ /* */
431
+ /* */
432
+ /* */
433
+ /* */
434
+ /* */
435
+ /* */
436
+ /* */
437
+ /* */
438
+ /* */
439
+ /* */
440
+ /* */
441
+ /* */
442
+ /* */
443
+ /* */
444
+ /* */
445
+ /* */
446
+ /* */
447
+ /* */
448
+ /* */
449
+ /* */
450
+ /* */
451
+ /* */
452
+ /* */
453
+ /* */
454
+ /* */
455
+ /* */
456
+ /* */
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ /* */
462
+ /* */
463
+ /* */
464
+ /* */
465
+ /* */
466
+ /* */
467
+ /* */
468
+ /* */
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ /* */
481
+ /* */
482
+ /* */
483
+ /* */
484
+ /* */
485
+ /* */
486
+ /* */
487
+ /* */
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
509
+ /* */
510
+ /* */
511
+ /* */
512
+ /* */
513
+ /* */
514
+ /* */
515
+ /* */
516
+ /* */
517
+ /* */
518
+ /* */
519
+ /* */
520
+ /* */
521
+ /* */
522
+ /* */
523
+ /* */
524
+ /* */
525
+ /* */
526
+ /* */
527
+ /* */
528
+ allowedEnvironments,
529
+ folder,
530
+ tempFolders,
531
+ // @ts-ignore
532
+ filesNotAllowedToClean: Object.keys(filesNotAllowedToClean).map(key => filesNotAllowedToClean[key]),
533
+ file,
534
+ default: {
535
+ cloud: {
536
+ environment: {
537
+ name: 'online'
538
+ }
539
+ }
540
+ },
541
+ SUBERIZED_PREFIX: `---stuberized`,
542
+ names: {
543
+ env: allowedEnvironmentsObj,
544
+ baseline: 'baseline',
545
+ defaultServer: 'default server',
546
+ },
547
+ reservedArgumentsNamesUglify: [
548
+ 'reservedExpOne',
549
+ 'reservedExpSec'
550
+ ],
551
+ extensions: {
552
+ /**
553
+ * Modify source: import,export, requires
554
+ */
555
+ get modificableByReplaceFn() {
556
+ return [
557
+ 'ts',
558
+ 'js',
559
+ ...stylesFilesExtension,
560
+ ].map(f => `.${f}`);
561
+ },
562
+ },
563
+ notFiredevProjects: [
564
+ 'unknow', 'unknow-npm-project', 'scenario', 'navi'
565
+ ],
566
+ /**
567
+ * Build allowed types
568
+ */
569
+ allowedTypes: {
570
+ /**
571
+ * Projects for build:app:watch command
572
+ */
573
+ app: [
574
+ GlobalLibTypeName.angularClient,
575
+ GlobalLibTypeName.angularLib,
576
+ GlobalLibTypeName.isomorphicLib,
577
+ GlobalLibTypeName.ionicClient,
578
+ GlobalLibTypeName.docker,
579
+ GlobalLibTypeName.container,
580
+ GlobalLibTypeName.vscodeExt,
581
+ ],
582
+ /**
583
+ * Projects for build:(dist|bundle):(watch) command
584
+ */
585
+ libs: [
586
+ GlobalLibTypeName.angularLib,
587
+ GlobalLibTypeName.isomorphicLib,
588
+ GlobalLibTypeName.workspace,
589
+ GlobalLibTypeName.container,
590
+ GlobalLibTypeName.docker,
591
+ GlobalLibTypeName.vscodeExt,
592
+ ]
593
+ },
594
+ moduleNameAngularLib,
595
+ moduleNameIsomorphicLib,
596
+ filesExtensions: {
597
+ filetemplate: 'filetemplate',
598
+ styles: stylesFilesExtension,
599
+ },
600
+ projectTypes: {
601
+ forNpmLibs: [
602
+ GlobalLibTypeName.angularLib,
603
+ GlobalLibTypeName.isomorphicLib,
604
+ ],
605
+ with: {
606
+ angularAsCore: [
607
+ GlobalLibTypeName.angularClient,
608
+ GlobalLibTypeName.angularLib,
609
+ GlobalLibTypeName.ionicClient,
610
+ ],
611
+ componetsAsSrc: [
612
+ GlobalLibTypeName.angularLib,
613
+ ],
614
+ }
615
+ },
616
+ // environmentName,
617
+ localLibs: [
618
+ 'eslint',
619
+ 'mkdirp',
620
+ 'gulp',
621
+ 'npm-run',
622
+ 'rimraf',
623
+ 'nodemon',
624
+ 'release-it',
625
+ 'tsc',
626
+ 'watch',
627
+ 'http-server',
628
+ 'ts-node',
629
+ 'sort-package-json',
630
+ 'concurrently',
631
+ 'sloc',
632
+ 'morphi'
633
+ ],
634
+ helpAlias: [
635
+ '-h',
636
+ '--help',
637
+ '-help',
638
+ 'help'
639
+ ],
640
+ required: {
641
+ npm: [
642
+ { name: '@angular/cli', version: '13' },
643
+ { name: 'extract-zip', version: '1.6.7' },
644
+ { name: 'watch', version: '1.0.2' },
645
+ { name: 'cpr' },
646
+ { name: 'check-node-version' },
647
+ { name: 'npm-run', version: '4.1.2' },
648
+ { name: 'rimraf' },
649
+ { name: 'mkdirp' },
650
+ { name: 'renamer', version: '2.0.1' },
651
+ { name: 'nodemon' },
652
+ { name: 'madge' },
653
+ { name: 'yarn' },
654
+ { name: 'http-server' },
655
+ { name: 'increase-memory-limit' },
656
+ { name: 'bower' },
657
+ { name: 'fkill', installName: 'fkill-cli' },
658
+ // { name: 'yo' },
659
+ { name: 'mocha' },
660
+ // { name: 'chai' },
661
+ { name: 'ts-node' },
662
+ { name: 'vsce' },
663
+ // { name: 'stmux' },
664
+ { name: 'webpack-bundle-analyzer' },
665
+ // { name: 'ng', installName: '@angular/cli' },
666
+ // { name: 'ngx-pwa-icons', version: '0.1.2' },
667
+ // { name: 'real-favicon', installName: 'cli-real-favicon' },
668
+ { name: 'babel', installName: 'babel-cli' },
669
+ { name: 'javascript-obfuscator', version: '4' },
670
+ { name: 'uglifyjs', installName: 'uglify-js' },
671
+ ],
672
+ niceTools: [
673
+ { name: 'speed-test' },
674
+ { name: 'npm-name' },
675
+ { name: 'vantage', platform: 'linux' },
676
+ { name: 'clinic', platform: 'linux' },
677
+ { name: 'vtop', platform: 'linux' },
678
+ { name: 'public-ip' },
679
+ { name: 'empty-trash' },
680
+ { name: 'is-up' },
681
+ { name: 'is-online' },
682
+ { name: 'ttystudio' },
683
+ { name: 'bcat' },
684
+ { name: 'wifi-password', installName: 'wifi-password-cli' },
685
+ { name: 'wallpaper', installName: 'wallpaper-cli' },
686
+ { name: 'brightness', installName: 'brightness-cli' },
687
+ { name: 'subdownloader' },
688
+ { name: 'rtail' },
689
+ { name: 'iponmap' },
690
+ { name: 'jsome' },
691
+ { name: 'drawille', isNotCli: true },
692
+ { name: 'columnify', isNotCli: true },
693
+ { name: 'multispinner', isNotCli: true },
694
+ { name: 'cfonts' }, // draw super nice fonts in console
695
+ ],
696
+ programs: [,
697
+ {
698
+ name: 'code',
699
+ website: 'https://code.visualstudio.com/'
700
+ }
701
+ ]
702
+ }
703
+ };
704
+ // export const GlobalIsomorphicDependencies: ConfigModels.GlobalDependencies = {
705
+ // npm: [
706
+ // { name: 'rimraf' },
707
+ // { name: 'npm-run', version: '4.1.2' },
708
+ // { name: 'cpr' },
709
+ // { name: 'check-node-version' },
710
+ // { name: 'vsce' },
711
+ // ],
712
+ // programs: [
713
+ // // {
714
+ // // name: 'code',
715
+ // // website: 'https://code.visualstudio.com/'
716
+ // // }
717
+ // ] as { name: string; website: string }[]
718
+ // };
719
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWNvbmZpZy9wcm9qZWN0cy90bnAtY29uZmlnL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLFdBQVcsSUFBSSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXdFekQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixVQUFVLEVBQUUsYUFBYTtJQUN6QixjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsU0FBUyxFQUFFLFdBQVc7SUFDdEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTJCO0lBQ2hELGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLFdBQVc7SUFDN0IsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQyxTQUFTO0lBQzNCLGlCQUFpQixDQUFDLFNBQVM7SUFDM0IsaUJBQWlCLENBQUMsTUFBTTtJQUN4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VyxFQUFFO1lBQ3JCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNoQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFO1lBQ25ELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7WUFDckQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3pCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNqQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3hDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLG1DQUFtQztTQUN4RDtRQUNELFFBQVEsRUFBRSxDQUFDO1lBQ1Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLGdDQUFnQzthQUMxQztTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBSUYsaUZBQWlGO0FBQ2pGLFdBQVc7QUFDWCwwQkFBMEI7QUFDMUIsNkNBQTZDO0FBQzdDLHVCQUF1QjtBQUN2QixzQ0FBc0M7QUFDdEMsd0JBQXdCO0FBQ3hCLE9BQU87QUFDUCxnQkFBZ0I7QUFDaEIsV0FBVztBQUNYLHlCQUF5QjtBQUN6QixxREFBcUQ7QUFDckQsV0FBVztBQUNYLDZDQUE2QztBQUM3QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEYXJpdXN6IEZpbGlwaWFrXG4gKiBAYXV0aG9yIGRhcmVrZjc3QGdtYWlsLmNvbVxuICogUmVjb21tZW5kZWQgY29uZmlnIGZvciBhbGwgaXNvbW9ycGhpYyBsaWJzICpcbiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbmV4cG9ydCB7IENvcmVIZWxwZXJzIGFzIEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG4vLyNyZWdpb24gY29uZmlnIG1vZGVsc1xuXG5leHBvcnQgbmFtZXNwYWNlIENvbmZpZ01vZGVscyB7XG4gIGV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9ICdsb2NhbCcgfCAnc3RhdGljJyB8ICdkZXYnIHwgJ3N0YWdlJyB8ICdwcm9kJyB8ICdvbmxpbmUnIHwgJ3Rlc3QnIHwgJ3FhJyB8ICdjdXN0b20nO1xuICBleHBvcnQgdHlwZSBVSUZyYW1ld29yayA9ICdib290c3RyYXAnIHwgJ21hdGVyaWFsJyB8ICdpb25pYyc7XG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya1ZlcnNpb24gPSAndjEnIHwgJ3YyJyB8ICd2Myc7XG4gIGV4cG9ydCB0eXBlIEN1dGFibGVGaWxlRXh0ID0gJ3Njc3MnIHwgJ2NzcycgfCAnc2FzcycgfCAnaHRtbCcgfCAndHMnO1xuICBleHBvcnQgdHlwZSBJbWFnZUZpbGVFeHRlbnNpb24gPSAnanBnJyB8ICdqcGVnJyB8ICdwbmcnIHwgJ3N2Zyc7XG4gIGV4cG9ydCB0eXBlIEZpbGVFeHRlbnNpb24gPSAndHMnIHwgJ2pzJyB8ICdqc29uJyB8ICdodG1sJyB8IEltYWdlRmlsZUV4dGVuc2lvbiB8ICd0eHQnIHwgQ3V0YWJsZUZpbGVFeHQ7XG5cblxuICBleHBvcnQgdHlwZSBIdHRwTWV0aG9kID0gJ2dldCcgfCAncG9zdCcgfCAncHV0JyB8ICdkZWxldGUnIHwgJ3BhdGNoJyB8ICdoZWFkJyB8ICdqc29ucCc7XG4gIGV4cG9ydCB0eXBlIFBhcmFtVHlwZSA9ICdQYXRoJyB8ICdRdWVyeScgfCAnQ29va2llJyB8ICdIZWFkZXInIHwgJ0JvZHknO1xuICBleHBvcnQgdHlwZSBUc1VzYWdlID0gJ2ltcG9ydCcgfCAnZXhwb3J0JztcblxuICBleHBvcnQgdHlwZSBMaWJUeXBlID0gJ3Vua25vdydcbiAgICB8ICdpc29tb3JwaGljLWxpYidcbiAgICB8ICdhbmd1bGFyLWxpYicgLy8gaHR0cHM6Ly9jbGkuYW5ndWxhci5pby9cbiAgICB8ICdlbGVjdHJvbi1jbGllbnQnIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhpbWVncmlzL2FuZ3VsYXItZWxlY3Ryb25cbiAgICB8ICdpb25pYy1saWInXG4gICAgfCAnYW5ndWxhci1jbGllbnQnXG4gICAgfCAnaW9uaWMtY2xpZW50J1xuICAgIHwgJ3dvcmtzcGFjZSdcbiAgICB8ICdjb250YWluZXInXG4gICAgfCAnZG9ja2VyJ1xuICAgIHwgJ3ZzY29kZS1leHQnXG4gICAgfCAnY2hyb21lLWV4dCdcbiAgICB8ICd1bmtub3ctbnBtLXByb2plY3QnXG4gICAgfCAnc2NlbmFyaW8nXG4gICAgfCAnbmF2aSdcbiAgICB8ICdsZWFmJ1xuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1waXhpJyAvLyBodHRwczovL2dpdGh1Yi5jb20vcGl4aWpzL3BpeGkuanNcbiAgICB8ICdnYW1lLWVuZ2luZS1saWItcGhhc2VyJyAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhvdG9uc3Rvcm0vcGhhc2VyXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLWV4Y2FsaWJ1cicgLy8gaHR0cHM6Ly9naXRodWIuY29tL2V4Y2FsaWJ1cmpzL0V4Y2FsaWJ1clxuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1iYWJ5bG9uJyAvLyBodHRwczovL2dpdGh1Yi5jb20vQmFieWxvbkpTL0JhYnlsb24uanNcbiAgICA7XG5cbiAgZXhwb3J0IHR5cGUgTmV3RmFjdG9yeVR5cGUgPSBMaWJUeXBlIHwgJ21vZGVsJyB8ICdzaW5nbGUtZmlsZS1wcm9qZWN0JztcbiAgZXhwb3J0IHR5cGUgQ29yZUxpYkNhdGVnb3J5ID0gTGliVHlwZSB8ICdjb21tb24nO1xuICBleHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBTaXplIHtcbiAgICB3OiBudW1iZXI7XG4gICAgaDogbnVtYmVyO1xuICB9XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIEdsb2JhbE5wbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZzsgaW5zdGFsbE5hbWU/OiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZzsgd2Vic2l0ZTogc3RyaW5nOyB2ZXJzaW9uPzogc3RyaW5nO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsRGVwZW5kZW5jaWVzIHtcbiAgICBucG0/OiBHbG9iYWxOcG1EZXBlbmRlbmN5W107XG4gICAgcHJvZ3JhbXM/OiBHbG9iYWxDb21tYW5kTGluZVByb2dyYW1EZXBlbmRlbmN5W107XG4gIH1cblxuICBleHBvcnQgdHlwZSBGaWxlRXZlbnQgPSAnY3JlYXRlZCcgfCAnY2hhbmdlZCcgfCAncmVtb3ZlZCcgfCAncmVuYW1lJztcbiAgZXhwb3J0IHR5cGUgT3V0Rm9sZGVyID0gJ2Rpc3QnIHwgJ2J1bmRsZScgfCAnYnJvd3Nlcic7XG4gIGV4cG9ydCB0eXBlIEZvcm1seUlucHV0VHlwZSA9ICdpbnB1dCcgfCAnc3dpdGNoJyB8ICdkYXRlcGlja2VyJyB8ICdyZXBlYXQnIHwgJ2dyb3VwJztcbiAgZXhwb3J0IHR5cGUgRGF0YWJhc2VUeXBlID0gJ2JldHRlci1zcWxpdGUzJyB8ICdzcWxpdGUnIHwgJ215c3FsJztcblxufVxuXG5cbmV4cG9ydCBjb25zdCBHbG9iYWxMaWJUeXBlTmFtZSA9IHtcbiAgaXNvbW9ycGhpY0xpYjogJ2lzb21vcnBoaWMtbGliJyxcbiAgYW5ndWxhckxpYjogJ2FuZ3VsYXItbGliJyxcbiAgZWxlY3Ryb25DbGllbnQ6ICdlbGVjdHJvbi1jbGllbnQnLFxuICBpb25pY0xpYjogJ2lvbmljLWxpYicsXG4gIGFuZ3VsYXJDbGllbnQ6ICdhbmd1bGFyLWNsaWVudCcsXG4gIGlvbmljQ2xpZW50OiAnaW9uaWMtY2xpZW50JyxcbiAgd29ya3NwYWNlOiAnd29ya3NwYWNlJyxcbiAgY29udGFpbmVyOiAnY29udGFpbmVyJyxcbiAgZG9ja2VyOiAnZG9ja2VyJyxcbiAgdW5rbm93TnBtUHJvamVjdDogJ3Vua25vdy1ucG0tcHJvamVjdCcsXG4gIHZzY29kZUV4dDogJ3ZzY29kZS1leHQnLFxuICBjaHJvbWVFeHQ6ICdjaHJvbWUtZXh0JyxcbiAgc2luZ2xlRmlsZVByb2plY3Q6ICdzaW5nbGUtZmlsZS1wcm9qZWN0JyxcbiAgbmF2aTogJ25hdmknLFxuICBzY2VuYXJpbzogJ3NjZW5hcmlvJ1xufTtcblxuZXhwb3J0IGNvbnN0IExpYlR5cGVBcnI6IENvbmZpZ01vZGVscy5MaWJUeXBlW10gPSBbXG4gIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmlzb21vcnBoaWNMaWIsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJDbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmlvbmljQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS5lbGVjdHJvbkNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUud29ya3NwYWNlLFxuICBHbG9iYWxMaWJUeXBlTmFtZS5jb250YWluZXIsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmRvY2tlcixcbiAgR2xvYmFsTGliVHlwZU5hbWUudW5rbm93TnBtUHJvamVjdCxcbiAgR2xvYmFsTGliVHlwZU5hbWUudnNjb2RlRXh0LFxuICBHbG9iYWxMaWJUeXBlTmFtZS5jaHJvbWVFeHQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLm5hdmksXG4gIEdsb2JhbExpYlR5cGVOYW1lLnNjZW5hcmlvLFxuXSBhcyBDb25maWdNb2RlbHMuTGliVHlwZVtdO1xuXG5cbmV4cG9ydCBjb25zdCBDb3JlTGliQ2F0ZWdvcnlBcnI6IENvbmZpZ01vZGVscy5Db3JlTGliQ2F0ZWdvcnlbXSA9IFsgLy8gVE9ETyB0aGlzIGlzIGZvciB3aGF0ID9cbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUuZWxlY3Ryb25DbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmlvbmljQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS5kb2NrZXIsXG4gICdjb21tb24nXG5dIGFzIENvbmZpZ01vZGVscy5Db3JlTGliQ2F0ZWdvcnlbXTtcblxuLy8jZW5kcmVnaW9uXG5cblxuXG5jb25zdCBhbGxvd2VkRW52aXJvbm1lbnRzOiBDb25maWdNb2RlbHMuRW52aXJvbm1lbnROYW1lW10gPSBbJ3N0YXRpYycsICdkZXYnLCAncHJvZCcsICdzdGFnZScsICdvbmxpbmUnLCAndGVzdCcsICdxYScsICdjdXN0b20nXTtcbmNvbnN0IGFsbG93ZWRFbnZpcm9ubWVudHNPYmogPSB7fTtcbmFsbG93ZWRFbnZpcm9ubWVudHMuZm9yRWFjaChzID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBhbGxvd2VkRW52aXJvbm1lbnRzT2JqW3NdID0gcztcbn0pO1xuXG5jb25zdCBmaXJlZGV2ID0gJ2ZpcmVkZXYnO1xuY29uc3QgbW9ycGhpID0gJ21vcnBoaSc7XG4vKiAqL1xuLyogKi9cbiAgXG5jb25zdCB1cmxNb3JwaGkgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RhcmVrZjc3L21vcnBoaS5naXQnO1xuXG5jb25zdCBmaWxlc05vdEFsbG93ZWRUb0NsZWFuID0ge1xuICBfZ2l0aWdub3JlOiAnLmdpdGlnbm9yZScsXG4gIF9ucG1yYzogJy5ucG1yYycsXG4gIF9ucG1pZ25vcmU6ICcubnBtaWdub3JlJyxcbiAgdHNsaW50X2pzb246ICd0c2xpbnQuanNvbicsXG4gIF9lZGl0b3Jjb25maWc6ICcuZWRpdG9yY29uZmlnJyxcbiAgX2FuZ3VsYXJDbGlfanNvbjogJy5hbmd1bGFyLWNsaS5qc29uJyxcbiAgX3ZzY29kZV9sYXVuY2hfanNvbjogJy52c2NvZGUvbGF1bmNoLmpzb24nLFxufTtcblxuY29uc3QgZmlsZSA9IHtcbiAgX2Jvd2VycmM6ICcuYm93ZXJyYycsXG4gIGJvd2VyX2pzb246ICdib3dlci5qc29uJyxcbiAgY29udHJvbGxlcnNfdHM6ICdjb250cm9sbGVycy50cycsXG4gIGVudGl0aWVzX3RzOiAnZW50aXRpZXMudHMnLFxuICBhbmd1bGFyX2pzb246ICdhbmd1bGFyLmpzb24nLFxuICBhdXRvYl9hY3Rpb25zX2pzOiAnYXV0by1hY3Rpb25zLmpzJyxcbiAgbG9jYWxfY29uZmlnX2pzOiAnbG9jYWwtY29uZmlnLmpzJyxcbiAgYnVpbGRfY29uZmlnX2pzOiAnYnVpbGQtY29uZmlnLmpzJyxcbiAgbG9jYWxfY29uZmlnOiAnbG9jYWwtY29uZmlnJyxcbiAgc3RhcnRfYmFja2VuZF90czogJ3N0YXJ0LmJhY2tlbmQudHMnLFxuICBwYWNrYWdlX2pzb246ICdwYWNrYWdlLmpzb24nLFxuICByZXN1bHRfcGFja2FnZXNfanNvbjogJ3Jlc3VsdC1wYWNrYWdlcy5qc29uJyxcbiAgcGFja2FnZV9qc29uNTogJ3BhY2thZ2UuanNvbjUnLFxuICBwYWNrYWdlX2pzb25fX3RucF9qc29uOiAncGFja2FnZS5qc29uX3RucC5qc29uJyxcbiAgcGFja2FnZV9qc29uX190bnBfanNvbjU6ICdwYWNrYWdlLmpzb25fdG5wLmpzb241JyxcbiAgcGFja2FnZV9qc29uX19kZXZEZXBlbmRlbmNpZXNfanNvbjogJ3BhY2thZ2UuanNvbl9kZXZEZXBlbmRlbmNpZXMuanNvbicsXG4gIHlhcm5fbG9jazogJ3lhcm4ubG9jaycsXG4gIHBhY2thZ2VfbG9ja19qc29uOiAncGFja2FnZS1sb2NrLmpzb24nLFxuICB0bnBFbnZpcm9ubWVudF9qc29uOiAndG1wLWVudmlyb25tZW50Lmpzb24nLFxuICBlbnZpcm9ubWVudDogJ2Vudmlyb25tZW50JyxcbiAgZW52aXJvbm1lbnRfanM6ICdlbnZpcm9ubWVudC5qcycsXG4gIHRtcF90cmFuc2FjdGlvbl9waWRfdHh0OiAndG1wLXRyYW5zYWN0aW9uLXBpZC50eHQnLFxuICBtYW5pZmVzdF93ZWJtYW5pZmVzdDogJ21hbmlmZXN0LndlYm1hbmlmZXN0JyxcbiAgcHVibGljQXBpX3RzOiAncHVibGljX2FwaS50cycsXG4gIHB1YmxpY0FwaV9kX3RzOiAncHVibGljX2FwaS5kLnRzJyxcbiAgcHVibGljYXBpX3RzOiAncHVibGljLWFwaS50cycsXG4gIF9iYWJlbHJjOiAnLmJhYmVscmMnLFxuICBpbmRleF9kX3RzOiAnaW5kZXguZC50cycsXG4gIGluZGV4X3RzOiAnaW5kZXgudHMnLFxuICBpbmRleF9qczogJ2luZGV4LmpzJyxcbiAgaW5kZXhfanNfbWFwOiAnaW5kZXguanMubWFwJyxcbiAgZGJfanNvbjogJ2RiLmpzb24nLFxuICBkYl9mb3JfdGVzdHNfanNvbjogJ2RiLWZvci10ZXN0cy5qc29uJyxcbiAgdG1wRG9ja2VySW1hZ2VJZDogJ3RtcC1kb2NrZXItaW1hZ2UtaWQnLFxuICB0bXBfcmVjZW50X2pzb246ICdyZWNlbnQuanNvbicsXG4gIHRtcElzb21vcnBoaWNQYWNrYWdlc0pzb246ICd0bXAtaXNvbW9ycGhpYy1wYWNrYWdlcy5qc29uJyxcbiAgdHNjb25maWdfanNvbjogJ3RzY29uZmlnLmpzb24nLFxuICBSRUFETUVfTUQ6ICdSRUFETUUubWQnLFxuICBzZXJ2ZXJfa2V5OiAnc2VydmVyLmtleScsXG4gIHNlcnZlcl9jZXJ0OiAnc2VydmVyLmNlcnQnLFxuICBzZXJ2ZXJfY2hhaW5fY2VydDogJ3NlcnZlci1jaGFpbi5jZXJ0JyxcbiAgbWV0YV9jb25maWdfbWQ6ICdtZXRhLWNvbnRlbnQubWQnLFxuICAuLi5maWxlc05vdEFsbG93ZWRUb0NsZWFuXG59O1xuXG5jb25zdCBwYWNrYWdlSnNvblNwbGl0ID0gW1xuICBmaWxlLnBhY2thZ2VfanNvbl9fdG5wX2pzb24sXG4gIGZpbGUucGFja2FnZV9qc29uX190bnBfanNvbjUsXG4gIGZpbGUucGFja2FnZV9qc29uX19kZXZEZXBlbmRlbmNpZXNfanNvbixcbl07XG5cbmNvbnN0IHRlbXBGb2xkZXJzID0ge1xuICBidW5kbGU6ICdidW5kbGUnLFxuICB2ZW5kb3I6ICd2ZW5kb3InLFxuICBkb2NzOiAnZG9jcycsXG4gIGRpc3Q6ICdkaXN0JyxcbiAgdG1wOiAndG1wJyxcbiAgdG1wQnVuZGxlUmVsZWFzZTogJ3RtcC1idW5kbGUtcmVsZWFzZScsXG4gIHRlbXBTcmM6ICd0bXAtc3JjJyxcbiAgdGVtcFNyY0Rpc3Q6ICd0bXAtc3JjLWRpc3QnLFxuICBwcmV2aWV3RGlzdEFwcDogJ2Rpc3QtYXBwJyxcbiAgcHJldmlldzogJ3ByZXZpZXcnLFxuICBicm93c2VyOiAnYnJvd3NlcicsXG4gIHdlYnNxbDogJ3dlYnNxbCcsXG4gIF9icm93c2VyOiAnLmJyb3dzZXInLFxuICBtb2R1bGU6ICdtb2R1bGUnLFxuICBiYWNrdXA6ICdiYWNrdXAnLFxuICBub2RlX21vZHVsZXM6ICdub2RlX21vZHVsZXMnLFxuICBjbGllbnQ6ICdjbGllbnQnLFxuICB0bnBfdGVzdHNfY29udGV4dDogJ3RtcC10ZXN0cy1jb250ZXh0JyxcbiAgdG1wUGFja2FnZTogJ3RtcC1wYWNrYWdlJyxcbiAgdG1wU2NlbmFyaW9zOiAndG1wLXNjZW5hcmlvcycsXG4gIHRtcFRlc3RzRW52aXJvbm1lbnRzOiAndG1wLXRlc3RzLWVudmlyb25tZW50cycsXG4gIHRlc3RzRW52aXJvbm1lbnRzOiAndGVzdHMtZW52aXJvbm1lbnRzJyxcbn07XG5cbmNvbnN0IHN0eWxlc0ZpbGVzRXh0ZW5zaW9uID0gW1xuICAnY3NzJyxcbiAgJ3Nhc3MnLFxuICAnc2NzcycsXG4gICdsZXNzJyxcbl07XG5cbmNvbnN0IGZvbGRlciA9IHtcbiAgc2NyaXB0czogJ3NjcmlwdHMnLFxuICBzY2VuYXJpb3M6ICdzY2VuYXJpb3MnLFxuICBib3dlcjogJ2Jvd2VyJyxcbiAgc3JjOiAnc3JjJyxcbiAgb3V0OiAnb3V0JyxcbiAgbGliOiAnbGliJyxcbiAgY3VzdG9tOiAnY3VzdG9tJyxcbiAgY29tcG9uZW50czogJ2NvbXBvbmVudHMnLFxuICBhc3NldHM6ICdhc3NldHMnLFxuICBhcHBzOiAnYXBwcycsXG4gIC8vIGVudGl0aWVzOiAnZW50aXRpZXMnLFxuICAvLyBjb250cm9sbGVyczogJ2NvbnRyb2xsZXJzJyxcbiAgLy8gcHJvamVjdHM6ICdwcm9qZWN0cycsXG4gIHdvcmtzcGFjZTogJ3dvcmtzcGFjZScsXG4gIGNvbnRhaW5lcjogJ2NvbnRhaW5lcicsXG4gIGJpbjogJ2JpbicsXG4gIF9iaW46ICcuYmluJyxcbiAgX3ZzY29kZTogJy52c2NvZGUnLFxuICBwcm9qZWN0OiAncHJvamVjdCcsXG4gIGV4dGVybmFsOiAnZXh0ZXJuYWwnLFxuICB0bXBEaXN0OiAndG1wLWRpc3QnLFxuICB0bXBGb3IoZDogQ29uZmlnTW9kZWxzLk91dEZvbGRlcikge1xuICAgIHJldHVybiBgdG1wLXNyYy0ke2R9YDtcbiAgfSxcbiAgdGFyZ2V0UHJvamVjdHM6IHtcbiAgICBERUZBVUxUX1BBVEhfR0VORVJBVEVEOiAndG1wLXRhcmdldC1wcm9qZWN0cy9nZW5lcmF0ZWQnLFxuICAgIERFRkFVTFRfUEFUSF9PUklHSU5TOiAndG1wLXRhcmdldC1wcm9qZWN0cy9vcmlnaW5zJyxcbiAgfSxcbiAgLi4udGVtcEZvbGRlcnNcbn07XG5cbi8vIEBMQVNUIFJFU09MVkUgVE5QIExPQ0FUSU9OICEhISBmb3IgZWFjaCBjb250ZXh0IGFuZCBSRUxFQVNFIFROUC1DT05GSUdcbmxldCBkaXJuYW1lRm9yVG5wOiBzdHJpbmc7XG4vKiAqL1xuLyogKi9cbiAgXG5jb25zdCBmaXJlZGV2UHJvamVjdHNSZWxhdGl2ZSA9IGAuLi9maXJlZGV2LXByb2plY3RzYDtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbmNvbnN0IG1vZHVsZU5hbWVBbmd1bGFyTGliID0gW1xuICBmb2xkZXIuY29tcG9uZW50cyxcbiAgZm9sZGVyLm1vZHVsZSxcbiAgZm9sZGVyLmRpc3QsXG4gIGZvbGRlci5icm93c2VyLFxuXTtcblxuY29uc3QgbW9kdWxlTmFtZUlzb21vcnBoaWNMaWIgPSBbXG4gIGZvbGRlci5zcmMsXG4gIGZvbGRlci5kaXN0LFxuICBmb2xkZXIuYnJvd3Nlcixcbl07XG5cbmNvbnN0IGFyZ3NSZXBsYWNlbWVudHNCdWlsZCA9IHtcbiAgLy8gU0hPUlRDVVRTXG4gICdiYSc6ICdidWlsZDphcHAnLFxuICAnYmF3JzogJ2J1aWxkOmFwcDp3YXRjaCcsXG4gICdidyc6ICdidWlsZDp3YXRjaCcsIC8vIGJ1aWQgZGlzdCB3YXRjaCB3aXRoIGF1dG9tYXRpYyBjb250YWluZXIvcHJldmlld1Byb2plY3RzIHBvcHVpbGF0aW9uXG4gICdiYXAnOiAnYnVpbGQ6YXBwOnByb2QnLFxuICAnYmFwdyc6ICdidWlsZDphcHA6cHJvZDp3YXRjaCcsXG5cbiAgLy8gKGRpc3QpYXBwIGJ1aWxkIGZvciBub3JtYWwgZGV2ZWxvcG1lbnQgLSB3YXRjaCBpcyBuZyBzZXJ2ZVxuICAnYmRhJzogJ2J1aWxkOmRpc3Q6YXBwJyxcbiAgJ2JkYXcnOiAnYnVpbGQ6ZGlzdDphcHA6d2F0Y2gnLFxuXG4gIC8vIChkaXN0KWFwcCBidWlsZCBmb3Igbm9ybWFsIGRldmVsb3BtZW50IChQUk9EVUNUSU9OIE1JTklGSUVEIENPREUpXG4gICdiYWRwdyc6ICdidWlsZDphcHA6ZGlzdDpwcm9kOndhdGNoJyxcbiAgJ2JhZHAnOiAnYnVpbGQ6YXBwOmRpc3Q6cHJvZCcsXG5cbiAgLy8gKGRpc3QpbGliIGJ1aWxkIC0gd2F0Y2ggaXMgbmcgYnVpbGRcbiAgJ2JkJzogJ2J1aWxkOmRpc3QnLCAnYmR3JzogJ2J1aWxkOmRpc3Q6d2F0Y2gnLFxuICAvLyAoZGlzdClsaWIgYnVpbGQgLSB3YXRjaCBpcyBuZyBidWlsZCAoUFJPRFVDVElPTiBNSU5JRklFRCBDT0RFKVxuICAnYmRwJzogJ2J1aWxkOmRpc3Q6cHJvZCcsICdiZHB3JzogJ2J1aWxkOmRpc3Q6cHJvZDp3YXRjaCcsXG5cbiAgLy8gKGJ1bmRsZSlhcHAgYnVpbGQgZm9yIHN0YXRpYyBjb2RlIChmaXJlZGV2IHBsdWdpbnMsIHByb2plY3QgZmluYWwgY29kZSwgZXRjLilcbiAgJ2JiYSc6ICdidWlsZDpidW5kbGU6YXBwJywgJ2JiYXcnOiAnYnVpbGQ6YnVuZGxlOmFwcDp3YXRjaCcsXG4gIC8vIChidW5sZSlsaWIgYnVpbGQgZm9yIHN0YXRpYyBjb2RlIChmaXJlZGV2IHBsdWdpbnMsIHByb2plY3QgZmluYWwgY29kZSwgZXRjLilcbiAgJ2JiJzogJ2J1aWxkOmJ1bmRsZScsICdiYncnOiAnYnVpbGQ6YnVuZGxlOndhdGNoJyxcbiAgLy8gKGJ1bmxlKWxpYiBidWlsZCBmb3Igc3RhdGljIGNvZGUgd2l0aCBuZyBidWlsZCAoUFJPRFVDVElPTiBNSU5JRklFRCBDT0RFKVxuICAnYmJwJzogJ2J1aWxkOmJ1bmRsZTpwcm9kJywgJ2JicHcnOiAnYnVpbGQ6YnVuZGxlOnByb2Q6d2F0Y2gnLFxuXG4gICdzYic6ICdzdGF0aWM6YnVpbGQnLFxuICAnc2JwJzogJ3N0YXRpYzpidWlsZDpwcm9kJyxcbiAgJ3NiZCc6ICdzdGF0aWM6YnVpbGQ6ZGlzdCcsXG4gICdzYmwnOiAnc3RhdGljOmJ1aWxkOmxpYicsXG4gICdzYmEnOiAnc3RhdGljOmJ1aWxkOmFwcCcsXG4gICdjYic6ICdjbGVhbjpidWlsZCdcbn07XG5cbmNvbnN0IGFyZ3NSZXBsYWNlbWVudHNPdGhlciA9IHtcbiAgLy8gZ2l0aHViIGRvY3NcbiAgJ2docHVzaCc6ICdnaXRodWJwdXNoJyxcbiAgJ2docHVsbCc6ICdnaXRodWJwdWxsJyxcbiAgLy8gbGFzdFxuICAnbCc6ICdsYXN0JyxcbiAgJ3NsJzogJ3Nob3c6bGFzdCcsXG4gICdsYic6ICdsYXN0OmJ1aWxkJyxcbiAgLy8gaW5zdGFsbFxuICAnaSc6ICdpbnN0YWxsJyxcbiAgJ3NpJzogJ3NpbnN0YWxsJyxcbiAgJ2lsJzogJ2luc3RhbGw6bG9jYWxseScsXG4gICdyYyc6ICdyZWNvbW1pdCcsXG4gIC8vIHJlbGVhc2VcbiAgJ3JwJzogJ3JlbGVhc2U6cHJvZCcsXG4gICdyJzogJ3JlbGVhc2UnLFxuICAncm1ham9yJzogJ3JlbGVhc2U6bWFqb3InLFxuICAncm1pbm9yJzogJ3JlbGVhc2U6bWlub3InLFxuICAvLyAncmEnOiAncmVsZWFzZTphbGwnLFxuICAnYXInOiAnYXV0bzpyZWxlYXNlJyxcbiAgLy8gdmVyc29wbVxuICAnLS12ZXJzaW9uJzogJ3ZlcnNpb24nLFxuICAnLXYnOiAndmVyc2lvbicsXG4gIC8vIG9wZW5cbiAgJ29jYyc6ICdvcGVuOmNvcmU6Y29udGFpbmVyJyxcbiAgJ29jcCc6ICdvcGVuOmNvcmU6cHJvamVjdCcsXG4gIC8vIHRlc3RcbiAgJ3R3ZCc6ICd0ZXN0OndhdGNoOmRlYnVnJyxcbiAgJ3Rkdyc6ICd0ZXN0OndhdGNoOmRlYnVnJyxcbiAgJ3R3JzogJ3Rlc3Q6d2F0Y2gnLFxuICAndGQnOiAndGVzdDpkZWJ1ZycsXG4gICd0JzogJ3Rlc3QnLFxuICAvLyBnaXQgcHVzaFxuICAncHQnOiAncHVzaDp0YWcnLFxuICAncCc6ICdwdXNoJyxcbiAgJ3BhJzogJ3B1c2hhbGxsJyxcbiAgLy8gb3RoZXJcbiAgJ3NqJzogJ3NlbGVjdDpqYXZhJyxcbiAgJ3NjbSc6ICdzaG93Y29yZW1vZHVsZXMnLFxuICAndHB1JzogJ3RhcmdldDpwcm9qOnVwZGF0ZScsXG4gICd1Z2QnOiAndXBkYXRlOmdsb2JhbDpkZXBzJyxcbiAgJ3VkJzogJ3VwZGF0ZTpkZXBzJywgLy8gc2FtZSBhcyBucG0gaVxuICAnZGdsJzogJ2RldGVjdDpnbG9iYWw6bGlicycsXG4gICdwcic6ICdwcmludDpyZWxhdGl2ZXMnLFxufTtcblxuY29uc3QgYXJlVHJ1c3RlZEZvclBhdGNoVXBkYXRlID0gW1xuICAnQGFuZ3VsYXInLFxuICAnQG5ncngnLFxuICAncnhqcycsXG4gICd6b25lLmpzJyxcbiAgJ3RzbGliJyxcbiAgJ3R5cGVzY3JpcHQnLFxuICAnd2VicGFjaydcbl07XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSB7XG4gIHBhY2thZ2VzVGhhdDoge1xuICAgIGFyZVRydXN0ZWRGb3JQYXRjaFVwZGF0ZSxcbiAgfSxcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBjb3JlUHJvamVjdFZlcnNpb25zOiBbJ3YxJywgJ3YyJywgJ3YzJ10sXG4gIHF1aWNrRml4ZXM6IHtcbiAgICBtaXNzaW5nTGliczogW1xuICAgICAgJ3JlYWN0LW5hdGl2ZS1zcWxpdGUtc3RvcmFnZSdcbiAgICBdXG4gIH0sXG4gIHBhY2thZ2VKc29uU3BsaXQsXG4gIHJlZ2V4U3RyaW5nOiB7XG4gICAgcGF0aFBhcnRTdHJpbmdSZWdleDogYChcXC8oW2EtekEtWjAtOV18XFxcXC18XFxcXF98XFxcXCt8XFxcXC4pKilgXG4gIH0sXG4gIHBsYWNlaG9sZGVyczoge1xuICAgIGZvclByb2plY3RzSW5FbnZpcm9ubWVudEZpbGU6ICcvLzxQTEFDRUhPTERFUl9GT1JfUFJPSkVDVFM+J1xuICB9LFxuICBhcnJheToge1xuICAgIGlzb21vcnBoaWNQYWNrYWdlczogJ2lzb21vcnBoaWNQYWNrYWdlcydcbiAgfSxcbiAgZGVmYXVsdEZyYW1ld29ya1ZlcnNpb246ICd2MycgYXMgQ29uZmlnTW9kZWxzLkZyYW1ld29ya1ZlcnNpb24sXG4gIENPTlNUOiB7XG4gICAgVU5JVF9URVNUX1RJTUVPVVQ6IDMwMDAwLFxuICAgIElOVEVHUkFUSU9OX1RFU1Q6IDMwMDAwLFxuICAgIEJBQ0tFTkRfSFRUUF9SRVFVRVNUX1RJTUVPVVQ6IDMwMDAsXG4gIH0sXG4gIGRlYnVnOiB7XG4gICAgc291cmNlTW9kaWZpZXI6IFtcblxuICAgIF0sXG4gICAgYmFzZWxpbmVTaXRlSm9pbjoge1xuICAgICAgREVCVUdfUEFUSEVTOiBbXG4gICAgICAgIC8vIFwic3JjL2FwcHMvYXV0aC9BdXRoQ29udHJvbGxlci50c1wiLFxuICAgICAgICAvLyAnL3NyYy9hcHAvK3ByZXZpZXctY29tcG9uZW50cy9wcmV2aWV3LWNvbXBvbmVudHMuY29tcG9uZW50LnRzJyxcbiAgICAgICAgLy8gJy9zcmMvY29udHJvbGxlcnMudHMnLFxuICAgICAgICAvLyAnL3NyYy9hcHAvK3ByZXZpZXctY29tcG9uZW50cy9jb21wb25lbnRzLytwcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy9wcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy5jb21wb25lbnQudHMnXG4gICAgICBdLFxuICAgICAgREVCVUdfTUVSR0VfUEFUSEVTOiBbXG4gICAgICAgIC8vIFwic3JjL2FwcHMvYXV0aC9BdXRoQ29udHJvbGxlci50c1wiLFxuICAgICAgICAvLyAnL3NyYy9hcHAvK3ByZXZpZXctY29tcG9uZW50cy9jb21wb25lbnRzLytwcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy9wcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy5jb21wb25lbnQudHMnXG4gICAgICAgIC8vICcvY29tcG9uZW50cy9mb3JtbHkvYmFzZS1jb21wb25lbnRzL2VkaXRvci9lZGl0b3Itd3JhcHBlci5jb21wb25lbnQudHMnXG4gICAgICAgIC8vICcvc3JjL2FwcC8rcHJldmlldy1jb21wb25lbnRzL2NvbXBvbmVudHMvK3ByZXZpZXctYnVpbGR0bnBwcm9jZXNzL3ByZXZpZXctYnVpbGR0bnBwcm9jZXNzLmNvbXBvbmVudC50cydcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4vKiAqL1xuLyogKi9cbiAgXG4gIGZyYW1ld29ya05hbWVzOiB7XG4gICAgdG5wOiAndG5wJyxcbiAgICBmaXJlZGV2OiAnZmlyZWRldidcbiAgfSxcbiAgc3RhcnRQb3J0OiA2MDAxLFxuICBmcmFtZXdvcmtzOiBbJ2Jvb3RzdHJhcCcsICdpb25pYycsICdtYXRlcmlhbCddIGFzIENvbmZpZ01vZGVscy5VSUZyYW1ld29ya1tdLFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBhbGxvd2VkRW52aXJvbm1lbnRzLFxuICBmb2xkZXIsXG4gIHRlbXBGb2xkZXJzLFxuICAvLyBAdHMtaWdub3JlXG4gIGZpbGVzTm90QWxsb3dlZFRvQ2xlYW46IE9iamVjdC5rZXlzKGZpbGVzTm90QWxsb3dlZFRvQ2xlYW4pLm1hcChrZXkgPT4gZmlsZXNOb3RBbGxvd2VkVG9DbGVhbltrZXldKSBhcyBzdHJpbmdbXSxcbiAgZmlsZSxcbiAgZGVmYXVsdDoge1xuICAgIGNsb3VkOiB7XG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBuYW1lOiAnb25saW5lJyBhcyBDb25maWdNb2RlbHMuRW52aXJvbm1lbnROYW1lXG4gICAgICB9XG4gICAgfVxuICB9LFxuICBTVUJFUklaRURfUFJFRklYOiBgLS0tc3R1YmVyaXplZGAsXG4gIG5hbWVzOiB7XG4gICAgZW52OiBhbGxvd2VkRW52aXJvbm1lbnRzT2JqLFxuICAgIGJhc2VsaW5lOiAnYmFzZWxpbmUnLFxuICAgIGRlZmF1bHRTZXJ2ZXI6ICdkZWZhdWx0IHNlcnZlcicsXG4gIH0sXG4gIHJlc2VydmVkQXJndW1lbnRzTmFtZXNVZ2xpZnk6IFtcbiAgICAncmVzZXJ2ZWRFeHBPbmUnLFxuICAgICdyZXNlcnZlZEV4cFNlYydcbiAgXSxcbiAgZXh0ZW5zaW9uczoge1xuICAgIC8qKlxuICAgICAgICogTW9kaWZ5IHNvdXJjZTogaW1wb3J0LGV4cG9ydCwgcmVxdWlyZXNcbiAgICAgICAqL1xuICAgIGdldCBtb2RpZmljYWJsZUJ5UmVwbGFjZUZuKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgJ3RzJyxcbiAgICAgICAgJ2pzJyxcbiAgICAgICAgLi4uc3R5bGVzRmlsZXNFeHRlbnNpb24sXG4gICAgICBdLm1hcChmID0+IGAuJHtmfWApO1xuICAgIH0sXG4gIH0sXG4gIG5vdEZpcmVkZXZQcm9qZWN0czogW1xuICAgICd1bmtub3cnLCAndW5rbm93LW5wbS1wcm9qZWN0JywgJ3NjZW5hcmlvJywgJ25hdmknXG4gIF0gYXMgQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSxcbiAgLyoqXG4gICAqIEJ1aWxkIGFsbG93ZWQgdHlwZXNcbiAgICovXG4gIGFsbG93ZWRUeXBlczoge1xuICAgIC8qKlxuICAgICAqIFByb2plY3RzIGZvciBidWlsZDphcHA6d2F0Y2ggY29tbWFuZFxuICAgICAqL1xuICAgIGFwcDogW1xuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckNsaWVudCxcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5pc29tb3JwaGljTGliLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5kb2NrZXIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5jb250YWluZXIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS52c2NvZGVFeHQsXG4gICAgXSBhcyBDb25maWdNb2RlbHMuTGliVHlwZVtdLFxuICAgIC8qKlxuICAgICAqIFByb2plY3RzIGZvciBidWlsZDooZGlzdHxidW5kbGUpOih3YXRjaCkgY29tbWFuZFxuICAgICAqL1xuICAgIGxpYnM6IFtcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5pc29tb3JwaGljTGliLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUud29ya3NwYWNlLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuY29udGFpbmVyLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuZG9ja2VyLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUudnNjb2RlRXh0LFxuICAgIF0gYXMgQ29uZmlnTW9kZWxzLkxpYlR5cGVbXVxuICB9LFxuICBtb2R1bGVOYW1lQW5ndWxhckxpYixcbiAgbW9kdWxlTmFtZUlzb21vcnBoaWNMaWIsXG4gIGZpbGVzRXh0ZW5zaW9uczoge1xuICAgIGZpbGV0ZW1wbGF0ZTogJ2ZpbGV0ZW1wbGF0ZScsXG4gICAgc3R5bGVzOiBzdHlsZXNGaWxlc0V4dGVuc2lvbixcbiAgfSxcbiAgcHJvamVjdFR5cGVzOiB7XG4gICAgZm9yTnBtTGliczogW1xuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmlzb21vcnBoaWNMaWIsXG4gICAgXSxcbiAgICB3aXRoOiB7XG4gICAgICBhbmd1bGFyQXNDb3JlOiBbXG4gICAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJDbGllbnQsXG4gICAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gICAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmlvbmljQ2xpZW50LFxuICAgICAgXSxcbiAgICAgIGNvbXBvbmV0c0FzU3JjOiBbXG4gICAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gICAgICBdLFxuICAgIH1cbiAgfSxcbiAgLy8gZW52aXJvbm1lbnROYW1lLFxuICBsb2NhbExpYnM6IFtcbiAgICAnZXNsaW50JyxcbiAgICAnbWtkaXJwJyxcbiAgICAnZ3VscCcsXG4gICAgJ25wbS1ydW4nLFxuICAgICdyaW1yYWYnLFxuICAgICdub2RlbW9uJyxcbiAgICAncmVsZWFzZS1pdCcsXG4gICAgJ3RzYycsXG4gICAgJ3dhdGNoJyxcbiAgICAnaHR0cC1zZXJ2ZXInLFxuICAgICd0cy1ub2RlJyxcbiAgICAnc29ydC1wYWNrYWdlLWpzb24nLFxuICAgICdjb25jdXJyZW50bHknLFxuICAgICdzbG9jJyxcbiAgICAnbW9ycGhpJ1xuICBdLFxuICBoZWxwQWxpYXM6IFtcbiAgICAnLWgnLFxuICAgICctLWhlbHAnLFxuICAgICctaGVscCcsXG4gICAgJ2hlbHAnXG4gIF0sXG4gIHJlcXVpcmVkOiB7XG4gICAgbnBtOiBbXG4gICAgICB7IG5hbWU6ICdAYW5ndWxhci9jbGknLCB2ZXJzaW9uOiAnMTMnIH0sXG4gICAgICB7IG5hbWU6ICdleHRyYWN0LXppcCcsIHZlcnNpb246ICcxLjYuNycgfSxcbiAgICAgIHsgbmFtZTogJ3dhdGNoJywgdmVyc2lvbjogJzEuMC4yJyB9LFxuICAgICAgeyBuYW1lOiAnY3ByJyB9LFxuICAgICAgeyBuYW1lOiAnY2hlY2stbm9kZS12ZXJzaW9uJyB9LFxuICAgICAgeyBuYW1lOiAnbnBtLXJ1bicsIHZlcnNpb246ICc0LjEuMicgfSxcbiAgICAgIHsgbmFtZTogJ3JpbXJhZicgfSxcbiAgICAgIHsgbmFtZTogJ21rZGlycCcgfSxcbiAgICAgIHsgbmFtZTogJ3JlbmFtZXInLCB2ZXJzaW9uOiAnMi4wLjEnIH0sXG4gICAgICB7IG5hbWU6ICdub2RlbW9uJyB9LFxuICAgICAgeyBuYW1lOiAnbWFkZ2UnIH0sXG4gICAgICB7IG5hbWU6ICd5YXJuJyB9LFxuICAgICAgeyBuYW1lOiAnaHR0cC1zZXJ2ZXInIH0sXG4gICAgICB7IG5hbWU6ICdpbmNyZWFzZS1tZW1vcnktbGltaXQnIH0sXG4gICAgICB7IG5hbWU6ICdib3dlcicgfSxcbiAgICAgIHsgbmFtZTogJ2ZraWxsJywgaW5zdGFsbE5hbWU6ICdma2lsbC1jbGknIH0sXG4gICAgICAvLyB7IG5hbWU6ICd5bycgfSxcbiAgICAgIHsgbmFtZTogJ21vY2hhJyB9LFxuICAgICAgLy8geyBuYW1lOiAnY2hhaScgfSxcbiAgICAgIHsgbmFtZTogJ3RzLW5vZGUnIH0sXG4gICAgICB7IG5hbWU6ICd2c2NlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3RtdXgnIH0sXG4gICAgICB7IG5hbWU6ICd3ZWJwYWNrLWJ1bmRsZS1hbmFseXplcicgfSxcbiAgICAgIC8vIHsgbmFtZTogJ25nJywgaW5zdGFsbE5hbWU6ICdAYW5ndWxhci9jbGknIH0sXG4gICAgICAvLyB7IG5hbWU6ICduZ3gtcHdhLWljb25zJywgdmVyc2lvbjogJzAuMS4yJyB9LFxuICAgICAgLy8geyBuYW1lOiAncmVhbC1mYXZpY29uJywgaW5zdGFsbE5hbWU6ICdjbGktcmVhbC1mYXZpY29uJyB9LFxuICAgICAgeyBuYW1lOiAnYmFiZWwnLCBpbnN0YWxsTmFtZTogJ2JhYmVsLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ2phdmFzY3JpcHQtb2JmdXNjYXRvcicsIHZlcnNpb246ICc0JyB9LFxuICAgICAgeyBuYW1lOiAndWdsaWZ5anMnLCBpbnN0YWxsTmFtZTogJ3VnbGlmeS1qcycgfSxcbiAgICBdLFxuICAgIG5pY2VUb29sczogW1xuICAgICAgeyBuYW1lOiAnc3BlZWQtdGVzdCcgfSxcbiAgICAgIHsgbmFtZTogJ25wbS1uYW1lJyB9LCAvLyBjaGVjayBpZiBuYW1lIGlzIGF2YWlsYWJsZSBvbiBucG1cbiAgICAgIHsgbmFtZTogJ3ZhbnRhZ2UnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBpbnNwZWN0IHlvdSBsaXZlIGFwcGxpY2FpdG9uXG4gICAgICB7IG5hbWU6ICdjbGluaWMnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBjaGVjayB3aHkgbm9kZWpzIGlzIHNsb3dcbiAgICAgIHsgbmFtZTogJ3Z0b3AnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBpbnNwZWN0IHlvdSBsaXZlIGFwcGxpY2FpdG9uLFxuICAgICAgeyBuYW1lOiAncHVibGljLWlwJyB9LFxuICAgICAgeyBuYW1lOiAnZW1wdHktdHJhc2gnIH0sXG4gICAgICB7IG5hbWU6ICdpcy11cCcgfSwgLy8gY2hlY2sgaWYgd2Vic2l0ZSBpcyBva1xuICAgICAgeyBuYW1lOiAnaXMtb25saW5lJyB9LCAvLyBjaGVjayBpZiBpbnRlcm5ldCBpcyBvayxcbiAgICAgIHsgbmFtZTogJ3R0eXN0dWRpbycgfSwgLy8gcmVjb3JkIHRlcm1pbmFsIGFjdGlvbnMsXG4gICAgICB7IG5hbWU6ICdiY2F0JyB9LCAvLyByZWRpcmVjdCBhbnkgc3RyZWFtIHRvIGJyb3dzZXIsXG4gICAgICB7IG5hbWU6ICd3aWZpLXBhc3N3b3JkJywgaW5zdGFsbE5hbWU6ICd3aWZpLXBhc3N3b3JkLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ3dhbGxwYXBlcicsIGluc3RhbGxOYW1lOiAnd2FsbHBhcGVyLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ2JyaWdodG5lc3MnLCBpbnN0YWxsTmFtZTogJ2JyaWdodG5lc3MtY2xpJyB9LFxuICAgICAgeyBuYW1lOiAnc3ViZG93bmxvYWRlcicgfSxcbiAgICAgIHsgbmFtZTogJ3J0YWlsJyB9LCAvLyBtb25pdG9yIG11bHRpcGxlIHNlcnZlclxuICAgICAgeyBuYW1lOiAnaXBvbm1hcCcgfSwgLy8gc2hvdyBpcCBpbiB0ZXJtaW5hbCBtYXAsXG4gICAgICB7IG5hbWU6ICdqc29tZScgfSwgLy8gZGlzcGxheSBjb2xvcmVkIGpzb25zLFxuICAgICAgeyBuYW1lOiAnZHJhd2lsbGUnLCBpc05vdENsaTogdHJ1ZSB9LCAvLyAzZCBkcndhIGluIHRlbXJpbmFsXG4gICAgICB7IG5hbWU6ICdjb2x1bW5pZnknLCBpc05vdENsaTogdHJ1ZSB9LCAvLyBkcmF3IG5pY2UgY29sdW1ucyBpbiBub2RlLFxuICAgICAgeyBuYW1lOiAnbXVsdGlzcGlubmVyJywgaXNOb3RDbGk6IHRydWUgfSwgLy8gcHJvZ3JlcyBmb3IgbXVsdGlwbGUgYXN5bmMgYWN0aW9uc1xuICAgICAgeyBuYW1lOiAnY2ZvbnRzJyB9LCAvLyBkcmF3IHN1cGVyIG5pY2UgZm9udHMgaW4gY29uc29sZVxuICAgIF0sXG4gICAgcHJvZ3JhbXM6IFssXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgICAgd2Vic2l0ZTogJ2h0dHBzOi8vY29kZS52aXN1YWxzdHVkaW8uY29tLydcbiAgICAgIH1cbiAgICBdXG4gIH1cbn07XG5cblxuXG4vLyBleHBvcnQgY29uc3QgR2xvYmFsSXNvbW9ycGhpY0RlcGVuZGVuY2llczogQ29uZmlnTW9kZWxzLkdsb2JhbERlcGVuZGVuY2llcyA9IHtcbi8vICAgbnBtOiBbXG4vLyAgICAgeyBuYW1lOiAncmltcmFmJyB9LFxuLy8gICAgIHsgbmFtZTogJ25wbS1ydW4nLCB2ZXJzaW9uOiAnNC4xLjInIH0sXG4vLyAgICAgeyBuYW1lOiAnY3ByJyB9LFxuLy8gICAgIHsgbmFtZTogJ2NoZWNrLW5vZGUtdmVyc2lvbicgfSxcbi8vICAgICB7IG5hbWU6ICd2c2NlJyB9LFxuLy8gICBdLFxuLy8gICBwcm9ncmFtczogW1xuLy8gICAgIC8vIHtcbi8vICAgICAvLyAgIG5hbWU6ICdjb2RlJyxcbi8vICAgICAvLyAgIHdlYnNpdGU6ICdodHRwczovL2NvZGUudmlzdWFsc3R1ZGlvLmNvbS8nXG4vLyAgICAgLy8gfVxuLy8gICBdIGFzIHsgbmFtZTogc3RyaW5nOyB3ZWJzaXRlOiBzdHJpbmcgfVtdXG4vLyB9O1xuIl19