tnp-config 1.0.20 → 1.0.22

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.
Files changed (57) hide show
  1. package/app.d.ts +0 -0
  2. package/app.js +3 -0
  3. package/app.js.map +1 -0
  4. package/browser/README.md +24 -0
  5. package/browser/esm2020/lib/config.mjs +510 -0
  6. package/browser/esm2020/lib/index.mjs +2 -0
  7. package/browser/esm2020/public-api.mjs +2 -0
  8. package/browser/esm2020/tnp-config.mjs +5 -0
  9. package/browser/{config.js → fesm2015/tnp-config.mjs} +91 -19
  10. package/browser/fesm2015/tnp-config.mjs.map +1 -0
  11. package/browser/fesm2020/tnp-config.mjs +517 -0
  12. package/browser/fesm2020/tnp-config.mjs.map +1 -0
  13. package/browser/{config.d.ts → lib/config.d.ts} +14 -10
  14. package/browser/{index.d.ts → lib/index.d.ts} +0 -0
  15. package/browser/package.json +31 -0
  16. package/browser/public-api.d.ts +1 -1
  17. package/browser/tnp-config.d.ts +5 -0
  18. package/client/README.md +24 -0
  19. package/client/esm2020/lib/config.mjs +510 -0
  20. package/client/esm2020/lib/index.mjs +2 -0
  21. package/client/esm2020/public-api.mjs +2 -0
  22. package/client/esm2020/tnp-config.mjs +5 -0
  23. package/client/{config.js → fesm2015/tnp-config.mjs} +91 -19
  24. package/client/fesm2015/tnp-config.mjs.map +1 -0
  25. package/client/fesm2020/tnp-config.mjs +517 -0
  26. package/client/fesm2020/tnp-config.mjs.map +1 -0
  27. package/client/{config.d.ts → lib/config.d.ts} +14 -10
  28. package/client/{index.d.ts → lib/index.d.ts} +0 -0
  29. package/client/package.json +26 -6
  30. package/client/public-api.d.ts +1 -1
  31. package/client/tnp-config.d.ts +5 -0
  32. package/{config.d.ts → lib/config.d.ts} +42 -22
  33. package/{config.js → lib/config.js} +113 -34
  34. package/lib/config.js.map +1 -0
  35. package/{index.d.ts → lib/index.d.ts} +0 -0
  36. package/{index.js → lib/index.js} +3 -2
  37. package/lib/index.js.map +1 -0
  38. package/package.json +6 -7
  39. package/package.json_devDependencies.json +66 -84
  40. package/package.json_tnp.json +3 -2
  41. package/package.json_tnp.json5 +31 -0
  42. package/tmp-environment.json +73 -124
  43. package/browser/config.js.map +0 -1
  44. package/browser/index.js +0 -2
  45. package/browser/index.js.map +0 -1
  46. package/browser/public-api.js +0 -2
  47. package/browser/public-api.js.map +0 -1
  48. package/client/config.js.map +0 -1
  49. package/client/index.js +0 -2
  50. package/client/index.js.map +0 -1
  51. package/client/public-api.js +0 -2
  52. package/client/public-api.js.map +0 -1
  53. package/config.js.map +0 -1
  54. package/index.js.map +0 -1
  55. package/public-api.d.ts +0 -1
  56. package/public-api.js +0 -5
  57. package/public-api.js.map +0 -1
package/app.d.ts ADDED
File without changes
package/app.js ADDED
@@ -0,0 +1,3 @@
1
+ console.log('nothing here');
2
+ //# sourceMappingURL=app.js.map
3
+ // @fixed
package/app.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,510 @@
1
+ /**
2
+ * Dariusz Filipiak
3
+ * @author darekf77@gmail.com
4
+ * Recommended config for all isomorphic libs *
5
+ */
6
+ export { CoreHelpers as Helpers } from 'tnp-core/browser';
7
+ export const GlobalIsomorphicDependencies = {
8
+ npm: [
9
+ { name: 'rimraf' },
10
+ { name: 'npm-run', version: '4.1.2' },
11
+ { name: 'cpr' },
12
+ { name: 'check-node-version' },
13
+ { name: 'vsce' },
14
+ ],
15
+ programs: [
16
+ // {
17
+ // name: 'code',
18
+ // website: 'https://code.visualstudio.com/'
19
+ // }
20
+ ]
21
+ };
22
+ export const GlobalLibTypeName = {
23
+ isomorphicLib: 'isomorphic-lib',
24
+ angularLib: 'angular-lib',
25
+ electronClient: 'electron-client',
26
+ ionicLib: 'ionic-lib',
27
+ angularClient: 'angular-client',
28
+ ionicClient: 'ionic-client',
29
+ workspace: 'workspace',
30
+ container: 'container',
31
+ docker: 'docker',
32
+ unknowNpmProject: 'unknow-npm-project',
33
+ vscodeExt: 'vscode-ext',
34
+ chromeExt: 'chrome-ext',
35
+ singleFileProject: 'single-file-project',
36
+ navi: 'navi',
37
+ scenario: 'scenario'
38
+ };
39
+ export const LibTypeArr = [
40
+ GlobalLibTypeName.angularLib,
41
+ GlobalLibTypeName.isomorphicLib,
42
+ GlobalLibTypeName.angularClient,
43
+ GlobalLibTypeName.ionicClient,
44
+ GlobalLibTypeName.electronClient,
45
+ GlobalLibTypeName.workspace,
46
+ GlobalLibTypeName.container,
47
+ GlobalLibTypeName.docker,
48
+ GlobalLibTypeName.unknowNpmProject,
49
+ GlobalLibTypeName.vscodeExt,
50
+ GlobalLibTypeName.chromeExt,
51
+ GlobalLibTypeName.navi,
52
+ GlobalLibTypeName.scenario,
53
+ ];
54
+ export const CoreLibCategoryArr = [
55
+ GlobalLibTypeName.angularLib,
56
+ GlobalLibTypeName.isomorphicLib,
57
+ GlobalLibTypeName.angularClient,
58
+ GlobalLibTypeName.electronClient,
59
+ GlobalLibTypeName.ionicClient,
60
+ GlobalLibTypeName.docker,
61
+ 'common'
62
+ ];
63
+ //#endregion
64
+ const allowedEnvironments = ['static', 'dev', 'prod', 'stage', 'online', 'test', 'qa', 'custom'];
65
+ const allowedEnvironmentsObj = {};
66
+ allowedEnvironments.forEach(s => {
67
+ // @ts-ignore
68
+ allowedEnvironmentsObj[s] = s;
69
+ });
70
+ const firedev = 'firedev';
71
+ const morphi = 'morphi';
72
+ const urlMorphi = 'https://github.com/darekf77/morphi.git';
73
+ const filesNotAllowedToClean = {
74
+ _gitignore: '.gitignore',
75
+ _npmrc: '.npmrc',
76
+ _npmignore: '.npmignore',
77
+ tslint_json: 'tslint.json',
78
+ _editorconfig: '.editorconfig',
79
+ _angularCli_json: '.angular-cli.json',
80
+ _vscode_launch_json: '.vscode/launch.json',
81
+ };
82
+ const file = {
83
+ _bowerrc: '.bowerrc',
84
+ bower_json: 'bower.json',
85
+ controllers_ts: 'controllers.ts',
86
+ entities_ts: 'entities.ts',
87
+ angular_json: 'angular.json',
88
+ autob_actions_js: 'auto-actions.js',
89
+ local_config_js: 'local-config.js',
90
+ build_config_js: 'build-config.js',
91
+ local_config: 'local-config',
92
+ start_backend_ts: 'start.backend.ts',
93
+ package_json: 'package.json',
94
+ result_packages_json: 'result-packages.json',
95
+ package_json5: 'package.json5',
96
+ package_json__tnp_json: 'package.json_tnp.json',
97
+ package_json__tnp_json5: 'package.json_tnp.json5',
98
+ package_json__devDependencies_json: 'package.json_devDependencies.json',
99
+ yarn_lock: 'yarn.lock',
100
+ package_lock_json: 'package-lock.json',
101
+ tnpEnvironment_json: 'tmp-environment.json',
102
+ environment: 'environment',
103
+ environment_js: 'environment.js',
104
+ tmp_transaction_pid_txt: 'tmp-transaction-pid.txt',
105
+ manifest_webmanifest: 'manifest.webmanifest',
106
+ publicApi_ts: 'public_api.ts',
107
+ publicApi_d_ts: 'public_api.d.ts',
108
+ publicapi_ts: 'public-api.ts',
109
+ _babelrc: '.babelrc',
110
+ index_d_ts: 'index.d.ts',
111
+ index_ts: 'index.ts',
112
+ index_js: 'index.js',
113
+ index_js_map: 'index.js.map',
114
+ db_json: 'db.json',
115
+ db_for_tests_json: 'db-for-tests.json',
116
+ tmpDockerImageId: 'tmp-docker-image-id',
117
+ tmp_recent_json: 'recent.json',
118
+ tmpIsomorphicPackagesJson: 'tmp-isomorphic-packages.json',
119
+ tsconfig_json: 'tsconfig.json',
120
+ README_MD: 'README.md',
121
+ server_key: 'server.key',
122
+ server_cert: 'server.cert',
123
+ server_chain_cert: 'server-chain.cert',
124
+ meta_config_md: 'meta-content.md',
125
+ ...filesNotAllowedToClean
126
+ };
127
+ const packageJsonSplit = [
128
+ file.package_json__tnp_json,
129
+ file.package_json__tnp_json5,
130
+ file.package_json__devDependencies_json,
131
+ ];
132
+ const tempFolders = {
133
+ bundle: 'bundle',
134
+ vendor: 'vendor',
135
+ docs: 'docs',
136
+ dist: 'dist',
137
+ tmp: 'tmp',
138
+ tmpBundleRelease: 'tmp-bundle-release',
139
+ tempSrc: 'tmp-src',
140
+ tempSrcDist: 'tmp-src-dist',
141
+ previewDistApp: 'dist-app',
142
+ preview: 'preview',
143
+ browser: 'browser',
144
+ _browser: '.browser',
145
+ module: 'module',
146
+ backup: 'backup',
147
+ node_modules: 'node_modules',
148
+ client: 'client',
149
+ tnp_tests_context: 'tmp-tests-context',
150
+ tmpPackage: 'tmp-package',
151
+ tmpScenarios: 'tmp-scenarios',
152
+ tmpTestsEnvironments: 'tmp-tests-environments',
153
+ testsEnvironments: 'tests-environments',
154
+ };
155
+ const stylesFilesExtension = [
156
+ 'css',
157
+ 'sass',
158
+ 'scss',
159
+ 'less',
160
+ ];
161
+ const folder = {
162
+ scripts: 'scripts',
163
+ scenarios: 'scenarios',
164
+ bower: 'bower',
165
+ src: 'src',
166
+ out: 'out',
167
+ custom: 'custom',
168
+ components: 'components',
169
+ assets: 'assets',
170
+ apps: 'apps',
171
+ // entities: 'entities',
172
+ // controllers: 'controllers',
173
+ // projects: 'projects',
174
+ workspace: 'workspace',
175
+ container: 'container',
176
+ bin: 'bin',
177
+ _bin: '.bin',
178
+ _vscode: '.vscode',
179
+ project: 'project',
180
+ external: 'external',
181
+ tmpDist: 'tmp-dist',
182
+ tmpFor(d) {
183
+ return `tmp-src-${d}`;
184
+ },
185
+ targetProjects: {
186
+ DEFAULT_PATH_GENERATED: 'tmp-target-projects/generated',
187
+ DEFAULT_PATH_ORIGINS: 'tmp-target-projects/origins',
188
+ },
189
+ ...tempFolders
190
+ };
191
+ // @LAST RESOLVE TNP LOCATION !!! for each context and RELEASE TNP-CONFIG
192
+ let dirnameForTnp;
193
+ const firedevProjectsRelative = `../firedev-projects`;
194
+ const moduleNameAngularLib = [
195
+ folder.components,
196
+ folder.module,
197
+ folder.dist,
198
+ folder.browser,
199
+ ];
200
+ const moduleNameIsomorphicLib = [
201
+ folder.src,
202
+ folder.dist,
203
+ folder.browser,
204
+ ];
205
+ const argsReplacementsBuild = {
206
+ // SHORTCUTS
207
+ 'ba': 'build:app',
208
+ 'baw': 'build:app:watch',
209
+ 'bw': 'build:watch',
210
+ 'bap': 'build:app:prod',
211
+ 'bapw': 'build:app:prod:watch',
212
+ // (dist)app build for normal development - watch is ng serve
213
+ 'bda': 'build:dist:app',
214
+ 'bdaw': 'build:dist:app:watch',
215
+ // (dist)app build for normal development (PRODUCTION MINIFIED CODE)
216
+ 'badpw': 'build:app:dist:prod:watch',
217
+ 'badp': 'build:app:dist:prod',
218
+ // (dist)lib build - watch is ng build
219
+ 'bd': 'build:dist', 'bdw': 'build:dist:watch',
220
+ // (dist)lib build - watch is ng build (PRODUCTION MINIFIED CODE)
221
+ 'bdp': 'build:dist:prod', 'bdpw': 'build:dist:prod:watch',
222
+ // (bundle)app build for static code (firedev plugins, project final code, etc.)
223
+ 'bba': 'build:bundle:app', 'bbaw': 'build:bundle:app:watch',
224
+ // (bunle)lib build for static code (firedev plugins, project final code, etc.)
225
+ 'bb': 'build:bundle', 'bbw': 'build:bundle:watch',
226
+ // (bunle)lib build for static code with ng build (PRODUCTION MINIFIED CODE)
227
+ 'bbp': 'build:bundle:prod', 'bbpw': 'build:bundle:prod:watch',
228
+ 'sb': 'static:build',
229
+ 'sbp': 'static:build:prod',
230
+ 'sbd': 'static:build:dist',
231
+ 'sbl': 'static:build:lib',
232
+ 'sba': 'static:build:app',
233
+ 'cb': 'clean:build'
234
+ };
235
+ const argsReplacementsOther = {
236
+ // github docs
237
+ 'ghpush': 'githubpush',
238
+ 'ghpull': 'githubpull',
239
+ // last
240
+ 'l': 'last',
241
+ 'sl': 'show:last',
242
+ 'lb': 'last:build',
243
+ // install
244
+ 'i': 'install',
245
+ 'si': 'sinstall',
246
+ 'il': 'install:locally',
247
+ 'rc': 'recommit',
248
+ // release
249
+ 'rp': 'release:prod',
250
+ 'r': 'release',
251
+ 'ra': 'release:all',
252
+ 'ar': 'auto:release',
253
+ // versopm
254
+ '--version': 'version',
255
+ '-v': 'version',
256
+ // open
257
+ 'occ': 'open:core:container',
258
+ 'ocp': 'open:core:project',
259
+ // test
260
+ 'twd': 'test:watch:debug',
261
+ 'tdw': 'test:watch:debug',
262
+ 'tw': 'test:watch',
263
+ 'td': 'test:debug',
264
+ 't': 'test',
265
+ // git push
266
+ 'pt': 'push:tag',
267
+ 'p': 'push',
268
+ 'pa': 'pushalll',
269
+ // other
270
+ 'scm': 'showcoremodules',
271
+ 'tpu': 'target:proj:update',
272
+ 'ugd': 'update:global:deps',
273
+ 'ud': 'update:deps',
274
+ 'dgl': 'detect:global:libs',
275
+ 'pr': 'print:relatives',
276
+ };
277
+ const areTrustedForPatchUpdate = [
278
+ '@angular',
279
+ '@ngrx',
280
+ 'rxjs',
281
+ 'zone.js',
282
+ 'tslib',
283
+ 'typescript',
284
+ 'webpack'
285
+ ];
286
+ export const config = {
287
+ packagesThat: {
288
+ areTrustedForPatchUpdate,
289
+ },
290
+ coreProjectVersions: ['v1', 'v2', 'v3'],
291
+ quickFixes: {
292
+ missingLibs: [
293
+ 'react-native-sqlite-storage'
294
+ ]
295
+ },
296
+ packageJsonSplit,
297
+ regexString: {
298
+ pathPartStringRegex: `(\/([a-zA-Z0-9]|\\-|\\_|\\+|\\.)*)`
299
+ },
300
+ placeholders: {
301
+ forProjectsInEnvironmentFile: '//<PLACEHOLDER_FOR_PROJECTS>'
302
+ },
303
+ array: {
304
+ isomorphicPackages: 'isomorphicPackages'
305
+ },
306
+ defaultFrameworkVersion: 'v3',
307
+ CONST: {
308
+ UNIT_TEST_TIMEOUT: 30000,
309
+ INTEGRATION_TEST: 30000,
310
+ BACKEND_HTTP_REQUEST_TIMEOUT: 3000,
311
+ },
312
+ debug: {
313
+ sourceModifier: [],
314
+ baselineSiteJoin: {
315
+ DEBUG_PATHES: [
316
+ // "src/apps/auth/AuthController.ts",
317
+ // '/src/app/+preview-components/preview-components.component.ts',
318
+ // '/src/controllers.ts',
319
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
320
+ ],
321
+ DEBUG_MERGE_PATHES: [
322
+ // "src/apps/auth/AuthController.ts",
323
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
324
+ // '/components/formly/base-components/editor/editor-wrapper.component.ts'
325
+ // '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
326
+ ]
327
+ }
328
+ },
329
+ frameworkNames: {
330
+ tnp: 'tnp',
331
+ firedev: 'firedev'
332
+ },
333
+ startPort: 6001,
334
+ frameworks: ['bootstrap', 'ionic', 'material'],
335
+ allowedEnvironments,
336
+ folder,
337
+ tempFolders,
338
+ // @ts-ignore
339
+ filesNotAllowedToClean: Object.keys(filesNotAllowedToClean).map(key => filesNotAllowedToClean[key]),
340
+ file,
341
+ default: {
342
+ cloud: {
343
+ environment: {
344
+ name: 'online'
345
+ }
346
+ }
347
+ },
348
+ SUBERIZED_PREFIX: `---stuberized`,
349
+ names: {
350
+ env: allowedEnvironmentsObj,
351
+ baseline: 'baseline',
352
+ defaultServer: 'default server',
353
+ },
354
+ reservedArgumentsNamesUglify: [
355
+ 'reservedExpOne',
356
+ 'reservedExpSec'
357
+ ],
358
+ extensions: {
359
+ /**
360
+ * Modify source: import,export, requires
361
+ */
362
+ get modificableByReplaceFn() {
363
+ return [
364
+ 'ts',
365
+ 'js',
366
+ ...stylesFilesExtension,
367
+ ].map(f => `.${f}`);
368
+ },
369
+ },
370
+ notFiredevProjects: [
371
+ 'unknow', 'unknow-npm-project', 'scenario', 'navi'
372
+ ],
373
+ /**
374
+ * Build allowed types
375
+ */
376
+ allowedTypes: {
377
+ /**
378
+ * Projects for build:app:watch command
379
+ */
380
+ app: [
381
+ GlobalLibTypeName.angularClient,
382
+ GlobalLibTypeName.angularLib,
383
+ GlobalLibTypeName.isomorphicLib,
384
+ GlobalLibTypeName.ionicClient,
385
+ GlobalLibTypeName.docker,
386
+ GlobalLibTypeName.container,
387
+ GlobalLibTypeName.vscodeExt,
388
+ ],
389
+ /**
390
+ * Projects for build:(dist|bundle):(watch) command
391
+ */
392
+ libs: [
393
+ GlobalLibTypeName.angularLib,
394
+ GlobalLibTypeName.isomorphicLib,
395
+ GlobalLibTypeName.workspace,
396
+ GlobalLibTypeName.container,
397
+ GlobalLibTypeName.docker,
398
+ GlobalLibTypeName.vscodeExt,
399
+ ]
400
+ },
401
+ moduleNameAngularLib,
402
+ moduleNameIsomorphicLib,
403
+ filesExtensions: {
404
+ filetemplate: 'filetemplate',
405
+ styles: stylesFilesExtension,
406
+ },
407
+ projectTypes: {
408
+ forNpmLibs: [
409
+ GlobalLibTypeName.angularLib,
410
+ GlobalLibTypeName.isomorphicLib,
411
+ ],
412
+ with: {
413
+ angularAsCore: [
414
+ GlobalLibTypeName.angularClient,
415
+ GlobalLibTypeName.angularLib,
416
+ GlobalLibTypeName.ionicClient,
417
+ ],
418
+ componetsAsSrc: [
419
+ GlobalLibTypeName.angularLib,
420
+ ],
421
+ }
422
+ },
423
+ // environmentName,
424
+ localLibs: [
425
+ 'eslint',
426
+ 'mkdirp',
427
+ 'gulp',
428
+ 'npm-run',
429
+ 'rimraf',
430
+ 'nodemon',
431
+ 'release-it',
432
+ 'tsc',
433
+ 'watch',
434
+ 'http-server',
435
+ 'ts-node',
436
+ 'sort-package-json',
437
+ 'concurrently',
438
+ 'sloc',
439
+ 'morphi'
440
+ ],
441
+ helpAlias: [
442
+ '-h',
443
+ '--help',
444
+ '-help',
445
+ 'help'
446
+ ],
447
+ required: {
448
+ npm: [
449
+ { name: 'extract-zip', version: '1.6.7' },
450
+ { name: 'watch', version: '1.0.2' },
451
+ { name: 'cpr' },
452
+ { name: 'check-node-version' },
453
+ { name: 'npm-run', version: '4.1.2' },
454
+ { name: 'rimraf' },
455
+ { name: 'mkdirp' },
456
+ { name: 'renamer', version: '2.0.1' },
457
+ { name: 'nodemon' },
458
+ { name: 'madge' },
459
+ { name: 'yarn' },
460
+ { name: 'http-server' },
461
+ { name: 'increase-memory-limit' },
462
+ { name: 'bower' },
463
+ { name: 'fkill', installName: 'fkill-cli' },
464
+ // { name: 'yo' },
465
+ { name: 'mocha' },
466
+ // { name: 'chai' },
467
+ { name: 'ts-node' },
468
+ { name: 'vsce' },
469
+ // { name: 'stmux' },
470
+ { name: 'webpack-bundle-analyzer' },
471
+ // { name: 'ng', installName: '@angular/cli' },
472
+ // { name: 'ngx-pwa-icons', version: '0.1.2' },
473
+ // { name: 'real-favicon', installName: 'cli-real-favicon' },
474
+ { name: 'babel', installName: 'babel-cli' },
475
+ { name: 'javascript-obfuscator' },
476
+ { name: 'uglifyjs', installName: 'uglify-js' },
477
+ ],
478
+ niceTools: [
479
+ { name: 'speed-test' },
480
+ { name: 'npm-name' },
481
+ { name: 'vantage', platform: 'linux' },
482
+ { name: 'clinic', platform: 'linux' },
483
+ { name: 'vtop', platform: 'linux' },
484
+ { name: 'public-ip' },
485
+ { name: 'empty-trash' },
486
+ { name: 'is-up' },
487
+ { name: 'is-online' },
488
+ { name: 'ttystudio' },
489
+ { name: 'bcat' },
490
+ { name: 'wifi-password', installName: 'wifi-password-cli' },
491
+ { name: 'wallpaper', installName: 'wallpaper-cli' },
492
+ { name: 'brightness', installName: 'brightness-cli' },
493
+ { name: 'subdownloader' },
494
+ { name: 'rtail' },
495
+ { name: 'iponmap' },
496
+ { name: 'jsome' },
497
+ { name: 'drawille', isNotCli: true },
498
+ { name: 'columnify', isNotCli: true },
499
+ { name: 'multispinner', isNotCli: true },
500
+ { name: 'cfonts' }, // draw super nice fonts in console
501
+ ],
502
+ programs: [,
503
+ {
504
+ name: 'code',
505
+ website: 'https://code.visualstudio.com/'
506
+ }
507
+ ]
508
+ }
509
+ };
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtY29uZmlnL3Byb2plY3RzL3RucC1jb25maWcvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUdILE9BQU8sRUFBRSxXQUFXLElBQUksT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFzRTFELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFvQztJQUMzRSxHQUFHLEVBQUU7UUFDSCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7UUFDbEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7UUFDckMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQ2YsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7UUFDOUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFO0lBQ1IsSUFBSTtJQUNKLGtCQUFrQjtJQUNsQiw4Q0FBOEM7SUFDOUMsSUFBSTtLQUNrQztDQUN6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixVQUFVLEVBQUUsYUFBYTtJQUN6QixjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsU0FBUyxFQUFFLFdBQVc7SUFDdEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTJCO0lBQ2hELGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLFdBQVc7SUFDN0IsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQyxTQUFTO0lBQzNCLGlCQUFpQixDQUFDLFNBQVM7SUFDM0IsaUJBQWlCLENBQUMsTUFBTTtJQUN4QixpQkFBaUIsQ0FBQyxnQkFBZ0I7SUFDbEMsaUJBQWlCLENBQUMsU0FBUztJQUMzQixpQkFBaUIsQ0FBQyxTQUFTO0lBQzNCLGlCQUFpQixDQUFDLElBQUk7SUFDdEIsaUJBQWlCLENBQUMsUUFBUTtDQUNELENBQUM7QUFHNUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1DO0lBQ2hFLGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLGNBQWM7SUFDaEMsaUJBQWlCLENBQUMsV0FBVztJQUM3QixpQkFBaUIsQ0FBQyxNQUFNO0lBQ3hCLFFBQVE7Q0FDeUIsQ0FBQztBQUVwQyxZQUFZO0FBSVosTUFBTSxtQkFBbUIsR0FBbUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDakksTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFDbEMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzlCLGFBQWE7SUFDYixzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBRXhCLE1BQU0sU0FBUyxHQUFHLHdDQUF3QyxDQUFDO0FBRTNELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsVUFBVSxFQUFFLFlBQVk7SUFDeEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLG1CQUFtQixFQUFFLHFCQUFxQjtDQUMzQyxDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUc7SUFDWCxRQUFRLEVBQUUsVUFBVTtJQUNwQixVQUFVLEVBQUUsWUFBWTtJQUN4QixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxjQUFjO0lBQzVCLGdCQUFnQixFQUFFLGlCQUFpQjtJQUNuQyxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsWUFBWSxFQUFFLGNBQWM7SUFDNUIsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLFlBQVksRUFBRSxjQUFjO0lBQzVCLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxhQUFhLEVBQUUsZUFBZTtJQUM5QixzQkFBc0IsRUFBRSx1QkFBdUI7SUFDL0MsdUJBQXVCLEVBQUUsd0JBQXdCO0lBQ2pELGtDQUFrQyxFQUFFLG1DQUFtQztJQUN2RSxTQUFTLEVBQUUsV0FBVztJQUN0QixpQkFBaUIsRUFBRSxtQkFBbUI7SUFDdEMsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsdUJBQXVCLEVBQUUseUJBQXlCO0lBQ2xELG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxZQUFZLEVBQUUsZUFBZTtJQUM3QixjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFlBQVksRUFBRSxjQUFjO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxnQkFBZ0IsRUFBRSxxQkFBcUI7SUFDdkMsZUFBZSxFQUFFLGFBQWE7SUFDOUIseUJBQXlCLEVBQUUsOEJBQThCO0lBQ3pELGFBQWEsRUFBRSxlQUFlO0lBQzlCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLEdBQUcsc0JBQXNCO0NBQzFCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLElBQUksQ0FBQyxzQkFBc0I7SUFDM0IsSUFBSSxDQUFDLHVCQUF1QjtJQUM1QixJQUFJLENBQUMsa0NBQWtDO0NBQ3hDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRztJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixnQkFBZ0IsRUFBRSxvQkFBb0I7SUFDdEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLGNBQWM7SUFDM0IsY0FBYyxFQUFFLFVBQVU7SUFDMUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsWUFBWSxFQUFFLGNBQWM7SUFDNUIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLG9CQUFvQixFQUFFLHdCQUF3QjtJQUM5QyxpQkFBaUIsRUFBRSxvQkFBb0I7Q0FDeEMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtDQUNQLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRztJQUNiLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLEtBQUssRUFBRSxPQUFPO0lBQ2QsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osd0JBQXdCO0lBQ3hCLDhCQUE4QjtJQUM5Qix3QkFBd0I7SUFDeEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsR0FBRyxFQUFFLEtBQUs7SUFDVixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE1BQU0sQ0FBQyxDQUF5QjtRQUM5QixPQUFPLFdBQVcsQ0FBQyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELGNBQWMsRUFBRTtRQUNkLHNCQUFzQixFQUFFLCtCQUErQjtRQUN2RCxvQkFBb0IsRUFBRSw2QkFBNkI7S0FDcEQ7SUFDRCxHQUFHLFdBQVc7Q0FDZixDQUFDO0FBRUYseUVBQXlFO0FBQ3pFLElBQUksYUFBcUIsQ0FBQztBQUUxQixNQUFNLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBTXRELE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsTUFBTSxDQUFDLFVBQVU7SUFDakIsTUFBTSxDQUFDLE1BQU07SUFDYixNQUFNLENBQUMsSUFBSTtJQUNYLE1BQU0sQ0FBQyxPQUFPO0NBQ2YsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsTUFBTSxDQUFDLEdBQUc7SUFDVixNQUFNLENBQUMsSUFBSTtJQUNYLE1BQU0sQ0FBQyxPQUFPO0NBQ2YsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUc7SUFDNUIsWUFBWTtJQUNaLElBQUksRUFBRSxXQUFXO0lBQ2pCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixNQUFNLEVBQUUsc0JBQXNCO0lBRTlCLDZEQUE2RDtJQUM3RCxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLE1BQU0sRUFBRSxzQkFBc0I7SUFFOUIsb0VBQW9FO0lBQ3BFLE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsTUFBTSxFQUFFLHFCQUFxQjtJQUU3QixzQ0FBc0M7SUFDdEMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsa0JBQWtCO0lBQzdDLGlFQUFpRTtJQUNqRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLHVCQUF1QjtJQUV6RCxnRkFBZ0Y7SUFDaEYsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSx3QkFBd0I7SUFDM0QsK0VBQStFO0lBQy9FLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLG9CQUFvQjtJQUNqRCw0RUFBNEU7SUFDNUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSx5QkFBeUI7SUFFN0QsSUFBSSxFQUFFLGNBQWM7SUFDcEIsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixJQUFJLEVBQUUsYUFBYTtDQUNwQixDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixjQUFjO0lBQ2QsUUFBUSxFQUFFLFlBQVk7SUFDdEIsUUFBUSxFQUFFLFlBQVk7SUFDdEIsT0FBTztJQUNQLEdBQUcsRUFBRSxNQUFNO0lBQ1gsSUFBSSxFQUFFLFdBQVc7SUFDakIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsVUFBVTtJQUNWLEdBQUcsRUFBRSxTQUFTO0lBQ2QsSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixJQUFJLEVBQUUsVUFBVTtJQUNoQixVQUFVO0lBQ1YsSUFBSSxFQUFFLGNBQWM7SUFDcEIsR0FBRyxFQUFFLFNBQVM7SUFDZCxJQUFJLEVBQUUsYUFBYTtJQUNuQixJQUFJLEVBQUUsY0FBYztJQUNwQixVQUFVO0lBQ1YsV0FBVyxFQUFFLFNBQVM7SUFDdEIsSUFBSSxFQUFFLFNBQVM7SUFDZixPQUFPO0lBQ1AsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLE9BQU87SUFDUCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsR0FBRyxFQUFFLE1BQU07SUFDWCxXQUFXO0lBQ1gsSUFBSSxFQUFFLFVBQVU7SUFDaEIsR0FBRyxFQUFFLE1BQU07SUFDWCxJQUFJLEVBQUUsVUFBVTtJQUNoQixRQUFRO0lBQ1IsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsb0JBQW9CO0lBQzNCLEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsSUFBSSxFQUFFLGFBQWE7SUFDbkIsS0FBSyxFQUFFLG9CQUFvQjtJQUMzQixJQUFJLEVBQUUsaUJBQWlCO0NBQ3hCLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHO0lBQy9CLFVBQVU7SUFDVixPQUFPO0lBQ1AsTUFBTTtJQUNOLFNBQVM7SUFDVCxPQUFPO0lBQ1AsWUFBWTtJQUNaLFNBQVM7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLFlBQVksRUFBRTtRQUNaLHdCQUF3QjtLQUN6QjtJQUVELG1CQUFtQixFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDdkMsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFO1lBQ1gsNkJBQTZCO1NBQzlCO0tBQ0Y7SUFDRCxnQkFBZ0I7SUFDaEIsV0FBVyxFQUFFO1FBQ1gsbUJBQW1CLEVBQUUsb0NBQW9DO0tBQzFEO0lBQ0QsWUFBWSxFQUFFO1FBQ1osNEJBQTRCLEVBQUUsOEJBQThCO0tBQzdEO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsa0JBQWtCLEVBQUUsb0JBQW9CO0tBQ3pDO0lBQ0QsdUJBQXVCLEVBQUUsSUFBcUM7SUFDOUQsS0FBSyxFQUFFO1FBQ0wsaUJBQWlCLEVBQUUsS0FBSztRQUN4QixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLDRCQUE0QixFQUFFLElBQUk7S0FDbkM7SUFDRCxLQUFLLEVBQUU7UUFDTCxjQUFjLEVBQUUsRUFFZjtRQUNELGdCQUFnQixFQUFFO1lBQ2hCLFlBQVksRUFBRTtZQUNaLHFDQUFxQztZQUNyQyxrRUFBa0U7WUFDbEUseUJBQXlCO1lBQ3pCLDBHQUEwRzthQUMzRztZQUNELGtCQUFrQixFQUFFO1lBQ2xCLHFDQUFxQztZQUNyQywwR0FBMEc7WUFDMUcsMEVBQTBFO1lBQzFFLDBHQUEwRzthQUMzRztTQUNGO0tBQ0Y7SUFFRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsS0FBSztRQUNWLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBK0I7SUFFNUUsbUJBQW1CO0lBQ25CLE1BQU07SUFDTixXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBYTtJQUMvRyxJQUFJO0lBQ0osT0FBTyxFQUFFO1FBQ1AsS0FBSyxFQUFFO1lBQ0wsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxRQUF3QzthQUMvQztTQUNGO0tBQ0Y7SUFDRCxnQkFBZ0IsRUFBRSxlQUFlO0lBQ2pDLEtBQUssRUFBRTtRQUNMLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsYUFBYSxFQUFFLGdCQUFnQjtLQUNoQztJQUNELDRCQUE0QixFQUFFO1FBQzVCLGdCQUFnQjtRQUNoQixnQkFBZ0I7S0FDakI7SUFDRCxVQUFVLEVBQUU7UUFDVjs7YUFFSztRQUNMLElBQUksc0JBQXNCO1lBQ3hCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixJQUFJO2dCQUNKLEdBQUcsb0JBQW9CO2FBQ3hCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7S0FDRjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsTUFBTTtLQUN6QjtJQUMzQjs7T0FFRztJQUNILFlBQVksRUFBRTtRQUNaOztXQUVHO1FBQ0gsR0FBRyxFQUFFO1lBQ0gsaUJBQWlCLENBQUMsYUFBYTtZQUMvQixpQkFBaUIsQ0FBQyxVQUFVO1lBQzVCLGlCQUFpQixDQUFDLGFBQWE7WUFDL0IsaUJBQWlCLENBQUMsV0FBVztZQUM3QixpQkFBaUIsQ0FBQyxNQUFNO1lBQ3hCLGlCQUFpQixDQUFDLFNBQVM7WUFDM0IsaUJBQWlCLENBQUMsU0FBUztTQUNGO1FBQzNCOztXQUVHO1FBQ0gsSUFBSSxFQUFFO1lBQ0osaUJBQWlCLENBQUMsVUFBVTtZQUM1QixpQkFBaUIsQ0FBQyxhQUFhO1lBQy9CLGlCQUFpQixDQUFDLFNBQVM7WUFDM0IsaUJBQWlCLENBQUMsU0FBUztZQUMzQixpQkFBaUIsQ0FBQyxNQUFNO1lBQ3hCLGlCQUFpQixDQUFDLFNBQVM7U0FDRjtLQUM1QjtJQUNELG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsZUFBZSxFQUFFO1FBQ2YsWUFBWSxFQUFFLGNBQWM7UUFDNUIsTUFBTSxFQUFFLG9CQUFvQjtLQUM3QjtJQUNELFlBQVksRUFBRTtRQUNaLFVBQVUsRUFBRTtZQUNWLGlCQUFpQixDQUFDLFVBQVU7WUFDNUIsaUJBQWlCLENBQUMsYUFBYTtTQUNoQztRQUNELElBQUksRUFBRTtZQUNKLGFBQWEsRUFBRTtnQkFDYixpQkFBaUIsQ0FBQyxhQUFhO2dCQUMvQixpQkFBaUIsQ0FBQyxVQUFVO2dCQUM1QixpQkFBaUIsQ0FBQyxXQUFXO2FBQzlCO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLGlCQUFpQixDQUFDLFVBQVU7YUFDN0I7U0FDRjtLQUNGO0lBQ0QsbUJBQW1CO0lBQ25CLFNBQVMsRUFBRTtRQUNULFFBQVE7UUFDUixRQUFRO1FBQ1IsTUFBTTtRQUNOLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFlBQVk7UUFDWixLQUFLO1FBQ0wsT0FBTztRQUNQLGFBQWE7UUFDYixTQUFTO1FBQ1QsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxNQUFNO1FBQ04sUUFBUTtLQUNUO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsSUFBSTtRQUNKLFFBQVE7UUFDUixPQUFPO1FBQ1AsTUFBTTtLQUNQO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsR0FBRyxFQUFFO1lBQ0gsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7WUFDekMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7WUFDbkMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQ2YsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDOUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7WUFDckMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNsQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtZQUNyQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNoQixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDdkIsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDakMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO1lBQzNDLGtCQUFrQjtZQUNsQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDakIsb0JBQW9CO1lBQ3BCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEIscUJBQXFCO1lBQ3JCLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ25DLCtDQUErQztZQUMvQywrQ0FBK0M7WUFDL0MsNkRBQTZEO1lBQzdELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO1lBQzNDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO1NBQy9DO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3RCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNwQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUN0QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUNyQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUNuQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDckIsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNqQixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDckIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3JCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNoQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFO1lBQ25ELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7WUFDckQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3pCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNqQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3hDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLG1DQUFtQztTQUN4RDtRQUNELFFBQVEsRUFBRSxDQUFDO1lBQ1Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLGdDQUFnQzthQUMxQztTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qKlxuICogRGFyaXVzeiBGaWxpcGlha1xuICogQGF1dGhvciBkYXJla2Y3N0BnbWFpbC5jb21cbiAqIFJlY29tbWVuZGVkIGNvbmZpZyBmb3IgYWxsIGlzb21vcnBoaWMgbGlicyAqXG4gKi9cblxuXG5leHBvcnQgeyBDb3JlSGVscGVycyBhcyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbi8vI3JlZ2lvbiBjb25maWcgbW9kZWxzXG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnTW9kZWxzIHtcbiAgZXhwb3J0IHR5cGUgRW52aXJvbm1lbnROYW1lID0gJ2xvY2FsJyB8ICdzdGF0aWMnIHwgJ2RldicgfCAnc3RhZ2UnIHwgJ3Byb2QnIHwgJ29ubGluZScgfCAndGVzdCcgfCAncWEnIHwgJ2N1c3RvbSc7XG4gIGV4cG9ydCB0eXBlIFVJRnJhbWV3b3JrID0gJ2Jvb3RzdHJhcCcgfCAnbWF0ZXJpYWwnIHwgJ2lvbmljJztcbiAgZXhwb3J0IHR5cGUgRnJhbWV3b3JrVmVyc2lvbiA9ICd2MScgfCAndjInIHwgJ3YzJztcbiAgZXhwb3J0IHR5cGUgQ3V0YWJsZUZpbGVFeHQgPSAnc2NzcycgfCAnY3NzJyB8ICdzYXNzJyB8ICdodG1sJyB8ICd0cyc7XG4gIGV4cG9ydCB0eXBlIEltYWdlRmlsZUV4dGVuc2lvbiA9ICdqcGcnfCAnanBlZycgfCAncG5nJyB8ICdzdmcnO1xuICBleHBvcnQgdHlwZSBGaWxlRXh0ZW5zaW9uID0gJ3RzJyB8ICdqcycgfCAnanNvbicgfCAnaHRtbCcgfCBJbWFnZUZpbGVFeHRlbnNpb24gfCAndHh0JyB8IEN1dGFibGVGaWxlRXh0O1xuXG5cbiAgZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdnZXQnIHwgJ3Bvc3QnIHwgJ3B1dCcgfCAnZGVsZXRlJyB8ICdwYXRjaCcgfCAnaGVhZCcgfCAnanNvbnAnO1xuICBleHBvcnQgdHlwZSBQYXJhbVR5cGUgPSAnUGF0aCcgfCAnUXVlcnknIHwgJ0Nvb2tpZScgfCAnSGVhZGVyJyB8ICdCb2R5JztcbiAgZXhwb3J0IHR5cGUgVHNVc2FnZSA9ICdpbXBvcnQnIHwgJ2V4cG9ydCc7XG5cbiAgZXhwb3J0IHR5cGUgTGliVHlwZSA9ICd1bmtub3cnXG4gICAgfCAnaXNvbW9ycGhpYy1saWInXG4gICAgfCAnYW5ndWxhci1saWInIC8vIGh0dHBzOi8vY2xpLmFuZ3VsYXIuaW8vXG4gICAgfCAnZWxlY3Ryb24tY2xpZW50JyAvLyBodHRwczovL2dpdGh1Yi5jb20vbWF4aW1lZ3Jpcy9hbmd1bGFyLWVsZWN0cm9uXG4gICAgfCAnaW9uaWMtbGliJ1xuICAgIHwgJ2FuZ3VsYXItY2xpZW50J1xuICAgIHwgJ2lvbmljLWNsaWVudCdcbiAgICB8ICd3b3Jrc3BhY2UnXG4gICAgfCAnY29udGFpbmVyJ1xuICAgIHwgJ2RvY2tlcidcbiAgICB8ICd2c2NvZGUtZXh0J1xuICAgIHwgJ2Nocm9tZS1leHQnXG4gICAgfCAndW5rbm93LW5wbS1wcm9qZWN0J1xuICAgIHwgJ3NjZW5hcmlvJ1xuICAgIHwgJ25hdmknXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLXBpeGknIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpanMvcGl4aS5qc1xuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1waGFzZXInIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waG90b25zdG9ybS9waGFzZXJcbiAgICB8ICdnYW1lLWVuZ2luZS1saWItZXhjYWxpYnVyJyAvLyBodHRwczovL2dpdGh1Yi5jb20vZXhjYWxpYnVyanMvRXhjYWxpYnVyXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLWJhYnlsb24nIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9CYWJ5bG9uSlMvQmFieWxvbi5qc1xuICAgIDtcblxuICBleHBvcnQgdHlwZSBOZXdGYWN0b3J5VHlwZSA9IExpYlR5cGUgfCAnbW9kZWwnIHwgJ3NpbmdsZS1maWxlLXByb2plY3QnO1xuICBleHBvcnQgdHlwZSBDb3JlTGliQ2F0ZWdvcnkgPSBMaWJUeXBlIHwgJ2NvbW1vbic7XG4gIGV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb24ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFNpemUge1xuICAgIHc6IG51bWJlcjtcbiAgICBoOiBudW1iZXI7XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsTnBtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nOyBpbnN0YWxsTmFtZT86IHN0cmluZzsgdmVyc2lvbj86IHN0cmluZyB8IG51bWJlcjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29tbWFuZExpbmVQcm9ncmFtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nOyB3ZWJzaXRlOiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmc7XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBHbG9iYWxEZXBlbmRlbmNpZXMge1xuICAgIG5wbT86IEdsb2JhbE5wbURlcGVuZGVuY3lbXTtcbiAgICBwcm9ncmFtcz86IEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3lbXTtcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIEZpbGVFdmVudCA9ICdjcmVhdGVkJyB8ICdjaGFuZ2VkJyB8ICdyZW1vdmVkJyB8ICdyZW5hbWUnO1xuICBleHBvcnQgdHlwZSBPdXRGb2xkZXIgPSAnZGlzdCcgfCAnYnVuZGxlJyB8ICdicm93c2VyJztcbiAgZXhwb3J0IHR5cGUgRm9ybWx5SW5wdXRUeXBlID0gJ2lucHV0JyB8ICdzd2l0Y2gnIHwgJ2RhdGVwaWNrZXInIHwgJ3JlcGVhdCcgfCAnZ3JvdXAnO1xuICBleHBvcnQgdHlwZSBEYXRhYmFzZVR5cGUgPSAnc3FsaXRlJyB8ICdteXNxbCc7XG5cbn1cblxuZXhwb3J0IGNvbnN0IEdsb2JhbElzb21vcnBoaWNEZXBlbmRlbmNpZXM6IENvbmZpZ01vZGVscy5HbG9iYWxEZXBlbmRlbmNpZXMgPSB7XG4gIG5wbTogW1xuICAgIHsgbmFtZTogJ3JpbXJhZicgfSxcbiAgICB7IG5hbWU6ICducG0tcnVuJywgdmVyc2lvbjogJzQuMS4yJyB9LFxuICAgIHsgbmFtZTogJ2NwcicgfSxcbiAgICB7IG5hbWU6ICdjaGVjay1ub2RlLXZlcnNpb24nIH0sXG4gICAgeyBuYW1lOiAndnNjZScgfSxcbiAgXSxcbiAgcHJvZ3JhbXM6IFtcbiAgICAvLyB7XG4gICAgLy8gICBuYW1lOiAnY29kZScsXG4gICAgLy8gICB3ZWJzaXRlOiAnaHR0cHM6Ly9jb2RlLnZpc3VhbHN0dWRpby5jb20vJ1xuICAgIC8vIH1cbiAgXSBhcyB7IG5hbWU6IHN0cmluZzsgd2Vic2l0ZTogc3RyaW5nIH1bXVxufTtcblxuZXhwb3J0IGNvbnN0IEdsb2JhbExpYlR5cGVOYW1lID0ge1xuICBpc29tb3JwaGljTGliOiAnaXNvbW9ycGhpYy1saWInLFxuICBhbmd1bGFyTGliOiAnYW5ndWxhci1saWInLFxuICBlbGVjdHJvbkNsaWVudDogJ2VsZWN0cm9uLWNsaWVudCcsXG4gIGlvbmljTGliOiAnaW9uaWMtbGliJyxcbiAgYW5ndWxhckNsaWVudDogJ2FuZ3VsYXItY2xpZW50JyxcbiAgaW9uaWNDbGllbnQ6ICdpb25pYy1jbGllbnQnLFxuICB3b3Jrc3BhY2U6ICd3b3Jrc3BhY2UnLFxuICBjb250YWluZXI6ICdjb250YWluZXInLFxuICBkb2NrZXI6ICdkb2NrZXInLFxuICB1bmtub3dOcG1Qcm9qZWN0OiAndW5rbm93LW5wbS1wcm9qZWN0JyxcbiAgdnNjb2RlRXh0OiAndnNjb2RlLWV4dCcsXG4gIGNocm9tZUV4dDogJ2Nocm9tZS1leHQnLFxuICBzaW5nbGVGaWxlUHJvamVjdDogJ3NpbmdsZS1maWxlLXByb2plY3QnLFxuICBuYXZpOiAnbmF2aScsXG4gIHNjZW5hcmlvOiAnc2NlbmFyaW8nXG59O1xuXG5leHBvcnQgY29uc3QgTGliVHlwZUFycjogQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSA9IFtcbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmVsZWN0cm9uQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS53b3Jrc3BhY2UsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmNvbnRhaW5lcixcbiAgR2xvYmFsTGliVHlwZU5hbWUuZG9ja2VyLFxuICBHbG9iYWxMaWJUeXBlTmFtZS51bmtub3dOcG1Qcm9qZWN0LFxuICBHbG9iYWxMaWJUeXBlTmFtZS52c2NvZGVFeHQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmNocm9tZUV4dCxcbiAgR2xvYmFsTGliVHlwZU5hbWUubmF2aSxcbiAgR2xvYmFsTGliVHlwZU5hbWUuc2NlbmFyaW8sXG5dIGFzIENvbmZpZ01vZGVscy5MaWJUeXBlW107XG5cblxuZXhwb3J0IGNvbnN0IENvcmVMaWJDYXRlZ29yeUFycjogQ29uZmlnTW9kZWxzLkNvcmVMaWJDYXRlZ29yeVtdID0gWyAvLyBUT0RPIHRoaXMgaXMgZm9yIHdoYXQgP1xuICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICBHbG9iYWxMaWJUeXBlTmFtZS5pc29tb3JwaGljTGliLFxuICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS5lbGVjdHJvbkNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmRvY2tlcixcbiAgJ2NvbW1vbidcbl0gYXMgQ29uZmlnTW9kZWxzLkNvcmVMaWJDYXRlZ29yeVtdO1xuXG4vLyNlbmRyZWdpb25cblxuXG5cbmNvbnN0IGFsbG93ZWRFbnZpcm9ubWVudHM6IENvbmZpZ01vZGVscy5FbnZpcm9ubWVudE5hbWVbXSA9IFsnc3RhdGljJywgJ2RldicsICdwcm9kJywgJ3N0YWdlJywgJ29ubGluZScsICd0ZXN0JywgJ3FhJywgJ2N1c3RvbSddO1xuY29uc3QgYWxsb3dlZEVudmlyb25tZW50c09iaiA9IHt9O1xuYWxsb3dlZEVudmlyb25tZW50cy5mb3JFYWNoKHMgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIGFsbG93ZWRFbnZpcm9ubWVudHNPYmpbc10gPSBzO1xufSk7XG5cbmNvbnN0IGZpcmVkZXYgPSAnZmlyZWRldic7XG5jb25zdCBtb3JwaGkgPSAnbW9ycGhpJztcblxuY29uc3QgdXJsTW9ycGhpID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9kYXJla2Y3Ny9tb3JwaGkuZ2l0JztcblxuY29uc3QgZmlsZXNOb3RBbGxvd2VkVG9DbGVhbiA9IHtcbiAgX2dpdGlnbm9yZTogJy5naXRpZ25vcmUnLFxuICBfbnBtcmM6ICcubnBtcmMnLFxuICBfbnBtaWdub3JlOiAnLm5wbWlnbm9yZScsXG4gIHRzbGludF9qc29uOiAndHNsaW50Lmpzb24nLFxuICBfZWRpdG9yY29uZmlnOiAnLmVkaXRvcmNvbmZpZycsXG4gIF9hbmd1bGFyQ2xpX2pzb246ICcuYW5ndWxhci1jbGkuanNvbicsXG4gIF92c2NvZGVfbGF1bmNoX2pzb246ICcudnNjb2RlL2xhdW5jaC5qc29uJyxcbn07XG5cbmNvbnN0IGZpbGUgPSB7XG4gIF9ib3dlcnJjOiAnLmJvd2VycmMnLFxuICBib3dlcl9qc29uOiAnYm93ZXIuanNvbicsXG4gIGNvbnRyb2xsZXJzX3RzOiAnY29udHJvbGxlcnMudHMnLFxuICBlbnRpdGllc190czogJ2VudGl0aWVzLnRzJyxcbiAgYW5ndWxhcl9qc29uOiAnYW5ndWxhci5qc29uJyxcbiAgYXV0b2JfYWN0aW9uc19qczogJ2F1dG8tYWN0aW9ucy5qcycsXG4gIGxvY2FsX2NvbmZpZ19qczogJ2xvY2FsLWNvbmZpZy5qcycsXG4gIGJ1aWxkX2NvbmZpZ19qczogJ2J1aWxkLWNvbmZpZy5qcycsXG4gIGxvY2FsX2NvbmZpZzogJ2xvY2FsLWNvbmZpZycsXG4gIHN0YXJ0X2JhY2tlbmRfdHM6ICdzdGFydC5iYWNrZW5kLnRzJyxcbiAgcGFja2FnZV9qc29uOiAncGFja2FnZS5qc29uJyxcbiAgcmVzdWx0X3BhY2thZ2VzX2pzb246ICdyZXN1bHQtcGFja2FnZXMuanNvbicsXG4gIHBhY2thZ2VfanNvbjU6ICdwYWNrYWdlLmpzb241JyxcbiAgcGFja2FnZV9qc29uX190bnBfanNvbjogJ3BhY2thZ2UuanNvbl90bnAuanNvbicsXG4gIHBhY2thZ2VfanNvbl9fdG5wX2pzb241OiAncGFja2FnZS5qc29uX3RucC5qc29uNScsXG4gIHBhY2thZ2VfanNvbl9fZGV2RGVwZW5kZW5jaWVzX2pzb246ICdwYWNrYWdlLmpzb25fZGV2RGVwZW5kZW5jaWVzLmpzb24nLFxuICB5YXJuX2xvY2s6ICd5YXJuLmxvY2snLFxuICBwYWNrYWdlX2xvY2tfanNvbjogJ3BhY2thZ2UtbG9jay5qc29uJyxcbiAgdG5wRW52aXJvbm1lbnRfanNvbjogJ3RtcC1lbnZpcm9ubWVudC5qc29uJyxcbiAgZW52aXJvbm1lbnQ6ICdlbnZpcm9ubWVudCcsXG4gIGVudmlyb25tZW50X2pzOiAnZW52aXJvbm1lbnQuanMnLFxuICB0bXBfdHJhbnNhY3Rpb25fcGlkX3R4dDogJ3RtcC10cmFuc2FjdGlvbi1waWQudHh0JyxcbiAgbWFuaWZlc3Rfd2VibWFuaWZlc3Q6ICdtYW5pZmVzdC53ZWJtYW5pZmVzdCcsXG4gIHB1YmxpY0FwaV90czogJ3B1YmxpY19hcGkudHMnLFxuICBwdWJsaWNBcGlfZF90czogJ3B1YmxpY19hcGkuZC50cycsXG4gIHB1YmxpY2FwaV90czogJ3B1YmxpYy1hcGkudHMnLFxuICBfYmFiZWxyYzogJy5iYWJlbHJjJyxcbiAgaW5kZXhfZF90czogJ2luZGV4LmQudHMnLFxuICBpbmRleF90czogJ2luZGV4LnRzJyxcbiAgaW5kZXhfanM6ICdpbmRleC5qcycsXG4gIGluZGV4X2pzX21hcDogJ2luZGV4LmpzLm1hcCcsXG4gIGRiX2pzb246ICdkYi5qc29uJyxcbiAgZGJfZm9yX3Rlc3RzX2pzb246ICdkYi1mb3ItdGVzdHMuanNvbicsXG4gIHRtcERvY2tlckltYWdlSWQ6ICd0bXAtZG9ja2VyLWltYWdlLWlkJyxcbiAgdG1wX3JlY2VudF9qc29uOiAncmVjZW50Lmpzb24nLFxuICB0bXBJc29tb3JwaGljUGFja2FnZXNKc29uOiAndG1wLWlzb21vcnBoaWMtcGFja2FnZXMuanNvbicsXG4gIHRzY29uZmlnX2pzb246ICd0c2NvbmZpZy5qc29uJyxcbiAgUkVBRE1FX01EOiAnUkVBRE1FLm1kJyxcbiAgc2VydmVyX2tleTogJ3NlcnZlci5rZXknLFxuICBzZXJ2ZXJfY2VydDogJ3NlcnZlci5jZXJ0JyxcbiAgc2VydmVyX2NoYWluX2NlcnQ6ICdzZXJ2ZXItY2hhaW4uY2VydCcsXG4gIG1ldGFfY29uZmlnX21kOiAnbWV0YS1jb250ZW50Lm1kJyxcbiAgLi4uZmlsZXNOb3RBbGxvd2VkVG9DbGVhblxufTtcblxuY29uc3QgcGFja2FnZUpzb25TcGxpdCA9IFtcbiAgZmlsZS5wYWNrYWdlX2pzb25fX3RucF9qc29uLFxuICBmaWxlLnBhY2thZ2VfanNvbl9fdG5wX2pzb241LFxuICBmaWxlLnBhY2thZ2VfanNvbl9fZGV2RGVwZW5kZW5jaWVzX2pzb24sXG5dO1xuXG5jb25zdCB0ZW1wRm9sZGVycyA9IHtcbiAgYnVuZGxlOiAnYnVuZGxlJyxcbiAgdmVuZG9yOiAndmVuZG9yJyxcbiAgZG9jczogJ2RvY3MnLFxuICBkaXN0OiAnZGlzdCcsXG4gIHRtcDogJ3RtcCcsXG4gIHRtcEJ1bmRsZVJlbGVhc2U6ICd0bXAtYnVuZGxlLXJlbGVhc2UnLFxuICB0ZW1wU3JjOiAndG1wLXNyYycsXG4gIHRlbXBTcmNEaXN0OiAndG1wLXNyYy1kaXN0JyxcbiAgcHJldmlld0Rpc3RBcHA6ICdkaXN0LWFwcCcsXG4gIHByZXZpZXc6ICdwcmV2aWV3JyxcbiAgYnJvd3NlcjogJ2Jyb3dzZXInLFxuICBfYnJvd3NlcjogJy5icm93c2VyJyxcbiAgbW9kdWxlOiAnbW9kdWxlJyxcbiAgYmFja3VwOiAnYmFja3VwJyxcbiAgbm9kZV9tb2R1bGVzOiAnbm9kZV9tb2R1bGVzJyxcbiAgY2xpZW50OiAnY2xpZW50JyxcbiAgdG5wX3Rlc3RzX2NvbnRleHQ6ICd0bXAtdGVzdHMtY29udGV4dCcsXG4gIHRtcFBhY2thZ2U6ICd0bXAtcGFja2FnZScsXG4gIHRtcFNjZW5hcmlvczogJ3RtcC1zY2VuYXJpb3MnLFxuICB0bXBUZXN0c0Vudmlyb25tZW50czogJ3RtcC10ZXN0cy1lbnZpcm9ubWVudHMnLFxuICB0ZXN0c0Vudmlyb25tZW50czogJ3Rlc3RzLWVudmlyb25tZW50cycsXG59O1xuXG5jb25zdCBzdHlsZXNGaWxlc0V4dGVuc2lvbiA9IFtcbiAgJ2NzcycsXG4gICdzYXNzJyxcbiAgJ3Njc3MnLFxuICAnbGVzcycsXG5dO1xuXG5jb25zdCBmb2xkZXIgPSB7XG4gIHNjcmlwdHM6ICdzY3JpcHRzJyxcbiAgc2NlbmFyaW9zOiAnc2NlbmFyaW9zJyxcbiAgYm93ZXI6ICdib3dlcicsXG4gIHNyYzogJ3NyYycsXG4gIG91dDogJ291dCcsXG4gIGN1c3RvbTogJ2N1c3RvbScsXG4gIGNvbXBvbmVudHM6ICdjb21wb25lbnRzJyxcbiAgYXNzZXRzOiAnYXNzZXRzJyxcbiAgYXBwczogJ2FwcHMnLFxuICAvLyBlbnRpdGllczogJ2VudGl0aWVzJyxcbiAgLy8gY29udHJvbGxlcnM6ICdjb250cm9sbGVycycsXG4gIC8vIHByb2plY3RzOiAncHJvamVjdHMnLFxuICB3b3Jrc3BhY2U6ICd3b3Jrc3BhY2UnLFxuICBjb250YWluZXI6ICdjb250YWluZXInLFxuICBiaW46ICdiaW4nLFxuICBfYmluOiAnLmJpbicsXG4gIF92c2NvZGU6ICcudnNjb2RlJyxcbiAgcHJvamVjdDogJ3Byb2plY3QnLFxuICBleHRlcm5hbDogJ2V4dGVybmFsJyxcbiAgdG1wRGlzdDogJ3RtcC1kaXN0JyxcbiAgdG1wRm9yKGQ6IENvbmZpZ01vZGVscy5PdXRGb2xkZXIpIHtcbiAgICByZXR1cm4gYHRtcC1zcmMtJHtkfWA7XG4gIH0sXG4gIHRhcmdldFByb2plY3RzOiB7XG4gICAgREVGQVVMVF9QQVRIX0dFTkVSQVRFRDogJ3RtcC10YXJnZXQtcHJvamVjdHMvZ2VuZXJhdGVkJyxcbiAgICBERUZBVUxUX1BBVEhfT1JJR0lOUzogJ3RtcC10YXJnZXQtcHJvamVjdHMvb3JpZ2lucycsXG4gIH0sXG4gIC4uLnRlbXBGb2xkZXJzXG59O1xuXG4vLyBATEFTVCBSRVNPTFZFIFROUCBMT0NBVElPTiAhISEgZm9yIGVhY2ggY29udGV4dCBhbmQgUkVMRUFTRSBUTlAtQ09ORklHXG5sZXQgZGlybmFtZUZvclRucDogc3RyaW5nO1xuXG5jb25zdCBmaXJlZGV2UHJvamVjdHNSZWxhdGl2ZSA9IGAuLi9maXJlZGV2LXByb2plY3RzYDtcblxuXG5cblxuXG5jb25zdCBtb2R1bGVOYW1lQW5ndWxhckxpYiA9IFtcbiAgZm9sZGVyLmNvbXBvbmVudHMsXG4gIGZvbGRlci5tb2R1bGUsXG4gIGZvbGRlci5kaXN0LFxuICBmb2xkZXIuYnJvd3Nlcixcbl07XG5cbmNvbnN0IG1vZHVsZU5hbWVJc29tb3JwaGljTGliID0gW1xuICBmb2xkZXIuc3JjLFxuICBmb2xkZXIuZGlzdCxcbiAgZm9sZGVyLmJyb3dzZXIsXG5dO1xuXG5jb25zdCBhcmdzUmVwbGFjZW1lbnRzQnVpbGQgPSB7XG4gIC8vIFNIT1JUQ1VUU1xuICAnYmEnOiAnYnVpbGQ6YXBwJyxcbiAgJ2Jhdyc6ICdidWlsZDphcHA6d2F0Y2gnLFxuICAnYncnOiAnYnVpbGQ6d2F0Y2gnLCAvLyBidWlkIGRpc3Qgd2F0Y2ggd2l0aCBhdXRvbWF0aWMgY29udGFpbmVyL3ByZXZpZXdQcm9qZWN0cyBwb3B1aWxhdGlvblxuICAnYmFwJzogJ2J1aWxkOmFwcDpwcm9kJyxcbiAgJ2JhcHcnOiAnYnVpbGQ6YXBwOnByb2Q6d2F0Y2gnLFxuXG4gIC8vIChkaXN0KWFwcCBidWlsZCBmb3Igbm9ybWFsIGRldmVsb3BtZW50IC0gd2F0Y2ggaXMgbmcgc2VydmVcbiAgJ2JkYSc6ICdidWlsZDpkaXN0OmFwcCcsXG4gICdiZGF3JzogJ2J1aWxkOmRpc3Q6YXBwOndhdGNoJyxcblxuICAvLyAoZGlzdClhcHAgYnVpbGQgZm9yIG5vcm1hbCBkZXZlbG9wbWVudCAoUFJPRFVDVElPTiBNSU5JRklFRCBDT0RFKVxuICAnYmFkcHcnOiAnYnVpbGQ6YXBwOmRpc3Q6cHJvZDp3YXRjaCcsXG4gICdiYWRwJzogJ2J1aWxkOmFwcDpkaXN0OnByb2QnLFxuXG4gIC8vIChkaXN0KWxpYiBidWlsZCAtIHdhdGNoIGlzIG5nIGJ1aWxkXG4gICdiZCc6ICdidWlsZDpkaXN0JywgJ2Jkdyc6ICdidWlsZDpkaXN0OndhdGNoJyxcbiAgLy8gKGRpc3QpbGliIGJ1aWxkIC0gd2F0Y2ggaXMgbmcgYnVpbGQgKFBST0RVQ1RJT04gTUlOSUZJRUQgQ09ERSlcbiAgJ2JkcCc6ICdidWlsZDpkaXN0OnByb2QnLCAnYmRwdyc6ICdidWlsZDpkaXN0OnByb2Q6d2F0Y2gnLFxuXG4gIC8vIChidW5kbGUpYXBwIGJ1aWxkIGZvciBzdGF0aWMgY29kZSAoZmlyZWRldiBwbHVnaW5zLCBwcm9qZWN0IGZpbmFsIGNvZGUsIGV0Yy4pXG4gICdiYmEnOiAnYnVpbGQ6YnVuZGxlOmFwcCcsICdiYmF3JzogJ2J1aWxkOmJ1bmRsZTphcHA6d2F0Y2gnLFxuICAvLyAoYnVubGUpbGliIGJ1aWxkIGZvciBzdGF0aWMgY29kZSAoZmlyZWRldiBwbHVnaW5zLCBwcm9qZWN0IGZpbmFsIGNvZGUsIGV0Yy4pXG4gICdiYic6ICdidWlsZDpidW5kbGUnLCAnYmJ3JzogJ2J1aWxkOmJ1bmRsZTp3YXRjaCcsXG4gIC8vIChidW5sZSlsaWIgYnVpbGQgZm9yIHN0YXRpYyBjb2RlIHdpdGggbmcgYnVpbGQgKFBST0RVQ1RJT04gTUlOSUZJRUQgQ09ERSlcbiAgJ2JicCc6ICdidWlsZDpidW5kbGU6cHJvZCcsICdiYnB3JzogJ2J1aWxkOmJ1bmRsZTpwcm9kOndhdGNoJyxcblxuICAnc2InOiAnc3RhdGljOmJ1aWxkJyxcbiAgJ3NicCc6ICdzdGF0aWM6YnVpbGQ6cHJvZCcsXG4gICdzYmQnOiAnc3RhdGljOmJ1aWxkOmRpc3QnLFxuICAnc2JsJzogJ3N0YXRpYzpidWlsZDpsaWInLFxuICAnc2JhJzogJ3N0YXRpYzpidWlsZDphcHAnLFxuICAnY2InOiAnY2xlYW46YnVpbGQnXG59O1xuXG5jb25zdCBhcmdzUmVwbGFjZW1lbnRzT3RoZXIgPSB7XG4gIC8vIGdpdGh1YiBkb2NzXG4gICdnaHB1c2gnOiAnZ2l0aHVicHVzaCcsXG4gICdnaHB1bGwnOiAnZ2l0aHVicHVsbCcsXG4gIC8vIGxhc3RcbiAgJ2wnOiAnbGFzdCcsXG4gICdzbCc6ICdzaG93Omxhc3QnLFxuICAnbGInOiAnbGFzdDpidWlsZCcsXG4gIC8vIGluc3RhbGxcbiAgJ2knOiAnaW5zdGFsbCcsXG4gICdzaSc6ICdzaW5zdGFsbCcsXG4gICdpbCc6ICdpbnN0YWxsOmxvY2FsbHknLFxuICAncmMnOiAncmVjb21taXQnLFxuICAvLyByZWxlYXNlXG4gICdycCc6ICdyZWxlYXNlOnByb2QnLFxuICAncic6ICdyZWxlYXNlJyxcbiAgJ3JhJzogJ3JlbGVhc2U6YWxsJyxcbiAgJ2FyJzogJ2F1dG86cmVsZWFzZScsXG4gIC8vIHZlcnNvcG1cbiAgJy0tdmVyc2lvbic6ICd2ZXJzaW9uJyxcbiAgJy12JzogJ3ZlcnNpb24nLFxuICAvLyBvcGVuXG4gICdvY2MnOiAnb3Blbjpjb3JlOmNvbnRhaW5lcicsXG4gICdvY3AnOiAnb3Blbjpjb3JlOnByb2plY3QnLFxuICAvLyB0ZXN0XG4gICd0d2QnOiAndGVzdDp3YXRjaDpkZWJ1ZycsXG4gICd0ZHcnOiAndGVzdDp3YXRjaDpkZWJ1ZycsXG4gICd0dyc6ICd0ZXN0OndhdGNoJyxcbiAgJ3RkJzogJ3Rlc3Q6ZGVidWcnLFxuICAndCc6ICd0ZXN0JyxcbiAgLy8gZ2l0IHB1c2hcbiAgJ3B0JzogJ3B1c2g6dGFnJyxcbiAgJ3AnOiAncHVzaCcsXG4gICdwYSc6ICdwdXNoYWxsbCcsXG4gIC8vIG90aGVyXG4gICdzY20nOiAnc2hvd2NvcmVtb2R1bGVzJyxcbiAgJ3RwdSc6ICd0YXJnZXQ6cHJvajp1cGRhdGUnLFxuICAndWdkJzogJ3VwZGF0ZTpnbG9iYWw6ZGVwcycsXG4gICd1ZCc6ICd1cGRhdGU6ZGVwcycsIC8vIHNhbWUgYXMgbnBtIGlcbiAgJ2RnbCc6ICdkZXRlY3Q6Z2xvYmFsOmxpYnMnLFxuICAncHInOiAncHJpbnQ6cmVsYXRpdmVzJyxcbn07XG5cbmNvbnN0IGFyZVRydXN0ZWRGb3JQYXRjaFVwZGF0ZSA9IFtcbiAgJ0Bhbmd1bGFyJyxcbiAgJ0BuZ3J4JyxcbiAgJ3J4anMnLFxuICAnem9uZS5qcycsXG4gICd0c2xpYicsXG4gICd0eXBlc2NyaXB0JyxcbiAgJ3dlYnBhY2snXG5dO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICBwYWNrYWdlc1RoYXQ6IHtcbiAgICBhcmVUcnVzdGVkRm9yUGF0Y2hVcGRhdGUsXG4gIH0sXG5cbiAgY29yZVByb2plY3RWZXJzaW9uczogWyd2MScsICd2MicsICd2MyddLFxuICBxdWlja0ZpeGVzOiB7XG4gICAgbWlzc2luZ0xpYnM6IFtcbiAgICAgICdyZWFjdC1uYXRpdmUtc3FsaXRlLXN0b3JhZ2UnXG4gICAgXVxuICB9LFxuICBwYWNrYWdlSnNvblNwbGl0LFxuICByZWdleFN0cmluZzoge1xuICAgIHBhdGhQYXJ0U3RyaW5nUmVnZXg6IGAoXFwvKFthLXpBLVowLTldfFxcXFwtfFxcXFxffFxcXFwrfFxcXFwuKSopYFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBmb3JQcm9qZWN0c0luRW52aXJvbm1lbnRGaWxlOiAnLy88UExBQ0VIT0xERVJfRk9SX1BST0pFQ1RTPidcbiAgfSxcbiAgYXJyYXk6IHtcbiAgICBpc29tb3JwaGljUGFja2FnZXM6ICdpc29tb3JwaGljUGFja2FnZXMnXG4gIH0sXG4gIGRlZmF1bHRGcmFtZXdvcmtWZXJzaW9uOiAndjMnIGFzIENvbmZpZ01vZGVscy5GcmFtZXdvcmtWZXJzaW9uLFxuICBDT05TVDoge1xuICAgIFVOSVRfVEVTVF9USU1FT1VUOiAzMDAwMCxcbiAgICBJTlRFR1JBVElPTl9URVNUOiAzMDAwMCxcbiAgICBCQUNLRU5EX0hUVFBfUkVRVUVTVF9USU1FT1VUOiAzMDAwLFxuICB9LFxuICBkZWJ1Zzoge1xuICAgIHNvdXJjZU1vZGlmaWVyOiBbXG5cbiAgICBdLFxuICAgIGJhc2VsaW5lU2l0ZUpvaW46IHtcbiAgICAgIERFQlVHX1BBVEhFUzogW1xuICAgICAgICAvLyBcInNyYy9hcHBzL2F1dGgvQXV0aENvbnRyb2xsZXIudHNcIixcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvcHJldmlldy1jb21wb25lbnRzLmNvbXBvbmVudC50cycsXG4gICAgICAgIC8vICcvc3JjL2NvbnRyb2xsZXJzLnRzJyxcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvY29tcG9uZW50cy8rcHJldmlldy1idWlsZHRucHByb2Nlc3MvcHJldmlldy1idWlsZHRucHByb2Nlc3MuY29tcG9uZW50LnRzJ1xuICAgICAgXSxcbiAgICAgIERFQlVHX01FUkdFX1BBVEhFUzogW1xuICAgICAgICAvLyBcInNyYy9hcHBzL2F1dGgvQXV0aENvbnRyb2xsZXIudHNcIixcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvY29tcG9uZW50cy8rcHJldmlldy1idWlsZHRucHByb2Nlc3MvcHJldmlldy1idWlsZHRucHByb2Nlc3MuY29tcG9uZW50LnRzJ1xuICAgICAgICAvLyAnL2NvbXBvbmVudHMvZm9ybWx5L2Jhc2UtY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLXdyYXBwZXIuY29tcG9uZW50LnRzJ1xuICAgICAgICAvLyAnL3NyYy9hcHAvK3ByZXZpZXctY29tcG9uZW50cy9jb21wb25lbnRzLytwcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy9wcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy5jb21wb25lbnQudHMnXG4gICAgICBdXG4gICAgfVxuICB9LFxuXG4gIGZyYW1ld29ya05hbWVzOiB7XG4gICAgdG5wOiAndG5wJyxcbiAgICBmaXJlZGV2OiAnZmlyZWRldidcbiAgfSxcbiAgc3RhcnRQb3J0OiA2MDAxLFxuICBmcmFtZXdvcmtzOiBbJ2Jvb3RzdHJhcCcsICdpb25pYycsICdtYXRlcmlhbCddIGFzIENvbmZpZ01vZGVscy5VSUZyYW1ld29ya1tdLFxuXG4gIGFsbG93ZWRFbnZpcm9ubWVudHMsXG4gIGZvbGRlcixcbiAgdGVtcEZvbGRlcnMsXG4gIC8vIEB0cy1pZ25vcmVcbiAgZmlsZXNOb3RBbGxvd2VkVG9DbGVhbjogT2JqZWN0LmtleXMoZmlsZXNOb3RBbGxvd2VkVG9DbGVhbikubWFwKGtleSA9PiBmaWxlc05vdEFsbG93ZWRUb0NsZWFuW2tleV0pIGFzIHN0cmluZ1tdLFxuICBmaWxlLFxuICBkZWZhdWx0OiB7XG4gICAgY2xvdWQ6IHtcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIG5hbWU6ICdvbmxpbmUnIGFzIENvbmZpZ01vZGVscy5FbnZpcm9ubWVudE5hbWVcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIFNVQkVSSVpFRF9QUkVGSVg6IGAtLS1zdHViZXJpemVkYCxcbiAgbmFtZXM6IHtcbiAgICBlbnY6IGFsbG93ZWRFbnZpcm9ubWVudHNPYmosXG4gICAgYmFzZWxpbmU6ICdiYXNlbGluZScsXG4gICAgZGVmYXVsdFNlcnZlcjogJ2RlZmF1bHQgc2VydmVyJyxcbiAgfSxcbiAgcmVzZXJ2ZWRBcmd1bWVudHNOYW1lc1VnbGlmeTogW1xuICAgICdyZXNlcnZlZEV4cE9uZScsXG4gICAgJ3Jlc2VydmVkRXhwU2VjJ1xuICBdLFxuICBleHRlbnNpb25zOiB7XG4gICAgLyoqXG4gICAgICAgKiBNb2RpZnkgc291cmNlOiBpbXBvcnQsZXhwb3J0LCByZXF1aXJlc1xuICAgICAgICovXG4gICAgZ2V0IG1vZGlmaWNhYmxlQnlSZXBsYWNlRm4oKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAndHMnLFxuICAgICAgICAnanMnLFxuICAgICAgICAuLi5zdHlsZXNGaWxlc0V4dGVuc2lvbixcbiAgICAgIF0ubWFwKGYgPT4gYC4ke2Z9YCk7XG4gICAgfSxcbiAgfSxcbiAgbm90RmlyZWRldlByb2plY3RzOiBbXG4gICAgJ3Vua25vdycsICd1bmtub3ctbnBtLXByb2plY3QnLCAnc2NlbmFyaW8nLCAnbmF2aSdcbiAgXSBhcyBDb25maWdNb2RlbHMuTGliVHlwZVtdLFxuICAvKipcbiAgICogQnVpbGQgYWxsb3dlZCB0eXBlc1xuICAgKi9cbiAgYWxsb3dlZFR5cGVzOiB7XG4gICAgLyoqXG4gICAgICogUHJvamVjdHMgZm9yIGJ1aWxkOmFwcDp3YXRjaCBjb21tYW5kXG4gICAgICovXG4gICAgYXBwOiBbXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyQ2xpZW50LFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmlzb21vcnBoaWNMaWIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5pb25pY0NsaWVudCxcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmRvY2tlcixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmNvbnRhaW5lcixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLnZzY29kZUV4dCxcbiAgICBdIGFzIENvbmZpZ01vZGVscy5MaWJUeXBlW10sXG4gICAgLyoqXG4gICAgICogUHJvamVjdHMgZm9yIGJ1aWxkOihkaXN0fGJ1bmRsZSk6KHdhdGNoKSBjb21tYW5kXG4gICAgICovXG4gICAgbGliczogW1xuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmlzb21vcnBoaWNMaWIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS53b3Jrc3BhY2UsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5jb250YWluZXIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5kb2NrZXIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS52c2NvZGVFeHQsXG4gICAgXSBhcyBDb25maWdNb2RlbHMuTGliVHlwZVtdXG4gIH0sXG4gIG1vZHVsZU5hbWVBbmd1bGFyTGliLFxuICBtb2R1bGVOYW1lSXNvbW9ycGhpY0xpYixcbiAgZmlsZXNFeHRlbnNpb25zOiB7XG4gICAgZmlsZXRlbXBsYXRlOiAnZmlsZXRlbXBsYXRlJyxcbiAgICBzdHlsZXM6IHN0eWxlc0ZpbGVzRXh0ZW5zaW9uLFxuICB9LFxuICBwcm9qZWN0VHlwZXM6IHtcbiAgICBmb3JOcG1MaWJzOiBbXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgICBdLFxuICAgIHdpdGg6IHtcbiAgICAgIGFuZ3VsYXJBc0NvcmU6IFtcbiAgICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckNsaWVudCxcbiAgICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgICAgICAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gICAgICBdLFxuICAgICAgY29tcG9uZXRzQXNTcmM6IFtcbiAgICAgICAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgICAgIF0sXG4gICAgfVxuICB9LFxuICAvLyBlbnZpcm9ubWVudE5hbWUsXG4gIGxvY2FsTGliczogW1xuICAgICdlc2xpbnQnLFxuICAgICdta2RpcnAnLFxuICAgICdndWxwJyxcbiAgICAnbnBtLXJ1bicsXG4gICAgJ3JpbXJhZicsXG4gICAgJ25vZGVtb24nLFxuICAgICdyZWxlYXNlLWl0JyxcbiAgICAndHNjJyxcbiAgICAnd2F0Y2gnLFxuICAgICdodHRwLXNlcnZlcicsXG4gICAgJ3RzLW5vZGUnLFxuICAgICdzb3J0LXBhY2thZ2UtanNvbicsXG4gICAgJ2NvbmN1cnJlbnRseScsXG4gICAgJ3Nsb2MnLFxuICAgICdtb3JwaGknXG4gIF0sXG4gIGhlbHBBbGlhczogW1xuICAgICctaCcsXG4gICAgJy0taGVscCcsXG4gICAgJy1oZWxwJyxcbiAgICAnaGVscCdcbiAgXSxcbiAgcmVxdWlyZWQ6IHtcbiAgICBucG06IFtcbiAgICAgIHsgbmFtZTogJ2V4dHJhY3QtemlwJywgdmVyc2lvbjogJzEuNi43JyB9LFxuICAgICAgeyBuYW1lOiAnd2F0Y2gnLCB2ZXJzaW9uOiAnMS4wLjInIH0sXG4gICAgICB7IG5hbWU6ICdjcHInIH0sXG4gICAgICB7IG5hbWU6ICdjaGVjay1ub2RlLXZlcnNpb24nIH0sXG4gICAgICB7IG5hbWU6ICducG0tcnVuJywgdmVyc2lvbjogJzQuMS4yJyB9LFxuICAgICAgeyBuYW1lOiAncmltcmFmJyB9LFxuICAgICAgeyBuYW1lOiAnbWtkaXJwJyB9LFxuICAgICAgeyBuYW1lOiAncmVuYW1lcicsIHZlcnNpb246ICcyLjAuMScgfSxcbiAgICAgIHsgbmFtZTogJ25vZGVtb24nIH0sXG4gICAgICB7IG5hbWU6ICdtYWRnZScgfSxcbiAgICAgIHsgbmFtZTogJ3lhcm4nIH0sXG4gICAgICB7IG5hbWU6ICdodHRwLXNlcnZlcicgfSxcbiAgICAgIHsgbmFtZTogJ2luY3JlYXNlLW1lbW9yeS1saW1pdCcgfSxcbiAgICAgIHsgbmFtZTogJ2Jvd2VyJyB9LFxuICAgICAgeyBuYW1lOiAnZmtpbGwnLCBpbnN0YWxsTmFtZTogJ2ZraWxsLWNsaScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3lvJyB9LFxuICAgICAgeyBuYW1lOiAnbW9jaGEnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdjaGFpJyB9LFxuICAgICAgeyBuYW1lOiAndHMtbm9kZScgfSxcbiAgICAgIHsgbmFtZTogJ3ZzY2UnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdzdG11eCcgfSxcbiAgICAgIHsgbmFtZTogJ3dlYnBhY2stYnVuZGxlLWFuYWx5emVyJyB9LFxuICAgICAgLy8geyBuYW1lOiAnbmcnLCBpbnN0YWxsTmFtZTogJ0Bhbmd1bGFyL2NsaScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ25neC1wd2EtaWNvbnMnLCB2ZXJzaW9uOiAnMC4xLjInIH0sXG4gICAgICAvLyB7IG5hbWU6ICdyZWFsLWZhdmljb24nLCBpbnN0YWxsTmFtZTogJ2NsaS1yZWFsLWZhdmljb24nIH0sXG4gICAgICB7IG5hbWU6ICdiYWJlbCcsIGluc3RhbGxOYW1lOiAnYmFiZWwtY2xpJyB9LFxuICAgICAgeyBuYW1lOiAnamF2YXNjcmlwdC1vYmZ1c2NhdG9yJyB9LFxuICAgICAgeyBuYW1lOiAndWdsaWZ5anMnLCBpbnN0YWxsTmFtZTogJ3VnbGlmeS1qcycgfSxcbiAgICBdLFxuICAgIG5pY2VUb29sczogW1xuICAgICAgeyBuYW1lOiAnc3BlZWQtdGVzdCcgfSxcbiAgICAgIHsgbmFtZTogJ25wbS1uYW1lJyB9LCAvLyBjaGVjayBpZiBuYW1lIGlzIGF2YWlsYWJsZSBvbiBucG1cbiAgICAgIHsgbmFtZTogJ3ZhbnRhZ2UnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBpbnNwZWN0IHlvdSBsaXZlIGFwcGxpY2FpdG9uXG4gICAgICB7IG5hbWU6ICdjbGluaWMnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBjaGVjayB3aHkgbm9kZWpzIGlzIHNsb3dcbiAgICAgIHsgbmFtZTogJ3Z0b3AnLCBwbGF0Zm9ybTogJ2xpbnV4JyB9LCAvLyBpbnNwZWN0IHlvdSBsaXZlIGFwcGxpY2FpdG9uLFxuICAgICAgeyBuYW1lOiAncHVibGljLWlwJyB9LFxuICAgICAgeyBuYW1lOiAnZW1wdHktdHJhc2gnIH0sXG4gICAgICB7IG5hbWU6ICdpcy11cCcgfSwgLy8gY2hlY2sgaWYgd2Vic2l0ZSBpcyBva1xuICAgICAgeyBuYW1lOiAnaXMtb25saW5lJyB9LCAvLyBjaGVjayBpZiBpbnRlcm5ldCBpcyBvayxcbiAgICAgIHsgbmFtZTogJ3R0eXN0dWRpbycgfSwgLy8gcmVjb3JkIHRlcm1pbmFsIGFjdGlvbnMsXG4gICAgICB7IG5hbWU6ICdiY2F0JyB9LCAvLyByZWRpcmVjdCBhbnkgc3RyZWFtIHRvIGJyb3dzZXIsXG4gICAgICB7IG5hbWU6ICd3aWZpLXBhc3N3b3JkJywgaW5zdGFsbE5hbWU6ICd3aWZpLXBhc3N3b3JkLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ3dhbGxwYXBlcicsIGluc3RhbGxOYW1lOiAnd2FsbHBhcGVyLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ2JyaWdodG5lc3MnLCBpbnN0YWxsTmFtZTogJ2JyaWdodG5lc3MtY2xpJyB9LFxuICAgICAgeyBuYW1lOiAnc3ViZG93bmxvYWRlcicgfSxcbiAgICAgIHsgbmFtZTogJ3J0YWlsJyB9LCAvLyBtb25pdG9yIG11bHRpcGxlIHNlcnZlclxuICAgICAgeyBuYW1lOiAnaXBvbm1hcCcgfSwgLy8gc2hvdyBpcCBpbiB0ZXJtaW5hbCBtYXAsXG4gICAgICB7IG5hbWU6ICdqc29tZScgfSwgLy8gZGlzcGxheSBjb2xvcmVkIGpzb25zLFxuICAgICAgeyBuYW1lOiAnZHJhd2lsbGUnLCBpc05vdENsaTogdHJ1ZSB9LCAvLyAzZCBkcndhIGluIHRlbXJpbmFsXG4gICAgICB7IG5hbWU6ICdjb2x1bW5pZnknLCBpc05vdENsaTogdHJ1ZSB9LCAvLyBkcmF3IG5pY2UgY29sdW1ucyBpbiBub2RlLFxuICAgICAgeyBuYW1lOiAnbXVsdGlzcGlubmVyJywgaXNOb3RDbGk6IHRydWUgfSwgLy8gcHJvZ3JlcyBmb3IgbXVsdGlwbGUgYXN5bmMgYWN0aW9uc1xuICAgICAgeyBuYW1lOiAnY2ZvbnRzJyB9LCAvLyBkcmF3IHN1cGVyIG5pY2UgZm9udHMgaW4gY29uc29sZVxuICAgIF0sXG4gICAgcHJvZ3JhbXM6IFssXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgICAgd2Vic2l0ZTogJ2h0dHBzOi8vY29kZS52aXN1YWxzdHVkaW8uY29tLydcbiAgICAgIH1cbiAgICBdXG4gIH1cbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './config';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1jb25maWcvcHJvamVjdHMvdG5wLWNvbmZpZy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './lib';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWNvbmZpZy9wcm9qZWN0cy90bnAtY29uZmlnL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG5wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWNvbmZpZy9wcm9qZWN0cy90bnAtY29uZmlnL3NyYy90bnAtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=