geni-bioinfo 0.1.4 → 0.1.6

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,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const costsCommand: Command;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.costsCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const auth_1 = require("../auth");
6
+ const format_js_1 = require("../format.js");
7
+ const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
8
+ function parseDate(value) {
9
+ if (!DATE_RE.test(value))
10
+ throw new Error(`Expected YYYY-MM-DD, got "${value}"`);
11
+ return value;
12
+ }
13
+ function addCommonOptions(cmd) {
14
+ return cmd
15
+ .option('--start-date <YYYY-MM-DD>', 'Start date (UTC, inclusive)', parseDate)
16
+ .option('--end-date <YYYY-MM-DD>', 'End date (UTC, inclusive)', parseDate)
17
+ .option('--submission-status <status>', 'Filter by submission status (e.g. SUCCEEDED, FAILED, RUNNING)');
18
+ }
19
+ function buildParams(opts) {
20
+ const params = new URLSearchParams();
21
+ if (opts.startDate)
22
+ params.set('from', `${opts.startDate}T00:00:00.000Z`);
23
+ if (opts.endDate) {
24
+ const d = new Date(`${opts.endDate}T00:00:00.000Z`);
25
+ d.setUTCDate(d.getUTCDate() + 1);
26
+ params.set('to', d.toISOString());
27
+ }
28
+ if (opts.submissionStatus)
29
+ params.set('submissionStatus', opts.submissionStatus);
30
+ return params;
31
+ }
32
+ function qs(params) {
33
+ const s = params.toString();
34
+ return s ? `?${s}` : '';
35
+ }
36
+ exports.costsCommand = new commander_1.Command('costs')
37
+ .description('View cost analytics');
38
+ addCommonOptions(exports.costsCommand
39
+ .command('summary')
40
+ .description('Overall cost totals for the tenant')
41
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
42
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/summary${qs(buildParams(opts))}`));
43
+ (0, format_js_1.formatOutput)(data, opts.format, format_js_1.analyticsSummaryColumns);
44
+ });
45
+ addCommonOptions(exports.costsCommand
46
+ .command('submission')
47
+ .description('Per-submission cost breakdown')
48
+ .argument('[ids...]', 'Filter by submission IDs')
49
+ .option('--limit <n>', 'Max results (1–200)', '50')
50
+ .option('--offset <n>', 'Pagination offset', '0')
51
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (ids, opts) => {
52
+ const params = buildParams(opts);
53
+ ids.forEach(id => params.append('id', id));
54
+ params.set('limit', opts.limit);
55
+ params.set('offset', opts.offset);
56
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/submission${qs(params)}`));
57
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.analyticsBySubmissionColumns);
58
+ });
59
+ addCommonOptions(exports.costsCommand
60
+ .command('environment')
61
+ .description('Cost grouped by environment')
62
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
63
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/environment${qs(buildParams(opts))}`));
64
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.analyticsByEnvironmentColumns);
65
+ });
66
+ addCommonOptions(exports.costsCommand
67
+ .command('queue')
68
+ .description('Cost grouped by queue')
69
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
70
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/queue${qs(buildParams(opts))}`));
71
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.analyticsByQueueColumns);
72
+ });
73
+ addCommonOptions(exports.costsCommand
74
+ .command('instance-type')
75
+ .description('Cost grouped by EC2 instance type and market type')
76
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
77
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/instance-type${qs(buildParams(opts))}`));
78
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.analyticsByInstanceTypeColumns);
79
+ });
80
+ addCommonOptions(exports.costsCommand
81
+ .command('engine')
82
+ .description('Cost grouped by engine')
83
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
84
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/engine${qs(buildParams(opts))}`));
85
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.costsByEngineColumns);
86
+ });
87
+ addCommonOptions(exports.costsCommand
88
+ .command('execution-mode')
89
+ .description('Cost grouped by execution mode (spot / on-demand)')
90
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
91
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/execution-mode${qs(buildParams(opts))}`));
92
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.costsByExecutionModeColumns);
93
+ });
94
+ addCommonOptions(exports.costsCommand
95
+ .command('over-time')
96
+ .description('Cost bucketed by time period')
97
+ .addOption(new commander_1.Option('--interval <interval>', 'Time bucket size').choices(['day', 'week', 'month']).default('day'))
98
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))).action(async (opts) => {
99
+ const params = buildParams(opts);
100
+ params.set('interval', opts.interval);
101
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/costs/over-time${qs(params)}`));
102
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.analyticsOverTimeColumns);
103
+ });
104
+ exports.costsCommand
105
+ .command('sync')
106
+ .description('Trigger a CUR actual-cost sync')
107
+ .action(async () => {
108
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)('/costs/sync'), { method: 'POST' });
109
+ console.log(`Sync job enqueued: ${data.jobId}`);
110
+ });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY29zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBQzNDLGtDQUEyQztBQUMzQyw0Q0FXcUI7QUFRckIsTUFBTSxPQUFPLEdBQUcscUJBQXFCLENBQUE7QUFFckMsU0FBUyxTQUFTLENBQUMsS0FBYTtJQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2hGLE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsR0FBWTtJQUNwQyxPQUFPLEdBQUc7U0FDUCxNQUFNLENBQUMsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxDQUFDO1NBQzdFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLENBQUM7U0FDekUsTUFBTSxDQUFDLDhCQUE4QixFQUFFLCtEQUErRCxDQUFDLENBQUE7QUFDNUcsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQWM7SUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtJQUVwQyxJQUFJLElBQUksQ0FBQyxTQUFTO1FBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXpFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNoQyxNQUFNLENBQUMsR0FBRyxD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QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JBQVMsRUFBQyxJQUFBLGFBQU0sRUFBQyxhQUFhLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBc0IsQ0FBQTtJQUM1RixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtBQUNqRCxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQsIE9wdGlvbiB9IGZyb20gJ2NvbW1hbmRlcidcbmltcG9ydCB7IGFwaVVybCwgZmV0Y2hKc29uIH0gZnJvbSAnLi4vYXV0aCdcbmltcG9ydCB7XG4gIGZvcm1hdE91dHB1dCxcbiAgYW5hbHl0aWNzU3VtbWFyeUNvbHVtbnMsXG4gIGFuYWx5dGljc0J5U3VibWlzc2lvbkNvbHVtbnMsXG4gIGFuYWx5dGljc0J5RW52aXJvbm1lbnRDb2x1bW5zLFxuICBhbmFseXRpY3NCeVF1ZXVlQ29sdW1ucyxcbiAgYW5hbHl0aWNzQnlJbnN0YW5jZVR5cGVDb2x1bW5zLFxuICBhbmFseXRpY3NPdmVyVGltZUNvbHVtbnMsXG4gIGNvc3RzQnlFbmdpbmVDb2x1bW5zLFxuICBjb3N0c0J5RXhlY3V0aW9uTW9kZUNvbHVtbnMsXG4gIHR5cGUgT3V0cHV0Rm9ybWF0LFxufSBmcm9tICcuLi9mb3JtYXQuanMnXG5cbnR5cGUgQmFzZU9wdHMgPSB7XG4gIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICBlbmREYXRlPzogc3RyaW5nXG4gIHN1Ym1pc3Npb25TdGF0dXM/OiBzdHJpbmdcbn1cblxuY29uc3QgREFURV9SRSA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kL1xuXG5mdW5jdGlvbiBwYXJzZURhdGUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghREFURV9SRS50ZXN0KHZhbHVlKSkgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZWVlZLU1NLURELCBnb3QgXCIke3ZhbHVlfVwiYClcbiAgcmV0dXJuIHZhbHVlXG59XG5cbmZ1bmN0aW9uIGFkZENvbW1vbk9wdGlvbnMoY21kOiBDb21tYW5kKTogQ29tbWFuZCB7XG4gIHJldHVybiBjbWRcbiAgICAub3B0aW9uKCctLXN0YXJ0LWRhdGUgPFlZWVktTU0tREQ+JywgJ1N0YXJ0IGRhdGUgKFVUQywgaW5jbHVzaXZlKScsIHBhcnNlRGF0ZSlcbiAgICAub3B0aW9uKCctLWVuZC1kYXRlIDxZWVlZLU1NLUREPicsICdFbmQgZGF0ZSAoVVRDLCBpbmNsdXNpdmUpJywgcGFyc2VEYXRlKVxuICAgIC5vcHRpb24oJy0tc3VibWlzc2lvbi1zdGF0dXMgPHN0YXR1cz4nLCAnRmlsdGVyIGJ5IHN1Ym1pc3Npb24gc3RhdHVzIChlLmcuIFNVQ0NFRURFRCwgRkFJTEVELCBSVU5OSU5HKScpXG59XG5cbmZ1bmN0aW9uIGJ1aWxkUGFyYW1zKG9wdHM6IEJhc2VPcHRzKTogVVJMU2VhcmNoUGFyYW1zIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG5cbiAgaWYgKG9wdHMuc3RhcnREYXRlKSBwYXJhbXMuc2V0KCdmcm9tJywgYCR7b3B0cy5zdGFydERhdGV9VDAwOjAwOjAwLjAwMFpgKVxuXG4gIGlmIChvcHRzLmVuZERhdGUpIHtcbiAgICBjb25zdCBkID0gbmV3IERhdGUoYCR7b3B0cy5lbmREYXRlfVQwMDowMDowMC4wMDBaYClcbiAgICBkLnNldFVUQ0RhdGUoZC5nZXRVVENEYXRlKCkgKyAxKVxuICAgIHBhcmFtcy5zZXQoJ3RvJywgZC50b0lTT1N0cmluZygpKVxuICB9XG5cbiAgaWYgKG9wdHMuc3VibWlzc2lvblN0YXR1cykgcGFyYW1zLnNldCgnc3VibWlzc2lvblN0YXR1cycsIG9wdHMuc3VibWlzc2lvblN0YXR1cylcbiAgcmV0dXJuIHBhcmFtc1xufVxuXG5mdW5jdGlvbiBxcyhwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyk6IHN0cmluZyB7XG4gIGNvbnN0IHMgPSBwYXJhbXMudG9TdHJpbmcoKVxuICByZXR1cm4gcyA/IGA/JHtzfWAgOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgY29zdHNDb21tYW5kID0gbmV3IENvbW1hbmQoJ2Nvc3RzJylcbiAgLmRlc2NyaXB0aW9uKCdWaWV3IGNvc3QgYW5hbHl0aWNzJylcblxuYWRkQ29tbW9uT3B0aW9ucyhcbiAgY29zdHNDb21tYW5kXG4gICAgLmNvbW1hbmQoJ3N1bW1hcnknKVxuICAgIC5kZXNjcmlwdGlvbignT3ZlcmFsbCBjb3N0IHRvdGFscyBmb3IgdGhlIHRlbmFudCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4pLmFjdGlvbihhc3luYyAob3B0czogQmFzZU9wdHMgJiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9jb3N0cy9zdW1tYXJ5JHtxcyhidWlsZFBhcmFtcyhvcHRzKSl9YCkpXG4gIGZvcm1hdE91dHB1dChkYXRhLCBvcHRzLmZvcm1hdCwgYW5hbHl0aWNzU3VtbWFyeUNvbHVtbnMpXG59KVxuXG5hZGRDb21tb25PcHRpb25zKFxuICBjb3N0c0NvbW1hbmRcbiAgICAuY29tbWFuZCgnc3VibWlzc2lvbicpXG4gICAgLmRlc2NyaXB0aW9uKCdQZXItc3VibWlzc2lvbiBjb3N0IGJyZWFrZG93bicpXG4gICAgLmFyZ3VtZW50KCdbaWRzLi4uXScsICdGaWx0ZXIgYnkgc3VibWlzc2lvbiBJRHMnKVxuICAgIC5vcHRpb24oJy0tbGltaXQgPG4+JywgJ01heCByZXN1bHRzICgx4oCTMjAwKScsICc1MCcpXG4gICAgLm9wdGlvbignLS1vZmZzZXQgPG4+JywgJ1BhZ2luYXRpb24gb2Zmc2V0JywgJzAnKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuKS5hY3Rpb24oYXN5bmMgKGlkczogc3RyaW5nW10sIG9wdHM6IEJhc2VPcHRzICYgeyBsaW1pdDogc3RyaW5nOyBvZmZzZXQ6IHN0cmluZzsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICBjb25zdCBwYXJhbXMgPSBidWlsZFBhcmFtcyhvcHRzKVxuICBpZHMuZm9yRWFjaChpZCA9PiBwYXJhbXMuYXBwZW5kKCdpZCcsIGlkKSlcbiAgcGFyYW1zLnNldCgnbGltaXQnLCBvcHRzLmxpbWl0KVxuICBwYXJhbXMuc2V0KCdvZmZzZXQnLCBvcHRzLm9mZnNldClcbiAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9jb3N0cy9zdWJtaXNzaW9uJHtxcyhwYXJhbXMpfWApKSBhcyB7IGl0ZW1zOiB1bmtub3duW10gfVxuICBmb3JtYXRPdXRwdXQob3B0cy5mb3JtYXQgPT09ICdqc29uJyA/IGRhdGEgOiBkYXRhLml0ZW1zLCBvcHRzLmZvcm1hdCwgYW5hbHl0aWNzQnlTdWJtaXNzaW9uQ29sdW1ucylcbn0pXG5cbmFkZENvbW1vbk9wdGlvbnMoXG4gIGNvc3RzQ29tbWFuZFxuICAgIC5jb21tYW5kKCdlbnZpcm9ubWVudCcpXG4gICAgLmRlc2NyaXB0aW9uKCdDb3N0IGdyb3VwZWQgYnkgZW52aXJvbm1lbnQnKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuKS5hY3Rpb24oYXN5bmMgKG9wdHM6IEJhc2VPcHRzICYgeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvY29zdHMvZW52aXJvbm1lbnQke3FzKGJ1aWxkUGFyYW1zKG9wdHMpKX1gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGFuYWx5dGljc0J5RW52aXJvbm1lbnRDb2x1bW5zKVxufSlcblxuYWRkQ29tbW9uT3B0aW9ucyhcbiAgY29zdHNDb21tYW5kXG4gICAgLmNvbW1hbmQoJ3F1ZXVlJylcbiAgICAuZGVzY3JpcHRpb24oJ0Nvc3QgZ3JvdXBlZCBieSBxdWV1ZScpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4pLmFjdGlvbihhc3luYyAob3B0czogQmFzZU9wdHMgJiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9jb3N0cy9xdWV1ZSR7cXMoYnVpbGRQYXJhbXMob3B0cykpfWApKSBhcyB7IGl0ZW1zOiB1bmtub3duW10gfVxuICBmb3JtYXRPdXRwdXQob3B0cy5mb3JtYXQgPT09ICdqc29uJyA/IGRhdGEgOiBkYXRhLml0ZW1zLCBvcHRzLmZvcm1hdCwgYW5hbHl0aWNzQnlRdWV1ZUNvbHVtbnMpXG59KVxuXG5hZGRDb21tb25PcHRpb25zKFxuICBjb3N0c0NvbW1hbmRcbiAgICAuY29tbWFuZCgnaW5zdGFuY2UtdHlwZScpXG4gICAgLmRlc2NyaXB0aW9uKCdDb3N0IGdyb3VwZWQgYnkgRUMyIGluc3RhbmNlIHR5cGUgYW5kIG1hcmtldCB0eXBlJylcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbikuYWN0aW9uKGFzeW5jIChvcHRzOiBCYXNlT3B0cyAmIHsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL2Nvc3RzL2luc3RhbmNlLXR5cGUke3FzKGJ1aWxkUGFyYW1zKG9wdHMpKX1gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGFuYWx5dGljc0J5SW5zdGFuY2VUeXBlQ29sdW1ucylcbn0pXG5cbmFkZENvbW1vbk9wdGlvbnMoXG4gIGNvc3RzQ29tbWFuZFxuICAgIC5jb21tYW5kKCdlbmdpbmUnKVxuICAgIC5kZXNjcmlwdGlvbignQ29zdCBncm91cGVkIGJ5IGVuZ2luZScpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4pLmFjdGlvbihhc3luYyAob3B0czogQmFzZU9wdHMgJiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9jb3N0cy9lbmdpbmUke3FzKGJ1aWxkUGFyYW1zKG9wdHMpKX1gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGNvc3RzQnlFbmdpbmVDb2x1bW5zKVxufSlcblxuYWRkQ29tbW9uT3B0aW9ucyhcbiAgY29zdHNDb21tYW5kXG4gICAgLmNvbW1hbmQoJ2V4ZWN1dGlvbi1tb2RlJylcbiAgICAuZGVzY3JpcHRpb24oJ0Nvc3QgZ3JvdXBlZCBieSBleGVjdXRpb24gbW9kZSAoc3BvdCAvIG9uLWRlbWFuZCknKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuKS5hY3Rpb24oYXN5bmMgKG9wdHM6IEJhc2VPcHRzICYgeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvY29zdHMvZXhlY3V0aW9uLW1vZGUke3FzKGJ1aWxkUGFyYW1zKG9wdHMpKX1gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGNvc3RzQnlFeGVjdXRpb25Nb2RlQ29sdW1ucylcbn0pXG5cbmFkZENvbW1vbk9wdGlvbnMoXG4gIGNvc3RzQ29tbWFuZFxuICAgIC5jb21tYW5kKCdvdmVyLXRpbWUnKVxuICAgIC5kZXNjcmlwdGlvbignQ29zdCBidWNrZXRlZCBieSB0aW1lIHBlcmlvZCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWludGVydmFsIDxpbnRlcnZhbD4nLCAnVGltZSBidWNrZXQgc2l6ZScpLmNob2ljZXMoWydkYXknLCAnd2VlaycsICdtb250aCddKS5kZWZhdWx0KCdkYXknKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbikuYWN0aW9uKGFzeW5jIChvcHRzOiBCYXNlT3B0cyAmIHsgaW50ZXJ2YWw6IHN0cmluZzsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICBjb25zdCBwYXJhbXMgPSBidWlsZFBhcmFtcyhvcHRzKVxuICBwYXJhbXMuc2V0KCdpbnRlcnZhbCcsIG9wdHMuaW50ZXJ2YWwpXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvY29zdHMvb3Zlci10aW1lJHtxcyhwYXJhbXMpfWApKSBhcyB7IGl0ZW1zOiB1bmtub3duW10gfVxuICBmb3JtYXRPdXRwdXQob3B0cy5mb3JtYXQgPT09ICdqc29uJyA/IGRhdGEgOiBkYXRhLml0ZW1zLCBvcHRzLmZvcm1hdCwgYW5hbHl0aWNzT3ZlclRpbWVDb2x1bW5zKVxufSlcblxuY29zdHNDb21tYW5kXG4gIC5jb21tYW5kKCdzeW5jJylcbiAgLmRlc2NyaXB0aW9uKCdUcmlnZ2VyIGEgQ1VSIGFjdHVhbC1jb3N0IHN5bmMnKVxuICAuYWN0aW9uKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybCgnL2Nvc3RzL3N5bmMnKSwgeyBtZXRob2Q6ICdQT1NUJyB9KSBhcyB7IGpvYklkOiBzdHJpbmcgfVxuICAgIGNvbnNvbGUubG9nKGBTeW5jIGpvYiBlbnF1ZXVlZDogJHtkYXRhLmpvYklkfWApXG4gIH0pXG4iXX0=
@@ -31,6 +31,39 @@ exports.queueCommand
31
31
  const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/admin/queues/${id}${query}`));
32
32
  (0, format_js_1.formatOutput)(data, opts.format, format_js_1.queueColumns);
33
33
  });
34
+ exports.queueCommand
35
+ .command('update <id>')
36
+ .description('Update queue with the latest AMI and optionally new IOPS/throughput settings')
37
+ .option('--volume-iops <n>', 'IOPS for the gp3 EBS volume (3000-80000)')
38
+ .option('--volume-throughput <n>', 'Throughput in MiB/s for the gp3 EBS volume (125-2000)')
39
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
40
+ .action(async (id, opts) => {
41
+ const volumeIops = opts.volumeIops !== undefined ? parseInt(opts.volumeIops, 10) : undefined;
42
+ const volumeThroughput = opts.volumeThroughput !== undefined ? parseInt(opts.volumeThroughput, 10) : undefined;
43
+ if (volumeIops !== undefined && (volumeIops < 3000 || volumeIops > 80000)) {
44
+ throw (0, errors_1.invalidArgument)('--volume-iops must be between 3000 and 80000');
45
+ }
46
+ if (volumeThroughput !== undefined && (volumeThroughput < 125 || volumeThroughput > 2000)) {
47
+ throw (0, errors_1.invalidArgument)('--volume-throughput must be between 125 and 2000');
48
+ }
49
+ if (volumeIops !== undefined && volumeThroughput !== undefined && volumeThroughput > volumeIops * 0.25) {
50
+ throw (0, errors_1.invalidArgument)('--volume-throughput must not exceed --volume-iops × 0.25 (gp3 ratio rule)');
51
+ }
52
+ const query = process.env.GENI_TENANT_ID ? `?tenantId=${process.env.GENI_TENANT_ID}` : '';
53
+ const body = {};
54
+ if (process.env.GENI_TENANT_ID)
55
+ body.tenantId = process.env.GENI_TENANT_ID;
56
+ if (volumeIops !== undefined)
57
+ body.volumeIops = volumeIops;
58
+ if (volumeThroughput !== undefined)
59
+ body.volumeThroughput = volumeThroughput;
60
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/admin/queues/${id}/update-ami${query}`), {
61
+ method: 'POST',
62
+ headers: { 'Content-Type': 'application/json' },
63
+ body: JSON.stringify(body),
64
+ });
65
+ (0, format_js_1.formatOutput)(data, opts.format, format_js_1.queueColumns);
66
+ });
34
67
  exports.queueCommand
35
68
  .command('delete <id>')
36
69
  .description('Delete a queue')
@@ -51,6 +84,8 @@ exports.queueCommand
51
84
  .option('--instance-type <type>', 'Instance type (repeatable)', (val, acc) => [...acc, val], [])
52
85
  .option('--max-vcpus <n>', 'Maximum vCPUs', '256')
53
86
  .option('--storage-size-gb <n>', 'Initial size in GB of the EBS-autoscale pool (per-instance)', '100')
87
+ .option('--volume-iops <n>', 'IOPS for the gp3 EBS volume (3000-80000)', '4000')
88
+ .option('--volume-throughput <n>', 'Throughput in MiB/s for the gp3 EBS volume (125-2000)', '1000')
54
89
  .option('--enable-ebs-autoscaling <bool>', 'Mount EBS-autoscale volume at /var/lib/docker on instance boot (true or false)', 'true')
55
90
  .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
56
91
  .action(async (opts) => {
@@ -60,6 +95,17 @@ exports.queueCommand
60
95
  if (opts.enableEbsAutoscaling !== 'true' && opts.enableEbsAutoscaling !== 'false') {
61
96
  throw (0, errors_1.invalidArgument)('Invalid --enable-ebs-autoscaling value. Expected "true" or "false".');
62
97
  }
98
+ const volumeIops = parseInt(opts.volumeIops, 10);
99
+ const volumeThroughput = parseInt(opts.volumeThroughput, 10);
100
+ if (volumeIops < 3000 || volumeIops > 80000) {
101
+ throw (0, errors_1.invalidArgument)('--volume-iops must be between 3000 and 80000');
102
+ }
103
+ if (volumeThroughput < 125 || volumeThroughput > 2000) {
104
+ throw (0, errors_1.invalidArgument)('--volume-throughput must be between 125 and 2000');
105
+ }
106
+ if (volumeThroughput > volumeIops * 0.25) {
107
+ throw (0, errors_1.invalidArgument)('--volume-throughput must not exceed --volume-iops × 0.25 (gp3 ratio rule)');
108
+ }
63
109
  const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)('/admin/queues'), {
64
110
  method: 'POST',
65
111
  headers: { 'Content-Type': 'application/json' },
@@ -70,10 +116,12 @@ exports.queueCommand
70
116
  ...(opts.instanceType.length > 0 ? { instanceTypes: opts.instanceType } : {}),
71
117
  maxvCpus: parseInt(opts.maxVcpus, 10),
72
118
  storageSizeGb: parseInt(opts.storageSizeGb, 10),
119
+ volumeIops,
120
+ volumeThroughput,
73
121
  ebsAutoscalingEnabled: opts.enableEbsAutoscaling === 'true',
74
122
  ...(process.env.GENI_TENANT_ID ? { tenantId: process.env.GENI_TENANT_ID } : {}),
75
123
  }),
76
124
  });
77
125
  (0, format_js_1.formatOutput)(data, opts.format, format_js_1.queueColumns);
78
126
  });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBQzNDLGtDQUEyQztBQUMzQyxzQ0FBMkM7QUFDM0MsNENBQTRFO0FBRS9ELFFBQUEsWUFBWSxHQUFHLElBQUksbUJBQU8sQ0FBQyxPQUFPLENBQUM7S0FDN0MsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRS9CLG9CQUFZO0tBQ1QsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUM7S0FDMUIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLDBEQUEwRCxDQUFDO0tBQ3ZGLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5RyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQStDLEVBQUUsRUFBRTtJQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO0lBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU07UUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7UUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2xGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JB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QyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDL0MscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixLQUFLLE1BQU07WUFDM0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDaEYsQ0FBQztLQUNILENBQUMsQ0FBQTtJQUNGLElBQUEsd0JBQVksRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSx3QkFBWSxDQUFDLENBQUE7QUFDL0MsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kLCBPcHRpb24gfSBmcm9tICdjb21tYW5kZXInXG5pbXBvcnQgeyBhcGlVcmwsIGZldGNoSnNvbiB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBpbnZhbGlkQXJndW1lbnQgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgeyBmb3JtYXRPdXRwdXQsIHF1ZXVlQ29sdW1ucywgdHlwZSBPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi9mb3JtYXQuanMnXG5cbmV4cG9ydCBjb25zdCBxdWV1ZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgncXVldWUnKVxuICAuZGVzY3JpcHRpb24oJ01hbmFnZSBxdWV1ZXMnKVxuXG5xdWV1ZUNvbW1hbmRcbiAgLmNvbW1hbmQoJ2xpc3QnKVxuICAuZGVzY3JpcHRpb24oJ0xpc3QgcXVldWVzJylcbiAgLm9wdGlvbignLS1zdGF0dXMgPHN0YXR1cz4nLCAnRmlsdGVyIGJ5IHN0YXR1cyAoZS5nLiBBQ1RJVkUsIFBFTkRJTkcsIEZBSUxFRCwgREVMRVRFRCknKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czogeyBzdGF0dXM/OiBzdHJpbmc7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICBpZiAob3B0cy5zdGF0dXMpIHBhcmFtcy5zZXQoJ3N0YXR1cycsIG9wdHMuc3RhdHVzLnRvVXBwZXJDYXNlKCkpXG4gICAgaWYgKHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEKSBwYXJhbXMuc2V0KCd0ZW5hbnRJZCcsIHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEKVxuICAgIGNvbnN0IHF1ZXJ5ID0gcGFyYW1zLnNpemUgPyBgPyR7cGFyYW1zfWAgOiAnJ1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvYWRtaW4vcXVldWVzJHtxdWVyeX1gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgICBmb3JtYXRPdXRwdXQob3B0cy5mb3JtYXQgPT09ICdqc29uJyA/IGRhdGEgOiBkYXRhLml0ZW1zLCBvcHRzLmZvcm1hdCwgcXVldWVDb2x1bW5zKVxuICB9KVxuXG5xdWV1ZUNvbW1hbmRcbiAgLmNvbW1hbmQoJ2dldCA8aWQ+JylcbiAgLmRlc2NyaXB0aW9uKCdHZXQgYSBxdWV1ZSBieSBJRCcpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEID8gYD90ZW5hbnRJZD0ke3Byb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEfWAgOiAnJ1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvYWRtaW4vcXVldWVzLyR7aWR9JHtxdWVyeX1gKSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHF1ZXVlQ29sdW1ucylcbiAgfSlcblxucXVldWVDb21tYW5kXG4gIC5jb21tYW5kKCdkZWxldGUgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignRGVsZXRlIGEgcXVldWUnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAoaWQ6IHN0cmluZywgb3B0czogeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3QgcXVlcnkgPSBwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRCA/IGA/dGVuYW50SWQ9JHtwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRH1gIDogJydcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL2FkbWluL3F1ZXVlcy8ke2lkfSR7cXVlcnl9YCksIHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgfSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHF1ZXVlQ29sdW1ucylcbiAgfSlcblxucXVldWVDb21tYW5kXG4gIC5jb21tYW5kKCdjcmVhdGUnKVxuICAuZGVzY3JpcHRpb24oJ0NyZWF0ZSBhIHF1ZXVlJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLW5hbWUgPG5hbWU+JywgJ1F1ZXVlIG5hbWUnKVxuICAucmVxdWlyZWRPcHRpb24oJy0tZW52aXJvbm1lbnQtaWQgPGlkPicsICdFbnZpcm9ubWVudCBJRCcpXG4gIC5vcHRpb24oJy0tZXhlY3V0aW9uLW1vZGUgPG1vZGU+JywgJ0V4ZWN1dGlvbiBtb2RlIChzcG90IG9yIG9uLWRlbWFuZCknLCAnc3BvdCcpXG4gIC5vcHRpb24oJy0taW5zdGFuY2UtdHlwZSA8dHlwZT4nLCAnSW5zdGFuY2UgdHlwZSAocmVwZWF0YWJsZSknLCAodmFsLCBhY2M6IHN0cmluZ1tdKSA9PiBbLi4uYWNjLCB2YWxdLCBbXSBhcyBzdHJpbmdbXSlcbiAgLm9wdGlvbignLS1tYXgtdmNwdXMgPG4+JywgJ01heGltdW0gdkNQVXMnLCAnMjU2JylcbiAgLm9wdGlvbignLS1zdG9yYWdlLXNpemUtZ2IgPG4+JywgJ0luaXRpYWwgc2l6ZSBpbiBHQiBvZiB0aGUgRUJTLWF1dG9zY2FsZSBwb29sIChwZXItaW5zdGFuY2UpJywgJzEwMCcpXG4gIC5vcHRpb24oJy0tZW5hYmxlLWVicy1hdXRvc2NhbGluZyA8Ym9vbD4nLCAnTW91bnQgRUJTLWF1dG9zY2FsZSB2b2x1bWUgYXQgL3Zhci9saWIvZG9ja2VyIG9uIGluc3RhbmNlIGJvb3QgKHRydWUgb3IgZmFsc2UpJywgJ3RydWUnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czoge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGVudmlyb25tZW50SWQ6IHN0cmluZ1xuICAgIGV4ZWN1dGlvbk1vZGU6IHN0cmluZ1xuICAgIGluc3RhbmNlVHlwZTogc3RyaW5nW11cbiAgICBtYXhWY3B1czogc3RyaW5nXG4gICAgc3RvcmFnZVNpemVHYjogc3RyaW5nXG4gICAgZW5hYmxlRWJzQXV0b3NjYWxpbmc6IHN0cmluZ1xuICAgIGZvcm1hdDogT3V0cHV0Rm9ybWF0XG4gIH0pID0+IHtcbiAgICBpZiAob3B0cy5leGVjdXRpb25Nb2RlICE9PSAnc3BvdCcgJiYgb3B0cy5leGVjdXRpb25Nb2RlICE9PSAnb24tZGVtYW5kJykge1xuICAgICAgdGhyb3cgaW52YWxpZEFyZ3VtZW50KFxuICAgICAgICAnSW52YWxpZCAtLWV4ZWN1dGlvbi1tb2RlIHZhbHVlLiBFeHBlY3RlZCBcInNwb3RcIiBvciBcIm9uLWRlbWFuZFwiLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKG9wdHMuZW5hYmxlRWJzQXV0b3NjYWxpbmcgIT09ICd0cnVlJyAmJiBvcHRzLmVuYWJsZUVic0F1dG9zY2FsaW5nICE9PSAnZmFsc2UnKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkQXJndW1lbnQoXG4gICAgICAgICdJbnZhbGlkIC0tZW5hYmxlLWVicy1hdXRvc2NhbGluZyB2YWx1ZS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoJy9hZG1pbi9xdWV1ZXMnKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgbmFtZTogb3B0cy5uYW1lLFxuICAgICAgICBlbnZpcm9ubWVudElkOiBvcHRzLmVudmlyb25tZW50SWQsXG4gICAgICAgIGV4ZWN1dGlvbk1vZGU6IG9wdHMuZXhlY3V0aW9uTW9kZSxcbiAgICAgICAgLi4uKG9wdHMuaW5zdGFuY2VUeXBlLmxlbmd0aCA+IDAgPyB7IGluc3RhbmNlVHlwZXM6IG9wdHMuaW5zdGFuY2VUeXBlIH0gOiB7fSksXG4gICAgICAgIG1heHZDcHVzOiBwYXJzZUludChvcHRzLm1heFZjcHVzLCAxMCksXG4gICAgICAgIHN0b3JhZ2VTaXplR2I6IHBhcnNlSW50KG9wdHMuc3RvcmFnZVNpemVHYiwgMTApLFxuICAgICAgICBlYnNBdXRvc2NhbGluZ0VuYWJsZWQ6IG9wdHMuZW5hYmxlRWJzQXV0b3NjYWxpbmcgPT09ICd0cnVlJyxcbiAgICAgICAgLi4uKHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEID8geyB0ZW5hbnRJZDogcHJvY2Vzcy5lbnYuR0VOSV9URU5BTlRfSUQgfSA6IHt9KSxcbiAgICAgIH0pLFxuICAgIH0pXG4gICAgZm9ybWF0T3V0cHV0KGRhdGEsIG9wdHMuZm9ybWF0LCBxdWV1ZUNvbHVtbnMpXG4gIH0pXG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBQzNDLGtDQUEyQztBQUMzQyxzQ0FBMkM7QUFDM0MsNENBQTRFO0FBRS9ELFFBQUEsWUFBWSxHQUFHLElBQUksbUJBQU8sQ0FBQyxPQUFPLENBQUM7S0FDN0MsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRS9CLG9CQUFZO0tBQ1QsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUM7S0FDMUIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLDBEQUEwRCxDQUFDO0tBQ3ZGLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5RyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQStDLEVBQUUsRUFBRTtJQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO0lBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU07UUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7UUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2xGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JB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bSAnY29tbWFuZGVyJ1xuaW1wb3J0IHsgYXBpVXJsLCBmZXRjaEpzb24gfSBmcm9tICcuLi9hdXRoJ1xuaW1wb3J0IHsgaW52YWxpZEFyZ3VtZW50IH0gZnJvbSAnLi4vZXJyb3JzJ1xuaW1wb3J0IHsgZm9ybWF0T3V0cHV0LCBxdWV1ZUNvbHVtbnMsIHR5cGUgT3V0cHV0Rm9ybWF0IH0gZnJvbSAnLi4vZm9ybWF0LmpzJ1xuXG5leHBvcnQgY29uc3QgcXVldWVDb21tYW5kID0gbmV3IENvbW1hbmQoJ3F1ZXVlJylcbiAgLmRlc2NyaXB0aW9uKCdNYW5hZ2UgcXVldWVzJylcblxucXVldWVDb21tYW5kXG4gIC5jb21tYW5kKCdsaXN0JylcbiAgLmRlc2NyaXB0aW9uKCdMaXN0IHF1ZXVlcycpXG4gIC5vcHRpb24oJy0tc3RhdHVzIDxzdGF0dXM+JywgJ0ZpbHRlciBieSBzdGF0dXMgKGUuZy4gQUNUSVZFLCBQRU5ESU5HLCBGQUlMRUQsIERFTEVURUQpJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdHM6IHsgc3RhdHVzPzogc3RyaW5nOyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgaWYgKG9wdHMuc3RhdHVzKSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBvcHRzLnN0YXR1cy50b1VwcGVyQ2FzZSgpKVxuICAgIGlmIChwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRCkgcGFyYW1zLnNldCgndGVuYW50SWQnLCBwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRClcbiAgICBjb25zdCBxdWVyeSA9IHBhcmFtcy5zaXplID8gYD8ke3BhcmFtc31gIDogJydcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL2FkbWluL3F1ZXVlcyR7cXVlcnl9YCkpIGFzIHsgaXRlbXM6IHVua25vd25bXSB9XG4gICAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIHF1ZXVlQ29sdW1ucylcbiAgfSlcblxucXVldWVDb21tYW5kXG4gIC5jb21tYW5kKCdnZXQgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignR2V0IGEgcXVldWUgYnkgSUQnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAoaWQ6IHN0cmluZywgb3B0czogeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3QgcXVlcnkgPSBwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRCA/IGA/dGVuYW50SWQ9JHtwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRH1gIDogJydcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL2FkbWluL3F1ZXVlcy8ke2lkfSR7cXVlcnl9YCkpXG4gICAgZm9ybWF0T3V0cHV0KGRhdGEsIG9wdHMuZm9ybWF0LCBxdWV1ZUNvbHVtbnMpXG4gIH0pXG5cbnF1ZXVlQ29tbWFuZFxuICAuY29tbWFuZCgndXBkYXRlIDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSBxdWV1ZSB3aXRoIHRoZSBsYXRlc3QgQU1JIGFuZCBvcHRpb25hbGx5IG5ldyBJT1BTL3Rocm91Z2hwdXQgc2V0dGluZ3MnKVxuICAub3B0aW9uKCctLXZvbHVtZS1pb3BzIDxuPicsICdJT1BTIGZvciB0aGUgZ3AzIEVCUyB2b2x1bWUgKDMwMDAtODAwMDApJylcbiAgLm9wdGlvbignLS12b2x1bWUtdGhyb3VnaHB1dCA8bj4nLCAnVGhyb3VnaHB1dCBpbiBNaUIvcyBmb3IgdGhlIGdwMyBFQlMgdm9sdW1lICgxMjUtMjAwMCknKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAoaWQ6IHN0cmluZywgb3B0czogeyB2b2x1bWVJb3BzPzogc3RyaW5nOyB2b2x1bWVUaHJvdWdocHV0Pzogc3RyaW5nOyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3Qgdm9sdW1lSW9wcyA9IG9wdHMudm9sdW1lSW9wcyAhPT0gdW5kZWZpbmVkID8gcGFyc2VJbnQob3B0cy52b2x1bWVJb3BzLCAxMCkgOiB1bmRlZmluZWRcbiAgICBjb25zdCB2b2x1bWVUaHJvdWdocHV0ID0gb3B0cy52b2x1bWVUaHJvdWdocHV0ICE9PSB1bmRlZmluZWQgPyBwYXJzZUludChvcHRzLnZvbHVtZVRocm91Z2hwdXQsIDEwKSA6IHVuZGVmaW5lZFxuXG4gICAgaWYgKHZvbHVtZUlvcHMgIT09IHVuZGVmaW5lZCAmJiAodm9sdW1lSW9wcyA8IDMwMDAgfHwgdm9sdW1lSW9wcyA+IDgwMDAwKSkge1xuICAgICAgdGhyb3cgaW52YWxpZEFyZ3VtZW50KCctLXZvbHVtZS1pb3BzIG11c3QgYmUgYmV0d2VlbiAzMDAwIGFuZCA4MDAwMCcpXG4gICAgfVxuICAgIGlmICh2b2x1bWVUaHJvdWdocHV0ICE9PSB1bmRlZmluZWQgJiYgKHZvbHVtZVRocm91Z2hwdXQgPCAxMjUgfHwgdm9sdW1lVGhyb3VnaHB1dCA+IDIwMDApKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkQXJndW1lbnQoJy0tdm9sdW1lLXRocm91Z2hwdXQgbXVzdCBiZSBiZXR3ZWVuIDEyNSBhbmQgMjAwMCcpXG4gICAgfVxuICAgIGlmICh2b2x1bWVJb3BzICE9PSB1bmRlZmluZWQgJiYgdm9sdW1lVGhyb3VnaHB1dCAhPT0gdW5kZWZpbmVkICYmIHZvbHVtZVRocm91Z2hwdXQgPiB2b2x1bWVJb3BzICogMC4yNSkge1xuICAgICAgdGhyb3cgaW52YWxpZEFyZ3VtZW50KCctLXZvbHVtZS10aHJvdWdocHV0IG11c3Qgbm90IGV4Y2VlZCAtLXZvbHVtZS1pb3BzIMOXIDAuMjUgKGdwMyByYXRpbyBydWxlKScpXG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRCA/IGA/dGVuYW50SWQ9JHtwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRH1gIDogJydcbiAgICBjb25zdCBib2R5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9XG4gICAgaWYgKHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEKSBib2R5LnRlbmFudElkID0gcHJvY2Vzcy5lbnYuR0VOSV9URU5BTlRfSURcbiAgICBpZiAodm9sdW1lSW9wcyAhPT0gdW5kZWZpbmVkKSBib2R5LnZvbHVtZUlvcHMgPSB2b2x1bWVJb3BzXG4gICAgaWYgKHZvbHVtZVRocm91Z2hwdXQgIT09IHVuZGVmaW5lZCkgYm9keS52b2x1bWVUaHJvdWdocHV0ID0gdm9sdW1lVGhyb3VnaHB1dFxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9hZG1pbi9xdWV1ZXMvJHtpZH0vdXBkYXRlLWFtaSR7cXVlcnl9YCksIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICB9KVxuICAgIGZvcm1hdE91dHB1dChkYXRhLCBvcHRzLmZvcm1hdCwgcXVldWVDb2x1bW5zKVxuICB9KVxuXG5xdWV1ZUNvbW1hbmRcbiAgLmNvbW1hbmQoJ2RlbGV0ZSA8aWQ+JylcbiAgLmRlc2NyaXB0aW9uKCdEZWxldGUgYSBxdWV1ZScpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEID8gYD90ZW5hbnRJZD0ke3Byb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEfWAgOiAnJ1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvYWRtaW4vcXVldWVzLyR7aWR9JHtxdWVyeX1gKSwge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICB9KVxuICAgIGZvcm1hdE91dHB1dChkYXRhLCBvcHRzLmZvcm1hdCwgcXVldWVDb2x1bW5zKVxuICB9KVxuXG5xdWV1ZUNvbW1hbmRcbiAgLmNvbW1hbmQoJ2NyZWF0ZScpXG4gIC5kZXNjcmlwdGlvbignQ3JlYXRlIGEgcXVldWUnKVxuICAucmVxdWlyZWRPcHRpb24oJy0tbmFtZSA8bmFtZT4nLCAnUXVldWUgbmFtZScpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1lbnZpcm9ubWVudC1pZCA8aWQ+JywgJ0Vudmlyb25tZW50IElEJylcbiAgLm9wdGlvbignLS1leGVjdXRpb24tbW9kZSA8bW9kZT4nLCAnRXhlY3V0aW9uIG1vZGUgKHNwb3Qgb3Igb24tZGVtYW5kKScsICdzcG90JylcbiAgLm9wdGlvbignLS1pbnN0YW5jZS10eXBlIDx0eXBlPicsICdJbnN0YW5jZSB0eXBlIChyZXBlYXRhYmxlKScsICh2YWwsIGFjYzogc3RyaW5nW10pID0+IFsuLi5hY2MsIHZhbF0sIFtdIGFzIHN0cmluZ1tdKVxuICAub3B0aW9uKCctLW1heC12Y3B1cyA8bj4nLCAnTWF4aW11bSB2Q1BVcycsICcyNTYnKVxuICAub3B0aW9uKCctLXN0b3JhZ2Utc2l6ZS1nYiA8bj4nLCAnSW5pdGlhbCBzaXplIGluIEdCIG9mIHRoZSBFQlMtYXV0b3NjYWxlIHBvb2wgKHBlci1pbnN0YW5jZSknLCAnMTAwJylcbiAgLm9wdGlvbignLS12b2x1bWUtaW9wcyA8bj4nLCAnSU9QUyBmb3IgdGhlIGdwMyBFQlMgdm9sdW1lICgzMDAwLTgwMDAwKScsICc0MDAwJylcbiAgLm9wdGlvbignLS12b2x1bWUtdGhyb3VnaHB1dCA8bj4nLCAnVGhyb3VnaHB1dCBpbiBNaUIvcyBmb3IgdGhlIGdwMyBFQlMgdm9sdW1lICgxMjUtMjAwMCknLCAnMTAwMCcpXG4gIC5vcHRpb24oJy0tZW5hYmxlLWVicy1hdXRvc2NhbGluZyA8Ym9vbD4nLCAnTW91bnQgRUJTLWF1dG9zY2FsZSB2b2x1bWUgYXQgL3Zhci9saWIvZG9ja2VyIG9uIGluc3RhbmNlIGJvb3QgKHRydWUgb3IgZmFsc2UpJywgJ3RydWUnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czoge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGVudmlyb25tZW50SWQ6IHN0cmluZ1xuICAgIGV4ZWN1dGlvbk1vZGU6IHN0cmluZ1xuICAgIGluc3RhbmNlVHlwZTogc3RyaW5nW11cbiAgICBtYXhWY3B1czogc3RyaW5nXG4gICAgc3RvcmFnZVNpemVHYjogc3RyaW5nXG4gICAgdm9sdW1lSW9wczogc3RyaW5nXG4gICAgdm9sdW1lVGhyb3VnaHB1dDogc3RyaW5nXG4gICAgZW5hYmxlRWJzQXV0b3NjYWxpbmc6IHN0cmluZ1xuICAgIGZvcm1hdDogT3V0cHV0Rm9ybWF0XG4gIH0pID0+IHtcbiAgICBpZiAob3B0cy5leGVjdXRpb25Nb2RlICE9PSAnc3BvdCcgJiYgb3B0cy5leGVjdXRpb25Nb2RlICE9PSAnb24tZGVtYW5kJykge1xuICAgICAgdGhyb3cgaW52YWxpZEFyZ3VtZW50KFxuICAgICAgICAnSW52YWxpZCAtLWV4ZWN1dGlvbi1tb2RlIHZhbHVlLiBFeHBlY3RlZCBcInNwb3RcIiBvciBcIm9uLWRlbWFuZFwiLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKG9wdHMuZW5hYmxlRWJzQXV0b3NjYWxpbmcgIT09ICd0cnVlJyAmJiBvcHRzLmVuYWJsZUVic0F1dG9zY2FsaW5nICE9PSAnZmFsc2UnKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkQXJndW1lbnQoXG4gICAgICAgICdJbnZhbGlkIC0tZW5hYmxlLWVicy1hdXRvc2NhbGluZyB2YWx1ZS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3Qgdm9sdW1lSW9wcyA9IHBhcnNlSW50KG9wdHMudm9sdW1lSW9wcywgMTApXG4gICAgY29uc3Qgdm9sdW1lVGhyb3VnaHB1dCA9IHBhcnNlSW50KG9wdHMudm9sdW1lVGhyb3VnaHB1dCwgMTApXG4gICAgaWYgKHZvbHVtZUlvcHMgPCAzMDAwIHx8IHZvbHVtZUlvcHMgPiA4MDAwMCkge1xuICAgICAgdGhyb3cgaW52YWxpZEFyZ3VtZW50KCctLXZvbHVtZS1pb3BzIG11c3QgYmUgYmV0d2VlbiAzMDAwIGFuZCA4MDAwMCcpXG4gICAgfVxuICAgIGlmICh2b2x1bWVUaHJvdWdocHV0IDwgMTI1IHx8IHZvbHVtZVRocm91Z2hwdXQgPiAyMDAwKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkQXJndW1lbnQoJy0tdm9sdW1lLXRocm91Z2hwdXQgbXVzdCBiZSBiZXR3ZWVuIDEyNSBhbmQgMjAwMCcpXG4gICAgfVxuICAgIGlmICh2b2x1bWVUaHJvdWdocHV0ID4gdm9sdW1lSW9wcyAqIDAuMjUpIHtcbiAgICAgIHRocm93IGludmFsaWRBcmd1bWVudCgnLS12b2x1bWUtdGhyb3VnaHB1dCBtdXN0IG5vdCBleGNlZWQgLS12b2x1bWUtaW9wcyDDlyAwLjI1IChncDMgcmF0aW8gcnVsZSknKVxuICAgIH1cblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKCcvYWRtaW4vcXVldWVzJyksIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG5hbWU6IG9wdHMubmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnRJZDogb3B0cy5lbnZpcm9ubWVudElkLFxuICAgICAgICBleGVjdXRpb25Nb2RlOiBvcHRzLmV4ZWN1dGlvbk1vZGUsXG4gICAgICAgIC4uLihvcHRzLmluc3RhbmNlVHlwZS5sZW5ndGggPiAwID8geyBpbnN0YW5jZVR5cGVzOiBvcHRzLmluc3RhbmNlVHlwZSB9IDoge30pLFxuICAgICAgICBtYXh2Q3B1czogcGFyc2VJbnQob3B0cy5tYXhWY3B1cywgMTApLFxuICAgICAgICBzdG9yYWdlU2l6ZUdiOiBwYXJzZUludChvcHRzLnN0b3JhZ2VTaXplR2IsIDEwKSxcbiAgICAgICAgdm9sdW1lSW9wcyxcbiAgICAgICAgdm9sdW1lVGhyb3VnaHB1dCxcbiAgICAgICAgZWJzQXV0b3NjYWxpbmdFbmFibGVkOiBvcHRzLmVuYWJsZUVic0F1dG9zY2FsaW5nID09PSAndHJ1ZScsXG4gICAgICAgIC4uLihwcm9jZXNzLmVudi5HRU5JX1RFTkFOVF9JRCA/IHsgdGVuYW50SWQ6IHByb2Nlc3MuZW52LkdFTklfVEVOQU5UX0lEIH0gOiB7fSksXG4gICAgICB9KSxcbiAgICB9KVxuICAgIGZvcm1hdE91dHB1dChkYXRhLCBvcHRzLmZvcm1hdCwgcXVldWVDb2x1bW5zKVxuICB9KVxuIl19
@@ -88,4 +88,24 @@ exports.submissionCommand
88
88
  const data = await (0, auth_1.readJsonResponse)(res, { method: 'POST', url });
89
89
  console.log(`${data.message} (${data.submissionId})`);
90
90
  });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zdWJtaXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUEyQztBQUMzQyw0Q0FBbUI7QUFDbkIsZ0RBQXVCO0FBQ3ZCLGtDQUE2RTtBQUM3RSxzQ0FBMkM7QUFDM0MsNENBQWlGO0FBRWpGLFNBQVMsa0JBQWtCLENBQUMsS0FBYTtJQUN2QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUEsd0JBQWUsRUFDbkIsdURBQXVELEVBQ3ZELG1CQUFtQixDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUNwQyxPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHWSxRQUFBLGlCQUFpQixHQUFHLElBQUksbUJBQU8sQ0FBQyxZQUFZLENBQUM7S0FDdkQsV0FBVyxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFFN0MseUJBQWlCO0tBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUNmLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztLQUMvQixNQUFNLENBQUMsbUJBQW1CLEVBQUUsaURBQWlELENBQUM7S0FDOUUsTUFBTSxDQUFDLGFBQWEsRUFBRSxxQ0FBcUMsRUFBRSxJQUFJLENBQUM7S0FDbEUsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FB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RUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSw2QkFBaUIsQ0FBQyxDQUFBO0FBQ3BELENBQUMsQ0FBQyxDQUFBO0FBRUoseUJBQWlCO0tBQ2QsT0FBTyxDQUFDLGFBQWEsQ0FBQztLQUN0QixXQUFXLENBQUMsNkJBQTZCLENBQUM7S0FDMUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFVLEVBQUUsRUFBRTtJQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFBLGFBQU0sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUMvQyxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDM0IsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsSUFBQSxxQkFBYyxHQUFFO0tBQzFCLENBQUMsQ0FBQTtJQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSx1QkFBZ0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUE4QyxDQUFBO0lBQzlHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFBO0FBQ3ZELENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IGFwaVVybCwgZmV0Y2hKc29uLCBnZXRBdXRoSGVhZGVycywgcmVhZEpzb25SZXNwb25zZSB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBpbnZhbGlkQXJndW1lbnQgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgeyBmb3JtYXRPdXRwdXQsIHN1Ym1pc3Npb25Db2x1bW5zLCB0eXBlIE91dHB1dEZvcm1hdCB9IGZyb20gJy4uL2Zvcm1hdC5qcydcblxuZnVuY3Rpb24gcGFyc2VUaW1lVG9TZWNvbmRzKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KCc6JykubWFwKE51bWJlcilcbiAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMyB8fCBwYXJ0cy5zb21lKGlzTmFOKSkge1xuICAgIHRocm93IGludmFsaWRBcmd1bWVudChcbiAgICAgICdUaW1lIG11c3QgYmUgaW4gREQ6SEg6TU0gZm9ybWF0IChkYXlzOmhvdXJzOm1pbnV0ZXMpLicsXG4gICAgICAnRXhhbXBsZTogMDA6MTI6MzAnLFxuICAgIClcbiAgfVxuICBjb25zdCBbZGF5cywgaG91cnMsIG1pbnV0ZXNdID0gcGFydHNcbiAgcmV0dXJuIChkYXlzICogODY0MDApICsgKGhvdXJzICogMzYwMCkgKyAobWludXRlcyAqIDYwKVxufVxuXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdzdWJtaXNzaW9uJylcbiAgLmRlc2NyaXB0aW9uKCdNYW5hZ2Ugd29ya2Zsb3cgc3VibWlzc2lvbnMnKVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnbGlzdCcpXG4gIC5kZXNjcmlwdGlvbignTGlzdCBzdWJtaXNzaW9ucycpXG4gIC5vcHRpb24oJy0tc3RhdHVzIDxzdGF0dXM+JywgJ0ZpbHRlciBieSBzdGF0dXMgKFNVQk1JVFRFRCwgU1VDQ0VFREVELCBGQUlMRUQpJylcbiAgLm9wdGlvbignLS1saW1pdCA8bj4nLCAnTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4nLCAnMTAnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czogeyBzdGF0dXM/OiBzdHJpbmc7IGxpbWl0OiBzdHJpbmc7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICBpZiAob3B0cy5zdGF0dXMpIHBhcmFtcy5zZXQoJ3N0YXR1cycsIG9wdHMuc3RhdHVzKVxuICAgIHBhcmFtcy5zZXQoJ2xpbWl0Jywgb3B0cy5saW1pdClcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL3N1Ym1pc3Npb25zPyR7cGFyYW1zfWApKSBhcyB7IGl0ZW1zOiB1bmtub3duW10gfVxuICAgIGZvcm1hdE91dHB1dChvcHRzLmZvcm1hdCA9PT0gJ2pzb24nID8gZGF0YSA6IGRhdGEuaXRlbXMsIG9wdHMuZm9ybWF0LCBzdWJtaXNzaW9uQ29sdW1ucylcbiAgfSlcblxuc3VibWlzc2lvbkNvbW1hbmRcbiAgLmNvbW1hbmQoJ2dldCA8aWQ+JylcbiAgLmRlc2NyaXB0aW9uKCdHZXQgYSBzdWJtaXNzaW9uIGJ5IElEJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcsIG9wdHM6IHsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvc3VibWlzc2lvbnMvJHtpZH1gKSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY3JlYXRlJylcbiAgLmRlc2NyaXB0aW9uKCdTdWJtaXQgYSB3b3JrZmxvdyBydW4nKVxuICAucmVxdWlyZWRPcHRpb24oJy0td29ya2Zsb3ctbmFtZSA8bmFtZT4nLCAnV29ya2Zsb3cgbmFtZScpXG4gIC5vcHRpb24oJy0td29ya2Zsb3ctdmVyc2lvbiA8dmVyc2lvbj4nLCAnV29ya2Zsb3cgdmVyc2lvbicpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1wYXJhbXMtZmlsZSA8ZmlsZT4nLCAnUGF0aCB0byBwYXJhbXMgZmlsZSAoLmpzb24vLnlhbWwvLnltbCknKVxuICAucmVxdWlyZWRPcHRpb24oJy0tZW5naW5lLWlkIDxpZD4nLCAnRW5naW5lIElEJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLXF1ZXVlLWlkIDxpZD4nLCAnUXVldWUgSUQnKVxuICAucmVxdWlyZWRPcHRpb24oJy0tb3V0cHV0LWZvbGRlciA8czMtdXJpPicsICdTMyBVUkkgcHJlZml4IGZvciB3b3JrZmxvdyBvdXRwdXQgZmlsZXMgKGUuZy4gczM6Ly9teS1idWNrZXQvb3V0cHV0cy8pJylcbiAgLm9wdGlvbignLS1hbGVydC10aW1lIDxERDpISDpNTT4nLCAnQWxlcnQgdGltZSBvdmVycmlkZSAoREQ6SEg6TU0pJylcbiAgLm9wdGlvbignLS1jYW5jZWwtdGltZSA8REQ6SEg6TU0+JywgJ0NhbmNlbCB0aW1lIG92ZXJyaWRlIChERDpISDpNTSknKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czoge1xuICAgIHdvcmtmbG93TmFtZTogc3RyaW5nXG4gICAgd29ya2Zsb3dWZXJzaW9uPzogc3RyaW5nXG4gICAgcGFyYW1zRmlsZTogc3RyaW5nXG4gICAgZW5naW5lSWQ6IHN0cmluZ1xuICAgIHF1ZXVlSWQ6IHN0cmluZ1xuICAgIG91dHB1dEZvbGRlcjogc3RyaW5nXG4gICAgYWxlcnRUaW1lPzogc3RyaW5nXG4gICAgY2FuY2VsVGltZT86IHN0cmluZ1xuICAgIGZvcm1hdDogT3V0cHV0Rm9ybWF0XG4gIH0pID0+IHtcbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1EYXRhKClcbiAgICBmb3JtLmFwcGVuZCgnd29ya2Zsb3dOYW1lJywgb3B0cy53b3JrZmxvd05hbWUpXG4gICAgaWYgKG9wdHMud29ya2Zsb3dWZXJzaW9uKSBmb3JtLmFwcGVuZCgnd29ya2Zsb3dWZXJzaW9uJywgb3B0cy53b3JrZmxvd1ZlcnNpb24pXG4gICAgZm9ybS5hcHBlbmQoJ2VuZ2luZUlkJywgb3B0cy5lbmdpbmVJZClcbiAgICBmb3JtLmFwcGVuZCgncXVldWVJZCcsIG9wdHMucXVldWVJZClcbiAgICBmb3JtLmFwcGVuZCgnb3V0cHV0Jywgb3B0cy5vdXRwdXRGb2xkZXIpXG4gICAgaWYgKG9wdHMuYWxlcnRUaW1lKSBmb3JtLmFwcGVuZCgnYWxlcnRUaW1lU2Vjb25kcycsIFN0cmluZyhwYXJzZVRpbWVUb1NlY29uZHMob3B0cy5hbGVydFRpbWUpKSlcbiAgICBpZiAob3B0cy5jYW5jZWxUaW1lKSBmb3JtLmFwcGVuZCgnY2FuY2VsVGltZVNlY29uZHMnLCBTdHJpbmcocGFyc2VUaW1lVG9TZWNvbmRzKG9wdHMuY2FuY2VsVGltZSkpKVxuICAgIGNvbnN0IHBhcmFtc0J1ZmZlciA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKG9wdHMucGFyYW1zRmlsZSlcbiAgICBmb3JtLmFwcGVuZCgncGFyYW1zJywgbmV3IEJsb2IoW3BhcmFtc0J1ZmZlcl0pLCBwYXRoLmJhc2VuYW1lKG9wdHMucGFyYW1zRmlsZSkpXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChhcGlVcmwoJy9zdWJtaXNzaW9ucycpLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IGdldEF1dGhIZWFkZXJzKCksXG4gICAgICBib2R5OiBmb3JtLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL3N1Ym1pc3Npb25zJykgfSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY2FuY2VsIDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ0NhbmNlbCBhIHJ1bm5pbmcgc3VibWlzc2lvbicpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9jYW5jZWxgKVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiBnZXRBdXRoSGVhZGVycygpLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmwgfSkgYXMgeyBzdWJtaXNzaW9uSWQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICBjb25zb2xlLmxvZyhgJHtkYXRhLm1lc3NhZ2V9ICgke2RhdGEuc3VibWlzc2lvbklkfSlgKVxuICB9KVxuIl19
91
+ exports.submissionCommand
92
+ .command('retry <id>')
93
+ .description('Retry a failed submission')
94
+ .option('--engine-id <id>', 'Use a different engine')
95
+ .option('--queue-id <id>', 'Use a different queue')
96
+ .action(async (id, opts) => {
97
+ const url = (0, auth_1.apiUrl)(`/submissions/${id}/retry`);
98
+ const body = {};
99
+ if (opts.engineId)
100
+ body.engineId = opts.engineId;
101
+ if (opts.queueId)
102
+ body.queueId = opts.queueId;
103
+ const res = await fetch(url, {
104
+ method: 'POST',
105
+ headers: { ...(0, auth_1.getAuthHeaders)(), 'Content-Type': 'application/json' },
106
+ body: JSON.stringify(body),
107
+ });
108
+ const data = await (0, auth_1.readJsonResponse)(res, { method: 'POST', url });
109
+ console.log(`${data.message} (${data.submissionId})`);
110
+ });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zdWJtaXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUEyQztBQUMzQyw0Q0FBbUI7QUFDbkIsZ0RBQXVCO0FBQ3ZCLGtDQUE2RTtBQUM3RSxzQ0FBMkM7QUFDM0MsNENBQWlGO0FBRWpGLFNBQVMsa0JBQWtCLENBQUMsS0FBYTtJQUN2QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUEsd0JBQWUsRUFDbkIsdURBQXVELEVBQ3ZELG1CQUFtQixDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUNwQyxPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHWSxRQUFBLGlCQUFpQixHQUFHLElBQUksbUJBQU8sQ0FBQyxZQUFZLENBQUM7S0FDdkQsV0FBVyxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFFN0MseUJBQWlCO0tBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUNmLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztLQUMvQixNQUFNLENBQUMsbUJBQW1CLEVBQUUsaURBQWlELENBQUM7S0FDOUUsTUFBTSxDQUFDLGFBQWEsRUFBRSxxQ0FBcUMsRUFBRSxJQUFJLENBQUM7S0FDbEUsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FB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QUFJLENBQUMsUUFBUSxDQUFBO0lBQ2hELElBQUksSUFBSSxDQUFDLE9BQU87UUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQzNCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFBLHFCQUFjLEdBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7UUFDcEUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQzNCLENBQUMsQ0FBQTtJQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSx1QkFBZ0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUE4QyxDQUFBO0lBQzlHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFBO0FBQ3ZELENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IGFwaVVybCwgZmV0Y2hKc29uLCBnZXRBdXRoSGVhZGVycywgcmVhZEpzb25SZXNwb25zZSB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBpbnZhbGlkQXJndW1lbnQgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgeyBmb3JtYXRPdXRwdXQsIHN1Ym1pc3Npb25Db2x1bW5zLCB0eXBlIE91dHB1dEZvcm1hdCB9IGZyb20gJy4uL2Zvcm1hdC5qcydcblxuZnVuY3Rpb24gcGFyc2VUaW1lVG9TZWNvbmRzKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KCc6JykubWFwKE51bWJlcilcbiAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMyB8fCBwYXJ0cy5zb21lKGlzTmFOKSkge1xuICAgIHRocm93IGludmFsaWRBcmd1bWVudChcbiAgICAgICdUaW1lIG11c3QgYmUgaW4gREQ6SEg6TU0gZm9ybWF0IChkYXlzOmhvdXJzOm1pbnV0ZXMpLicsXG4gICAgICAnRXhhbXBsZTogMDA6MTI6MzAnLFxuICAgIClcbiAgfVxuICBjb25zdCBbZGF5cywgaG91cnMsIG1pbnV0ZXNdID0gcGFydHNcbiAgcmV0dXJuIChkYXlzICogODY0MDApICsgKGhvdXJzICogMzYwMCkgKyAobWludXRlcyAqIDYwKVxufVxuXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdzdWJtaXNzaW9uJylcbiAgLmRlc2NyaXB0aW9uKCdNYW5hZ2Ugd29ya2Zsb3cgc3VibWlzc2lvbnMnKVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnbGlzdCcpXG4gIC5kZXNjcmlwdGlvbignTGlzdCBzdWJtaXNzaW9ucycpXG4gIC5vcHRpb24oJy0tc3RhdHVzIDxzdGF0dXM+JywgJ0ZpbHRlciBieSBzdGF0dXMgKFNVQk1JVFRFRCwgU1VDQ0VFREVELCBGQUlMRUQpJylcbiAgLm9wdGlvbignLS1saW1pdCA8bj4nLCAnTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4nLCAnMTAnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czogeyBzdGF0dXM/OiBzdHJpbmc7IGxpbWl0OiBzdHJpbmc7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICBpZiAob3B0cy5zdGF0dXMpIHBhcmFtcy5zZXQoJ3N0YXR1cycsIG9wdHMuc3RhdHVzKVxuICAgIHBhcmFtcy5zZXQoJ2xpbWl0Jywgb3B0cy5saW1pdClcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL3N1Ym1pc3Npb25zPyR7cGFyYW1zfWApKSBhcyB7IGl0ZW1zOiB1bmtub3duW10gfVxuICAgIGZvcm1hdE91dHB1dChvcHRzLmZvcm1hdCA9PT0gJ2pzb24nID8gZGF0YSA6IGRhdGEuaXRlbXMsIG9wdHMuZm9ybWF0LCBzdWJtaXNzaW9uQ29sdW1ucylcbiAgfSlcblxuc3VibWlzc2lvbkNvbW1hbmRcbiAgLmNvbW1hbmQoJ2dldCA8aWQ+JylcbiAgLmRlc2NyaXB0aW9uKCdHZXQgYSBzdWJtaXNzaW9uIGJ5IElEJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcsIG9wdHM6IHsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvc3VibWlzc2lvbnMvJHtpZH1gKSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY3JlYXRlJylcbiAgLmRlc2NyaXB0aW9uKCdTdWJtaXQgYSB3b3JrZmxvdyBydW4nKVxuICAucmVxdWlyZWRPcHRpb24oJy0td29ya2Zsb3ctbmFtZSA8bmFtZT4nLCAnV29ya2Zsb3cgbmFtZScpXG4gIC5vcHRpb24oJy0td29ya2Zsb3ctdmVyc2lvbiA8dmVyc2lvbj4nLCAnV29ya2Zsb3cgdmVyc2lvbicpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1wYXJhbXMtZmlsZSA8ZmlsZT4nLCAnUGF0aCB0byBwYXJhbXMgZmlsZSAoLmpzb24vLnlhbWwvLnltbCknKVxuICAucmVxdWlyZWRPcHRpb24oJy0tZW5naW5lLWlkIDxpZD4nLCAnRW5naW5lIElEJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLXF1ZXVlLWlkIDxpZD4nLCAnUXVldWUgSUQnKVxuICAucmVxdWlyZWRPcHRpb24oJy0tb3V0cHV0LWZvbGRlciA8czMtdXJpPicsICdTMyBVUkkgcHJlZml4IGZvciB3b3JrZmxvdyBvdXRwdXQgZmlsZXMgKGUuZy4gczM6Ly9teS1idWNrZXQvb3V0cHV0cy8pJylcbiAgLm9wdGlvbignLS1hbGVydC10aW1lIDxERDpISDpNTT4nLCAnQWxlcnQgdGltZSBvdmVycmlkZSAoREQ6SEg6TU0pJylcbiAgLm9wdGlvbignLS1jYW5jZWwtdGltZSA8REQ6SEg6TU0+JywgJ0NhbmNlbCB0aW1lIG92ZXJyaWRlIChERDpISDpNTSknKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czoge1xuICAgIHdvcmtmbG93TmFtZTogc3RyaW5nXG4gICAgd29ya2Zsb3dWZXJzaW9uPzogc3RyaW5nXG4gICAgcGFyYW1zRmlsZTogc3RyaW5nXG4gICAgZW5naW5lSWQ6IHN0cmluZ1xuICAgIHF1ZXVlSWQ6IHN0cmluZ1xuICAgIG91dHB1dEZvbGRlcjogc3RyaW5nXG4gICAgYWxlcnRUaW1lPzogc3RyaW5nXG4gICAgY2FuY2VsVGltZT86IHN0cmluZ1xuICAgIGZvcm1hdDogT3V0cHV0Rm9ybWF0XG4gIH0pID0+IHtcbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1EYXRhKClcbiAgICBmb3JtLmFwcGVuZCgnd29ya2Zsb3dOYW1lJywgb3B0cy53b3JrZmxvd05hbWUpXG4gICAgaWYgKG9wdHMud29ya2Zsb3dWZXJzaW9uKSBmb3JtLmFwcGVuZCgnd29ya2Zsb3dWZXJzaW9uJywgb3B0cy53b3JrZmxvd1ZlcnNpb24pXG4gICAgZm9ybS5hcHBlbmQoJ2VuZ2luZUlkJywgb3B0cy5lbmdpbmVJZClcbiAgICBmb3JtLmFwcGVuZCgncXVldWVJZCcsIG9wdHMucXVldWVJZClcbiAgICBmb3JtLmFwcGVuZCgnb3V0cHV0Jywgb3B0cy5vdXRwdXRGb2xkZXIpXG4gICAgaWYgKG9wdHMuYWxlcnRUaW1lKSBmb3JtLmFwcGVuZCgnYWxlcnRUaW1lU2Vjb25kcycsIFN0cmluZyhwYXJzZVRpbWVUb1NlY29uZHMob3B0cy5hbGVydFRpbWUpKSlcbiAgICBpZiAob3B0cy5jYW5jZWxUaW1lKSBmb3JtLmFwcGVuZCgnY2FuY2VsVGltZVNlY29uZHMnLCBTdHJpbmcocGFyc2VUaW1lVG9TZWNvbmRzKG9wdHMuY2FuY2VsVGltZSkpKVxuICAgIGNvbnN0IHBhcmFtc0J1ZmZlciA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKG9wdHMucGFyYW1zRmlsZSlcbiAgICBmb3JtLmFwcGVuZCgncGFyYW1zJywgbmV3IEJsb2IoW3BhcmFtc0J1ZmZlcl0pLCBwYXRoLmJhc2VuYW1lKG9wdHMucGFyYW1zRmlsZSkpXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChhcGlVcmwoJy9zdWJtaXNzaW9ucycpLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IGdldEF1dGhIZWFkZXJzKCksXG4gICAgICBib2R5OiBmb3JtLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL3N1Ym1pc3Npb25zJykgfSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY2FuY2VsIDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ0NhbmNlbCBhIHJ1bm5pbmcgc3VibWlzc2lvbicpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9jYW5jZWxgKVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiBnZXRBdXRoSGVhZGVycygpLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmwgfSkgYXMgeyBzdWJtaXNzaW9uSWQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICBjb25zb2xlLmxvZyhgJHtkYXRhLm1lc3NhZ2V9ICgke2RhdGEuc3VibWlzc2lvbklkfSlgKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgncmV0cnkgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignUmV0cnkgYSBmYWlsZWQgc3VibWlzc2lvbicpXG4gIC5vcHRpb24oJy0tZW5naW5lLWlkIDxpZD4nLCAnVXNlIGEgZGlmZmVyZW50IGVuZ2luZScpXG4gIC5vcHRpb24oJy0tcXVldWUtaWQgPGlkPicsICdVc2UgYSBkaWZmZXJlbnQgcXVldWUnKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGVuZ2luZUlkPzogc3RyaW5nOyBxdWV1ZUlkPzogc3RyaW5nIH0pID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9yZXRyeWApXG4gICAgY29uc3QgYm9keTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG4gICAgaWYgKG9wdHMuZW5naW5lSWQpIGJvZHkuZW5naW5lSWQgPSBvcHRzLmVuZ2luZUlkXG4gICAgaWYgKG9wdHMucXVldWVJZCkgYm9keS5xdWV1ZUlkID0gb3B0cy5xdWV1ZUlkXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZ2V0QXV0aEhlYWRlcnMoKSwgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgfSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVhZEpzb25SZXNwb25zZShyZXMsIHsgbWV0aG9kOiAnUE9TVCcsIHVybCB9KSBhcyB7IHN1Ym1pc3Npb25JZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVxuICAgIGNvbnNvbGUubG9nKGAke2RhdGEubWVzc2FnZX0gKCR7ZGF0YS5zdWJtaXNzaW9uSWR9KWApXG4gIH0pXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const workflowVersionCommand: Command;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workflowVersionCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const auth_1 = require("../auth");
6
+ const format_js_1 = require("../format.js");
7
+ exports.workflowVersionCommand = new commander_1.Command('workflow-version')
8
+ .description('Manage workflow versions');
9
+ exports.workflowVersionCommand
10
+ .command('list <workflow-name>')
11
+ .description('List all versions of a workflow')
12
+ .addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
13
+ .action(async (workflowName, opts) => {
14
+ const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/workflows/${workflowName}/versions`));
15
+ (0, format_js_1.formatOutput)(opts.format === 'json' ? data : data.items, opts.format, format_js_1.workflowVersionColumns);
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy93b3JrZmxvdy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUEyQztBQUMzQyxrQ0FBMkM7QUFDM0MsNENBQXNGO0FBRXpFLFFBQUEsc0JBQXNCLEdBQUcsSUFBSSxtQkFBTyxDQUFDLGtCQUFrQixDQUFDO0tBQ2xFLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBRTFDLDhCQUFzQjtLQUNuQixPQUFPLENBQUMsc0JBQXNCLENBQUM7S0FDL0IsV0FBVyxDQUFDLGlDQUFpQyxDQUFDO0tBQzlDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5RyxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQW9CLEVBQUUsSUFBOEIsRUFBRSxFQUFFO0lBQ3JFLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxnQkFBUyxFQUFDLElBQUEsYUFBTSxFQUFDLGNBQWMsWUFBWSxXQUFXLENBQUMsQ0FBeUIsQ0FBQTtJQUNuRyxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLGtDQUFzQixDQUFDLENBQUE7QUFDL0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kLCBPcHRpb24gfSBmcm9tICdjb21tYW5kZXInXG5pbXBvcnQgeyBhcGlVcmwsIGZldGNoSnNvbiB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBmb3JtYXRPdXRwdXQsIHdvcmtmbG93VmVyc2lvbkNvbHVtbnMsIHR5cGUgT3V0cHV0Rm9ybWF0IH0gZnJvbSAnLi4vZm9ybWF0LmpzJ1xuXG5leHBvcnQgY29uc3Qgd29ya2Zsb3dWZXJzaW9uQ29tbWFuZCA9IG5ldyBDb21tYW5kKCd3b3JrZmxvdy12ZXJzaW9uJylcbiAgLmRlc2NyaXB0aW9uKCdNYW5hZ2Ugd29ya2Zsb3cgdmVyc2lvbnMnKVxuXG53b3JrZmxvd1ZlcnNpb25Db21tYW5kXG4gIC5jb21tYW5kKCdsaXN0IDx3b3JrZmxvdy1uYW1lPicpXG4gIC5kZXNjcmlwdGlvbignTGlzdCBhbGwgdmVyc2lvbnMgb2YgYSB3b3JrZmxvdycpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jICh3b3JrZmxvd05hbWU6IHN0cmluZywgb3B0czogeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC93b3JrZmxvd3MvJHt3b3JrZmxvd05hbWV9L3ZlcnNpb25zYCkpIGFzIHsgaXRlbXM6IHVua25vd25bXSB9XG4gICAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIHdvcmtmbG93VmVyc2lvbkNvbHVtbnMpXG4gIH0pXG4iXX0=
package/dist/format.d.ts CHANGED
@@ -6,6 +6,7 @@ interface ColumnDef {
6
6
  }
7
7
  export declare function formatOutput(data: unknown, format: OutputFormat, columns: ColumnDef[]): void;
8
8
  export declare const workflowColumns: ColumnDef[];
9
+ export declare const workflowVersionColumns: ColumnDef[];
9
10
  export declare const submissionColumns: ColumnDef[];
10
11
  export declare const environmentColumns: ColumnDef[];
11
12
  export declare const queueColumns: ColumnDef[];
@@ -26,4 +27,6 @@ export declare const analyticsByEnvironmentColumns: ColumnDef[];
26
27
  export declare const analyticsByQueueColumns: ColumnDef[];
27
28
  export declare const analyticsByInstanceTypeColumns: ColumnDef[];
28
29
  export declare const analyticsOverTimeColumns: ColumnDef[];
30
+ export declare const costsByEngineColumns: ColumnDef[];
31
+ export declare const costsByExecutionModeColumns: ColumnDef[];
29
32
  export {};
package/dist/format.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.analyticsOverTimeColumns = exports.analyticsByInstanceTypeColumns = exports.analyticsByQueueColumns = exports.analyticsByEnvironmentColumns = exports.analyticsBySubmissionColumns = exports.analyticsSummaryColumns = exports.tenantColumns = exports.pluginColumns = exports.imageColumns = exports.activityLogColumns = exports.instanceColumns = exports.registryColumns = exports.taskLogColumns = exports.submissionLogColumns = exports.taskColumns = exports.storageColumns = exports.engineColumns = exports.queueColumns = exports.environmentColumns = exports.submissionColumns = exports.workflowColumns = void 0;
6
+ exports.costsByExecutionModeColumns = exports.costsByEngineColumns = exports.analyticsOverTimeColumns = exports.analyticsByInstanceTypeColumns = exports.analyticsByQueueColumns = exports.analyticsByEnvironmentColumns = exports.analyticsBySubmissionColumns = exports.analyticsSummaryColumns = exports.tenantColumns = exports.pluginColumns = exports.imageColumns = exports.activityLogColumns = exports.instanceColumns = exports.registryColumns = exports.taskLogColumns = exports.submissionLogColumns = exports.taskColumns = exports.storageColumns = exports.engineColumns = exports.queueColumns = exports.environmentColumns = exports.submissionColumns = exports.workflowVersionColumns = exports.workflowColumns = void 0;
7
7
  exports.formatDateTime = formatDateTime;
8
8
  exports.formatOutput = formatOutput;
9
9
  const cli_table3_1 = __importDefault(require("cli-table3"));
@@ -16,6 +16,14 @@ function formatDateTime(value) {
16
16
  const pad = (n) => String(n).padStart(2, '0');
17
17
  return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
18
18
  }
19
+ function formatCurrency(value) {
20
+ if (value === null || value === undefined || value === '')
21
+ return '';
22
+ const n = Number(value);
23
+ if (isNaN(n))
24
+ return String(value);
25
+ return n.toFixed(2);
26
+ }
19
27
  function formatDuration(ms) {
20
28
  if (ms === null || ms === undefined || ms === '')
21
29
  return '';
@@ -53,6 +61,12 @@ exports.workflowColumns = [
53
61
  { header: 'Latest', value: r => r.latest },
54
62
  { header: 'Created At', value: r => formatDateTime(r.createdAt) },
55
63
  ];
64
+ exports.workflowVersionColumns = [
65
+ { header: 'Version', value: r => r.version },
66
+ { header: 'File Type', value: r => r.fileType },
67
+ { header: 'Latest', value: r => r.latest },
68
+ { header: 'Created At', value: r => formatDateTime(r.createdAt) },
69
+ ];
56
70
  exports.submissionColumns = [
57
71
  { header: 'ID', value: r => r.submissionId },
58
72
  { header: 'Status', value: r => r.status },
@@ -137,12 +151,12 @@ exports.instanceColumns = [
137
151
  { header: 'Market', value: r => r.marketType },
138
152
  { header: 'Status', value: r => r.status },
139
153
  { header: 'Duration', value: r => formatDuration(r.durationMs) },
140
- { header: 'Est. Instance ($)', value: r => r.estimatedInstanceCost },
141
- { header: 'Est. EBS ($)', value: r => r.estimatedEbsCost },
142
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
143
- { header: 'Actual Instance ($)', value: r => r.actualInstanceCost },
144
- { header: 'Actual EBS ($)', value: r => r.actualEbsCost },
145
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
154
+ { header: 'Est. Instance ($)', value: r => formatCurrency(r.estimatedInstanceCost) },
155
+ { header: 'Est. EBS ($)', value: r => formatCurrency(r.estimatedEbsCost) },
156
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
157
+ { header: 'Actual Instance ($)', value: r => formatCurrency(r.actualInstanceCost) },
158
+ { header: 'Actual EBS ($)', value: r => formatCurrency(r.actualEbsCost) },
159
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
146
160
  { header: 'Launch Time', value: r => formatDateTime(r.launchTime) },
147
161
  { header: 'Environment ID', value: r => r.environmentId },
148
162
  ];
@@ -180,46 +194,59 @@ exports.tenantColumns = [
180
194
  { header: 'Created At', value: r => formatDateTime(r.createdAt) },
181
195
  ];
182
196
  exports.analyticsSummaryColumns = [
183
- { header: 'Est. Instance ($)', value: r => r.totalEstimatedInstanceCost },
184
- { header: 'Est. EBS ($)', value: r => r.totalEstimatedEbsCost },
185
- { header: 'Est. ECS ($)', value: r => r.totalEstimatedEcsCost },
186
- { header: 'Est. Total ($)', value: r => r.totalEstimatedCost },
187
- { header: 'Actual Total ($)', value: r => r.totalActualCost },
197
+ { header: 'Est. Instance ($)', value: r => formatCurrency(r.totalEstimatedInstanceCost) },
198
+ { header: 'Est. EBS ($)', value: r => formatCurrency(r.totalEstimatedEbsCost) },
199
+ { header: 'Est. ECS ($)', value: r => formatCurrency(r.totalEstimatedEcsCost) },
200
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.totalEstimatedCost) },
201
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.totalActualCost) },
188
202
  { header: 'Instances', value: r => r.instanceCount },
189
203
  { header: 'Submissions', value: r => r.submissionCount },
190
204
  ];
191
205
  exports.analyticsBySubmissionColumns = [
192
206
  { header: 'Submission ID', value: r => r.submissionId },
193
207
  { header: 'Status', value: r => r.submissionStatus },
194
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
195
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
208
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
209
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
196
210
  { header: 'Instances', value: r => r.instanceCount },
197
211
  ];
198
212
  exports.analyticsByEnvironmentColumns = [
199
213
  { header: 'Environment ID', value: r => r.environmentId },
200
214
  { header: 'Name', value: r => r.environmentName },
201
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
202
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
215
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
216
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
203
217
  { header: 'Instances', value: r => r.instanceCount },
204
218
  ];
205
219
  exports.analyticsByQueueColumns = [
206
220
  { header: 'Queue ID', value: r => r.queueId },
207
221
  { header: 'Name', value: r => r.queueName },
208
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
209
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
222
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
223
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
210
224
  { header: 'Instances', value: r => r.instanceCount },
211
225
  ];
212
226
  exports.analyticsByInstanceTypeColumns = [
213
227
  { header: 'Instance Type', value: r => r.instanceType },
214
228
  { header: 'Market', value: r => r.marketType },
215
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
216
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
229
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
230
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
217
231
  { header: 'Instances', value: r => r.instanceCount },
218
232
  ];
219
233
  exports.analyticsOverTimeColumns = [
220
234
  { header: 'Period', value: r => r.period },
221
- { header: 'Est. Total ($)', value: r => r.estimatedTotalCost },
222
- { header: 'Actual Total ($)', value: r => r.actualTotalCost },
235
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
236
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
237
+ { header: 'Instances', value: r => r.instanceCount },
238
+ ];
239
+ exports.costsByEngineColumns = [
240
+ { header: 'Engine ID', value: r => r.engineId },
241
+ { header: 'Name', value: r => r.engineName },
242
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
243
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
244
+ { header: 'Instances', value: r => r.instanceCount },
245
+ ];
246
+ exports.costsByExecutionModeColumns = [
247
+ { header: 'Execution Mode', value: r => r.executionMode },
248
+ { header: 'Est. Total ($)', value: r => formatCurrency(r.estimatedTotalCost) },
249
+ { header: 'Actual Total ($)', value: r => formatCurrency(r.actualTotalCost) },
223
250
  { header: 'Instances', value: r => r.instanceCount },
224
251
  ];
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSx3Q0FNQztBQWtCRCxvQ0FvQkM7QUE5Q0QsNERBQThCO0FBRTlCLFNBQWdCLGNBQWMsQ0FBQyxLQUFjO0lBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDckUsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM5SSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsRUFBVztJQUNqQyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsSUFBSSxFQUFFLEtBQUssRUFBRTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVELE1BQU0s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RSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDNUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsaUJBQWlCLEdBQWdCO0lBQzVDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO0lBQzVDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO0lBQ2xELEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO0lBQ3BELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsTUFBeUMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLEtBQXdDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDL0YsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsa0JBQWtCLEdBQWdCO0lBQzdDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzdDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLFlBQVksR0FBZ0I7SUFDdkMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUE4QyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ2pILEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ3JELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLGFBQWEsR0FBZ0I7SUFDeEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUE4QyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ2pILEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDekQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsY0FBYyxHQUFnQjtJQUN6QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtJQUMzRCxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUNuRCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSxXQUFXLEdBQWdCO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO0lBQ3pDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO0lBQ3ZELEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzdDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO0lBQ3ZELEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFD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TUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFHLENBQUMsQ0FBQyxTQUFxQyxFQUFFLElBQWdDLEVBQUUsS0FBSyxJQUFLLENBQUMsQ0FBQyxTQUFxQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQ25MLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ25ELEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLFlBQVksR0FBZ0I7SUFDdkMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUU7SUFDcEMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDbkQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7Q0FDaEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUU7SUFDbkQsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRTtJQUN2RCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSx1QkFBdUIsR0FBZ0I7SUFDbEQsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixFQUFFO0lBQ3pFLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUU7SUFDL0QsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtJQUMvRCxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUU7SUFDOUQsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUM3RCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUNwRCxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtDQUN6RCxDQUFBO0FBRVksUUFBQSw0QkFBNEIsR0FBZ0I7SUFDdkQsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNwRCxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUU7SUFDOUQsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUM3RCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtDQUNyRCxDQUFBO0FBRVksUUFBQSw2QkFBNkIsR0FBZ0I7SUFDeEQsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUN6RCxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUNqRCxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUU7SUFDOUQsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUM3RCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtDQUNyRCxDQUFBO0FBRVksUUFBQSx1QkFBdUIsR0FBZ0I7SUFDbEQsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDN0MsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDM0MsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFO0lBQzlELEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUU7SUFDN0QsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7Q0FDckQsQ0FBQTtBQUVZLFFBQUEsOEJBQThCLEdBQWdCO0lBQ3pELEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO0lBQ3ZELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzlDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtJQUM5RCxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO0lBQzdELEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFO0NBQ3JELENBQUE7QUFFWSxRQUFBLHdCQUF3QixHQUFnQjtJQUNuRCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUU7SUFDOUQsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUM3RCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtDQUNyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRhYmxlIGZyb20gJ2NsaS10YWJsZTMnXG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRlVGltZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuICcnO1xuICBjb25zdCBkID0gbmV3IERhdGUoU3RyaW5nKHZhbHVlKSk7XG4gIGlmIChpc05hTihkLmdldFRpbWUoKSkpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICBjb25zdCBwYWQgPSAobjogbnVtYmVyKSA9PiBTdHJpbmcobikucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2QuZ2V0RnVsbFllYXIoKX0tJHtwYWQoZC5nZXRNb250aCgpICsgMSl9LSR7cGFkKGQuZ2V0RGF0ZSgpKX0gJHtwYWQoZC5nZXRIb3VycygpKX06JHtwYWQoZC5nZXRNaW51dGVzKCkpfToke3BhZChkLmdldFNlY29uZHMoKSl9YDtcbn1cblxuZnVuY3Rpb24gZm9ybWF0RHVyYXRpb24obXM6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAobXMgPT09IG51bGwgfHwgbXMgPT09IHVuZGVmaW5lZCB8fCBtcyA9PT0gJycpIHJldHVybiAnJztcbiAgY29uc3QgdG90YWxTZWMgPSBNYXRoLmZsb29yKE51bWJlcihtcykgLyAxMDAwKTtcbiAgY29uc3QgaCA9IE1hdGguZmxvb3IodG90YWxTZWMgLyAzNjAwKTtcbiAgY29uc3QgbSA9IE1hdGguZmxvb3IoKHRvdGFsU2VjICUgMzYwMCkgLyA2MCk7XG4gIGNvbnN0IHMgPSB0b3RhbFNlYyAlIDYwO1xuICByZXR1cm4gYCR7U3RyaW5nKGgpLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKG0pLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKHMpLnBhZFN0YXJ0KDIsICcwJyl9YDtcbn1cblxuZXhwb3J0IHR5cGUgT3V0cHV0Rm9ybWF0ID0gJ3RhYmxlJyB8ICdqc29uJyB8ICdjc3YnXG5cbmludGVyZmFjZSBDb2x1bW5EZWYge1xuICBoZWFkZXI6IHN0cmluZ1xuICB2YWx1ZTogKGl0ZW06IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB1bmtub3duXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPdXRwdXQoZGF0YTogdW5rbm93biwgZm9ybWF0OiBPdXRwdXRGb3JtYXQsIGNvbHVtbnM6IENvbHVtbkRlZltdKTogdm9pZCB7XG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbZGF0YV1cbiAgY29uc3QgaGVhZGVycyA9IGNvbHVtbnMubWFwKGMgPT4gYy5oZWFkZXIpXG4gIGNvbnN0IHJvd3MgPSBpdGVtcy5tYXAoaXRlbSA9PlxuICAgIGNvbHVtbnMubWFwKGMgPT4ge1xuICAgICAgY29uc3QgdmFsID0gYy52YWx1ZShpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCA/ICcnIDogU3RyaW5nKHZhbClcbiAgICB9KVxuICApXG5cbiAgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikpXG4gIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnY3N2Jykge1xuICAgIGNvbnNvbGUubG9nKGhlYWRlcnMuam9pbignLCcpKVxuICAgIHJvd3MuZm9yRWFjaChyb3cgPT4gY29uc29sZS5sb2cocm93Lm1hcCh2ID0+IGBcIiR7di5yZXBsYWNlKC9cIi9nLCAnXCJcIicpfVwiYCkuam9pbignLCcpKSlcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7IGhlYWQ6IGhlYWRlcnMgfSlcbiAgICByb3dzLmZvckVhY2gocm93ID0+IHRhYmxlLnB1c2gocm93KSlcbiAgICBjb25zb2xlLmxvZyh0YWJsZS50b1N0cmluZygpKVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3b3JrZmxvd0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdWZXJzaW9uJywgdmFsdWU6IHIgPT4gci52ZXJzaW9uIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lJywgdmFsdWU6IHIgPT4gci5lbmdpbmUgfSxcbiAgeyBoZWFkZXI6ICdGaWxlIFR5cGUnLCB2YWx1ZTogciA9PiByLmZpbGVUeXBlIH0sXG4gIHsgaGVhZGVyOiAnTGF0ZXN0JywgdmFsdWU6IHIgPT4gci5sYXRlc3QgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25JZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCB2YWx1ZTogciA9PiBmb3JtYXREdXJhdGlvbihyLmR1cmF0aW9uTXMpIH0sXG4gIHsgaGVhZGVyOiAnV29ya2Zsb3cnLCB2YWx1ZTogciA9PiByLndvcmtmbG93TmFtZSB9LFxuICB7IGhlYWRlcjogJ1ZlcnNpb24nLCB2YWx1ZTogciA9PiByLndvcmtmbG93VmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IChyLmVuZ2luZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW5naW5lSWQgfSxcbiAgeyBoZWFkZXI6ICdRdWV1ZScsIHZhbHVlOiByID0+IChyLnF1ZXVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5xdWV1ZUlkIH0sXG4gIHsgaGVhZGVyOiAnT3V0cHV0JywgdmFsdWU6IHIgPT4gci5vdXRwdXQgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudENvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdDbG91ZCBJRCcsIHZhbHVlOiByID0+IHIuY2xvdWRJZCB9LFxuICB7IGhlYWRlcjogJ1JlZ2lvbicsIHZhbHVlOiByID0+IHIuY2xvdWRSZWdpb24gfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHF1ZXVlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdNb2RlJywgdmFsdWU6IHIgPT4gci5leGVjdXRpb25Nb2RlIH0sXG4gIHsgaGVhZGVyOiAnTWF4IHZDUFVzJywgdmFsdWU6IHIgPT4gci5tYXh2Q3B1cyB9LFxuICB7IGhlYWRlcjogJ1N0b3JhZ2UgR0InLCB2YWx1ZTogciA9PiByLnN0b3JhZ2VTaXplR2IgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGVuZ2luZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lJywgdmFsdWU6IHIgPT4gci5lbmdpbmUgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUgVmVyc2lvbicsIHZhbHVlOiByID0+IHIuZW5naW5lVmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgc3RvcmFnZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnUGVybWlzc2lvbiBNb2RlJywgdmFsdWU6IHIgPT4gci5wZXJtaXNzaW9uTW9kZSB9LFxuICB7IGhlYWRlcjogJ0J1Y2tldCBOYW1lJywgdmFsdWU6IHIgPT4gci5idWNrZXROYW1lIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0YXNrQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnSm9iIElEJywgdmFsdWU6IHIgPT4gci5qb2JJZCB9LFxuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb24gSUQnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25JZCB9LFxuICB7IGhlYWRlcjogJ0pvYiBOYW1lJywgdmFsdWU6IHIgPT4gci5qb2JOYW1lIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMgUmVhc29uJywgdmFsdWU6IHIgPT4gci5zdGF0dXNSZWFzb24gfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbiAgeyBoZWFkZXI6ICdFeGl0IENvZGUnLCB2YWx1ZTogciA9PiByLmV4aXRDb2RlIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgVHlwZScsIHZhbHVlOiByID0+IChyLmluc3RhbmNlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lmluc3RhbmNlVHlwZSA/PyBudWxsIH0sXG4gIHsgaGVhZGVyOiAnU3RhcnRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuc3RhcnRlZEF0KSB9LFxuICB7IGhlYWRlcjogJ1N0b3BwZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnN0b3BwZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHN1Ym1pc3Npb25Mb2dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdUaW1lc3RhbXAnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnRpbWVzdGFtcCkgfSxcbiAgeyBoZWFkZXI6ICdNZXNzYWdlJywgdmFsdWU6IHIgPT4gci5tZXNzYWdlIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0YXNrTG9nQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSm9iIE5hbWUnLCB2YWx1ZTogciA9PiByLmpvYk5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUaW1lc3RhbXAnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnRpbWVzdGFtcCkgfSxcbiAgeyBoZWFkZXI6ICdNZXNzYWdlJywgdmFsdWU6IHIgPT4gci5tZXNzYWdlIH0sXG5dXG5cbmV4cG9ydCBjb25zdCByZWdpc3RyeUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdNdXRhYmlsaXR5JywgdmFsdWU6IHIgPT4gci5pbWFnZVRhZ011dGFiaWxpdHkgfSxcbiAgeyBoZWFkZXI6ICdSZXBvc2l0b3J5IFVSSScsIHZhbHVlOiByID0+IHIucmVwb3NpdG9yeVVyaSB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgaW5zdGFuY2VDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdFQzIgSW5zdGFuY2UnLCB2YWx1ZTogciA9PiByLmVjMkluc3RhbmNlSWQgfSxcbiAgeyBoZWFkZXI6ICdUeXBlJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdNYXJrZXQnLCB2YWx1ZTogciA9PiByLm1hcmtldFR5cGUgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0R1cmF0aW9uJywgdmFsdWU6IHIgPT4gZm9ybWF0RHVyYXRpb24oci5kdXJhdGlvbk1zKSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gSW5zdGFuY2UgKCQpJywgdmFsdWU6IHIgPT4gci5lc3RpbWF0ZWRJbnN0YW5jZUNvc3QgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIEVCUyAoJCknLCB2YWx1ZTogciA9PiByLmVzdGltYXRlZEVic0Nvc3QgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IHIuZXN0aW1hdGVkVG90YWxDb3N0IH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIEluc3RhbmNlICgkKScsIHZhbHVlOiByID0+IHIuYWN0dWFsSW5zdGFuY2VDb3N0IH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIEVCUyAoJCknLCB2YWx1ZTogciA9PiByLmFjdHVhbEVic0Nvc3QgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gci5hY3R1YWxUb3RhbENvc3QgfSxcbiAgeyBoZWFkZXI6ICdMYXVuY2ggVGltZScsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIubGF1bmNoVGltZSkgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCBJRCcsIHZhbHVlOiByID0+IHIuZW52aXJvbm1lbnRJZCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYWN0aXZpdHlMb2dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdVc2VyJywgdmFsdWU6IHIgPT4gKChyLnByaW5jaXBhbCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LnVzZXIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5lbWFpbCA/PyAoci5wcmluY2lwYWwgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5pZCA/PyByLnByaW5jaXBhbElkIH0sXG4gIHsgaGVhZGVyOiAnQWN0aW9uJywgdmFsdWU6IHIgPT4gci5hY3Rpb24gfSxcbiAgeyBoZWFkZXI6ICdFbnRpdHkgVHlwZScsIHZhbHVlOiByID0+IHIuZW50aXR5VHlwZSB9LFxuICB7IGhlYWRlcjogJ0VudGl0eSBJRCcsIHZhbHVlOiByID0+IHIuZW50aXR5SWQgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBpbWFnZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ1RhZycsIHZhbHVlOiByID0+IHIudGFnIH0sXG4gIHsgaGVhZGVyOiAnRGlnZXN0JywgdmFsdWU6IHIgPT4gci5kaWdlc3QgfSxcbiAgeyBoZWFkZXI6ICdTaXplIChieXRlcyknLCB2YWx1ZTogciA9PiByLnNpemVCeXRlcyB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnSW1hZ2UgVVJJJywgdmFsdWU6IHIgPT4gci5pbWFnZVVyaSB9LFxuICB7IGhlYWRlcjogJ1B1c2hlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIucHVzaGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBwbHVnaW5Db2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnVHlwZScsIHZhbHVlOiByID0+IHIudHlwZSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0xCIEROUycsIHZhbHVlOiByID0+IHIubG9hZEJhbGFuY2VyRG5zIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgdGVuYW50Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0NvbnRhY3QgRW1haWwnLCB2YWx1ZTogciA9PiByLmNvbnRhY3RFbWFpbCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzU3VtbWFyeUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0VzdC4gSW5zdGFuY2UgKCQpJywgdmFsdWU6IHIgPT4gci50b3RhbEVzdGltYXRlZEluc3RhbmNlQ29zdCB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUJTICgkKScsIHZhbHVlOiByID0+IHIudG90YWxFc3RpbWF0ZWRFYnNDb3N0IH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBFQ1MgKCQpJywgdmFsdWU6IHIgPT4gci50b3RhbEVzdGltYXRlZEVjc0Nvc3QgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IHIudG90YWxFc3RpbWF0ZWRDb3N0IH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IHIudG90YWxBY3R1YWxDb3N0IH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbnMnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25Db3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlTdWJtaXNzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbiBJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uU3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmVzdGltYXRlZFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmFjdHVhbFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlFbnZpcm9ubWVudENvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50IElEJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIuZW52aXJvbm1lbnROYW1lIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmVzdGltYXRlZFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmFjdHVhbFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlRdWV1ZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1F1ZXVlIElEJywgdmFsdWU6IHIgPT4gci5xdWV1ZUlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIucXVldWVOYW1lIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmVzdGltYXRlZFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmFjdHVhbFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlJbnN0YW5jZVR5cGVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZSBUeXBlJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdNYXJrZXQnLCB2YWx1ZTogciA9PiByLm1hcmtldFR5cGUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IHIuZXN0aW1hdGVkVG90YWxDb3N0IH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IHIuYWN0dWFsVG90YWxDb3N0IH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NPdmVyVGltZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1BlcmlvZCcsIHZhbHVlOiByID0+IHIucGVyaW9kIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmVzdGltYXRlZFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiByLmFjdHVhbFRvdGFsQ29zdCB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuIl19
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSx3Q0FNQztBQXlCRCxvQ0FvQkM7QUFyREQsNERBQThCO0FBRTlCLFNBQWdCLGNBQWMsQ0FBQyxLQUFjO0lBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDckUsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM5SSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBYztJQUNwQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3JFLE1BQU0s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QUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDckQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUN6RCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSxjQUFjLEdBQWdCO0lBQ3pDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsV0FBOEMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUNqSCxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO0lBQzNELEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ25ELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLFdBQVcsR0FBZ0I7SUFDdEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7SUFDekMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDN0MsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDaEUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxRQUEyQyxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUU7SUFDN0csRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDakUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtB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USxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDbkQsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsWUFBWSxHQUFnQjtJQUN2QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRTtJQUNwQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRTtJQUNuRCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtDQUNoRSxDQUFBO0FBRVksUUFBQSxhQUFhLEdBQWdCO0lBQ3hDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsV0FBOEMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUNqSCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtJQUNuRCxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSxhQUFhLEdBQWdCO0lBQ3hDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxL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QUMsRUFBRTtJQUM3RSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtDQUNyRCxDQUFBO0FBRVksUUFBQSwyQkFBMkIsR0FBZ0I7SUFDdEQsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtJQUN6RCxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7SUFDOUUsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRTtJQUM3RSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTtDQUNyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRhYmxlIGZyb20gJ2NsaS10YWJsZTMnXG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRlVGltZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuICcnO1xuICBjb25zdCBkID0gbmV3IERhdGUoU3RyaW5nKHZhbHVlKSk7XG4gIGlmIChpc05hTihkLmdldFRpbWUoKSkpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICBjb25zdCBwYWQgPSAobjogbnVtYmVyKSA9PiBTdHJpbmcobikucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2QuZ2V0RnVsbFllYXIoKX0tJHtwYWQoZC5nZXRNb250aCgpICsgMSl9LSR7cGFkKGQuZ2V0RGF0ZSgpKX0gJHtwYWQoZC5nZXRIb3VycygpKX06JHtwYWQoZC5nZXRNaW51dGVzKCkpfToke3BhZChkLmdldFNlY29uZHMoKSl9YDtcbn1cblxuZnVuY3Rpb24gZm9ybWF0Q3VycmVuY3kodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcbiAgY29uc3QgbiA9IE51bWJlcih2YWx1ZSk7XG4gIGlmIChpc05hTihuKSkgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIHJldHVybiBuLnRvRml4ZWQoMik7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKG1zOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKG1zID09PSBudWxsIHx8IG1zID09PSB1bmRlZmluZWQgfHwgbXMgPT09ICcnKSByZXR1cm4gJyc7XG4gIGNvbnN0IHRvdGFsU2VjID0gTWF0aC5mbG9vcihOdW1iZXIobXMpIC8gMTAwMCk7XG4gIGNvbnN0IGggPSBNYXRoLmZsb29yKHRvdGFsU2VjIC8gMzYwMCk7XG4gIGNvbnN0IG0gPSBNYXRoLmZsb29yKCh0b3RhbFNlYyAlIDM2MDApIC8gNjApO1xuICBjb25zdCBzID0gdG90YWxTZWMgJSA2MDtcbiAgcmV0dXJuIGAke1N0cmluZyhoKS5wYWRTdGFydCgyLCAnMCcpfToke1N0cmluZyhtKS5wYWRTdGFydCgyLCAnMCcpfToke1N0cmluZyhzKS5wYWRTdGFydCgyLCAnMCcpfWA7XG59XG5cbmV4cG9ydCB0eXBlIE91dHB1dEZvcm1hdCA9ICd0YWJsZScgfCAnanNvbicgfCAnY3N2J1xuXG5pbnRlcmZhY2UgQ29sdW1uRGVmIHtcbiAgaGVhZGVyOiBzdHJpbmdcbiAgdmFsdWU6IChpdGVtOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdW5rbm93blxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0T3V0cHV0KGRhdGE6IHVua25vd24sIGZvcm1hdDogT3V0cHV0Rm9ybWF0LCBjb2x1bW5zOiBDb2x1bW5EZWZbXSk6IHZvaWQge1xuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW2RhdGFdXG4gIGNvbnN0IGhlYWRlcnMgPSBjb2x1bW5zLm1hcChjID0+IGMuaGVhZGVyKVxuICBjb25zdCByb3dzID0gaXRlbXMubWFwKGl0ZW0gPT5cbiAgICBjb2x1bW5zLm1hcChjID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IGMudmFsdWUoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh2YWwpXG4gICAgfSlcbiAgKVxuXG4gIGlmIChmb3JtYXQgPT09ICdqc29uJykge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpKVxuICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2NzdicpIHtcbiAgICBjb25zb2xlLmxvZyhoZWFkZXJzLmpvaW4oJywnKSlcbiAgICByb3dzLmZvckVhY2gocm93ID0+IGNvbnNvbGUubG9nKHJvdy5tYXAodiA9PiBgXCIke3YucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImApLmpvaW4oJywnKSkpXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGFibGUgPSBuZXcgVGFibGUoeyBoZWFkOiBoZWFkZXJzIH0pXG4gICAgcm93cy5mb3JFYWNoKHJvdyA9PiB0YWJsZS5wdXNoKHJvdykpXG4gICAgY29uc29sZS5sb2codGFibGUudG9TdHJpbmcoKSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgd29ya2Zsb3dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIudmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IHIuZW5naW5lIH0sXG4gIHsgaGVhZGVyOiAnRmlsZSBUeXBlJywgdmFsdWU6IHIgPT4gci5maWxlVHlwZSB9LFxuICB7IGhlYWRlcjogJ0xhdGVzdCcsIHZhbHVlOiByID0+IHIubGF0ZXN0IH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgd29ya2Zsb3dWZXJzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIudmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0ZpbGUgVHlwZScsIHZhbHVlOiByID0+IHIuZmlsZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdMYXRlc3QnLCB2YWx1ZTogciA9PiByLmxhdGVzdCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHN1Ym1pc3Npb25Db2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbiAgeyBoZWFkZXI6ICdXb3JrZmxvdycsIHZhbHVlOiByID0+IHIud29ya2Zsb3dOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIud29ya2Zsb3dWZXJzaW9uIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lJywgdmFsdWU6IHIgPT4gKHIuZW5naW5lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbmdpbmVJZCB9LFxuICB7IGhlYWRlcjogJ1F1ZXVlJywgdmFsdWU6IHIgPT4gKHIucXVldWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLnF1ZXVlSWQgfSxcbiAgeyBoZWFkZXI6ICdPdXRwdXQnLCB2YWx1ZTogciA9PiByLm91dHB1dCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0Nsb3VkIElEJywgdmFsdWU6IHIgPT4gci5jbG91ZElkIH0sXG4gIHsgaGVhZGVyOiAnUmVnaW9uJywgdmFsdWU6IHIgPT4gci5jbG91ZFJlZ2lvbiB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgcXVldWVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ01vZGUnLCB2YWx1ZTogciA9PiByLmV4ZWN1dGlvbk1vZGUgfSxcbiAgeyBoZWFkZXI6ICdNYXggdkNQVXMnLCB2YWx1ZTogciA9PiByLm1heHZDcHVzIH0sXG4gIHsgaGVhZGVyOiAnU3RvcmFnZSBHQicsIHZhbHVlOiByID0+IHIuc3RvcmFnZVNpemVHYiB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgZW5naW5lQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUnLCB2YWx1ZTogciA9PiByLmVuZ2luZSB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZSBWZXJzaW9uJywgdmFsdWU6IHIgPT4gci5lbmdpbmVWZXJzaW9uIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBzdG9yYWdlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdQZXJtaXNzaW9uIE1vZGUnLCB2YWx1ZTogciA9PiByLnBlcm1pc3Npb25Nb2RlIH0sXG4gIHsgaGVhZGVyOiAnQnVja2V0IE5hbWUnLCB2YWx1ZTogciA9PiByLmJ1Y2tldE5hbWUgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHRhc2tDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdKb2IgSUQnLCB2YWx1ZTogciA9PiByLmpvYklkIH0sXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbiBJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnSm9iIE5hbWUnLCB2YWx1ZTogciA9PiByLmpvYk5hbWUgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cyBSZWFzb24nLCB2YWx1ZTogciA9PiByLnN0YXR1c1JlYXNvbiB9LFxuICB7IGhlYWRlcjogJ0R1cmF0aW9uJywgdmFsdWU6IHIgPT4gZm9ybWF0RHVyYXRpb24oci5kdXJhdGlvbk1zKSB9LFxuICB7IGhlYWRlcjogJ0V4aXQgQ29kZScsIHZhbHVlOiByID0+IHIuZXhpdENvZGUgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZSBUeXBlJywgdmFsdWU6IHIgPT4gKHIuaW5zdGFuY2UgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8uaW5zdGFuY2VUeXBlID8/IG51bGwgfSxcbiAgeyBoZWFkZXI6ICdTdGFydGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5zdGFydGVkQXQpIH0sXG4gIHsgaGVhZGVyOiAnU3RvcHBlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuc3RvcHBlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgc3VibWlzc2lvbkxvZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1RpbWVzdGFtcCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIudGltZXN0YW1wKSB9LFxuICB7IGhlYWRlcjogJ01lc3NhZ2UnLCB2YWx1ZTogciA9PiByLm1lc3NhZ2UgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHRhc2tMb2dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdKb2IgTmFtZScsIHZhbHVlOiByID0+IHIuam9iTmFtZSB9LFxuICB7IGhlYWRlcjogJ1RpbWVzdGFtcCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIudGltZXN0YW1wKSB9LFxuICB7IGhlYWRlcjogJ01lc3NhZ2UnLCB2YWx1ZTogciA9PiByLm1lc3NhZ2UgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHJlZ2lzdHJ5Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ011dGFiaWxpdHknLCB2YWx1ZTogciA9PiByLmltYWdlVGFnTXV0YWJpbGl0eSB9LFxuICB7IGhlYWRlcjogJ1JlcG9zaXRvcnkgVVJJJywgdmFsdWU6IHIgPT4gci5yZXBvc2l0b3J5VXJpIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBpbnN0YW5jZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ0VDMiBJbnN0YW5jZScsIHZhbHVlOiByID0+IHIuZWMySW5zdGFuY2VJZCB9LFxuICB7IGhlYWRlcjogJ1R5cGUnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlVHlwZSB9LFxuICB7IGhlYWRlcjogJ01hcmtldCcsIHZhbHVlOiByID0+IHIubWFya2V0VHlwZSB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCB2YWx1ZTogciA9PiBmb3JtYXREdXJhdGlvbihyLmR1cmF0aW9uTXMpIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBJbnN0YW5jZSAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZEluc3RhbmNlQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIEVCUyAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZEVic0Nvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgSW5zdGFuY2UgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxJbnN0YW5jZUNvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIEVCUyAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbEVic0Nvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0xhdW5jaCBUaW1lJywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5sYXVuY2hUaW1lKSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50IElEJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudElkIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhY3Rpdml0eUxvZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ1VzZXInLCB2YWx1ZTogciA9PiAoKHIucHJpbmNpcGFsIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8udXNlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmVtYWlsID8/IChyLnByaW5jaXBhbCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmlkID8/IHIucHJpbmNpcGFsSWQgfSxcbiAgeyBoZWFkZXI6ICdBY3Rpb24nLCB2YWx1ZTogciA9PiByLmFjdGlvbiB9LFxuICB7IGhlYWRlcjogJ0VudGl0eSBUeXBlJywgdmFsdWU6IHIgPT4gci5lbnRpdHlUeXBlIH0sXG4gIHsgaGVhZGVyOiAnRW50aXR5IElEJywgdmFsdWU6IHIgPT4gci5lbnRpdHlJZCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGltYWdlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnVGFnJywgdmFsdWU6IHIgPT4gci50YWcgfSxcbiAgeyBoZWFkZXI6ICdEaWdlc3QnLCB2YWx1ZTogciA9PiByLmRpZ2VzdCB9LFxuICB7IGhlYWRlcjogJ1NpemUgKGJ5dGVzKScsIHZhbHVlOiByID0+IHIuc2l6ZUJ5dGVzIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdJbWFnZSBVUkknLCB2YWx1ZTogciA9PiByLmltYWdlVXJpIH0sXG4gIHsgaGVhZGVyOiAnUHVzaGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5wdXNoZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHBsdWdpbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUeXBlJywgdmFsdWU6IHIgPT4gci50eXBlIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnTEIgRE5TJywgdmFsdWU6IHIgPT4gci5sb2FkQmFsYW5jZXJEbnMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0ZW5hbnRDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnQ29udGFjdCBFbWFpbCcsIHZhbHVlOiByID0+IHIuY29udGFjdEVtYWlsIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NTdW1tYXJ5Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRXN0LiBJbnN0YW5jZSAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsRXN0aW1hdGVkSW5zdGFuY2VDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUJTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxFc3RpbWF0ZWRFYnNDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUNTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxFc3RpbWF0ZWRFY3NDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEVzdGltYXRlZENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxBY3R1YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb25zJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc0J5U3VibWlzc2lvbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb24gSUQnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25JZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvblN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlFbnZpcm9ubWVudENvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50IElEJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIuZW52aXJvbm1lbnROYW1lIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NCeVF1ZXVlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnUXVldWUgSUQnLCB2YWx1ZTogciA9PiByLnF1ZXVlSWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5xdWV1ZU5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc0J5SW5zdGFuY2VUeXBlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgVHlwZScsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VUeXBlIH0sXG4gIHsgaGVhZGVyOiAnTWFya2V0JywgdmFsdWU6IHIgPT4gci5tYXJrZXRUeXBlIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NPdmVyVGltZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1BlcmlvZCcsIHZhbHVlOiByID0+IHIucGVyaW9kIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG5dXG5cbmV4cG9ydCBjb25zdCBjb3N0c0J5RW5naW5lQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRW5naW5lIElEJywgdmFsdWU6IHIgPT4gci5lbmdpbmVJZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLmVuZ2luZU5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGNvc3RzQnlFeGVjdXRpb25Nb2RlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRXhlY3V0aW9uIE1vZGUnLCB2YWx1ZTogciA9PiByLmV4ZWN1dGlvbk1vZGUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cbiJdfQ==
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ const commander_1 = require("commander");
5
5
  const auth_1 = require("./commands/auth");
6
6
  const user_1 = require("./commands/user");
7
7
  const workflow_1 = require("./commands/workflow");
8
+ const workflow_version_1 = require("./commands/workflow-version");
8
9
  const submission_1 = require("./commands/submission");
9
10
  const queue_1 = require("./commands/queue");
10
11
  const environment_1 = require("./commands/environment");
@@ -20,7 +21,7 @@ const activity_log_1 = require("./commands/activity-log");
20
21
  const api_token_1 = require("./commands/api-token");
21
22
  const tenant_1 = require("./commands/tenant");
22
23
  const plugin_1 = require("./commands/plugin");
23
- const analytics_1 = require("./commands/analytics");
24
+ const costs_1 = require("./commands/costs");
24
25
  const errors_1 = require("./errors");
25
26
  const program = new commander_1.Command();
26
27
  program
@@ -39,6 +40,7 @@ program.hook('preAction', () => {
39
40
  program.addCommand(auth_1.authCommand);
40
41
  program.addCommand(user_1.userCommand);
41
42
  program.addCommand(workflow_1.workflowCommand);
43
+ program.addCommand(workflow_version_1.workflowVersionCommand);
42
44
  program.addCommand(submission_1.submissionCommand);
43
45
  program.addCommand(queue_1.queueCommand);
44
46
  program.addCommand(environment_1.environmentCommand);
@@ -55,7 +57,7 @@ program.addCommand(activity_log_1.activityLogCommand);
55
57
  program.addCommand(api_token_1.apiTokenCommand);
56
58
  program.addCommand(tenant_1.tenantCommand);
57
59
  program.addCommand(plugin_1.pluginCommand);
58
- program.addCommand(analytics_1.analyticsCommand);
60
+ program.addCommand(costs_1.costsCommand);
59
61
  applyHelpOnNoArgs(program);
60
62
  applyExitOverride(program);
61
63
  async function main() {
@@ -90,4 +92,4 @@ function applyExitOverride(command) {
90
92
  command.exitOverride();
91
93
  command.commands.forEach(applyExitOverride);
92
94
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQW1DO0FBQ25DLDBDQUE2QztBQUM3QywwQ0FBNkM7QUFDN0Msa0RBQXFEO0FBQ3JELHNEQUF5RDtBQUN6RCw0Q0FBK0M7QUFDL0Msd0RBQTJEO0FBQzNELDhDQUFpRDtBQUNqRCw0Q0FBK0M7QUFDL0MsZ0RBQW1EO0FBQ25ELDBDQUE2QztBQUM3Qyx3Q0FBcUU7QUFDckUsa0RBQXFEO0FBQ3JELDRDQUErQztBQUMvQyxrREFBcUQ7QUFDckQsMERBQTREO0FBQzVELG9EQUFzRDtBQUN0RCw4Q0FBaUQ7QUFDakQsOENBQWlEO0FBQ2pELG9EQUF1RDtBQUN2RCxxQ0FBb0Y7QUFFcEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBTyxFQUFFLENBQUE7QUFFN0IsT0FBTztLQUNKLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDWixXQUFXLENBQUMsaUNBQWlDLENBQUM7S0FDOUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixNQUFNLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDO0tBQzdDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSx3REFBd0QsQ0FBQztLQUN2RixlQUFlLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUUzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7SUFDN0IsTUFBTSxLQUFLLEdBQUksT0FBTyxDQUFDLElBQUksRUFBNEIsQ0FBQyxRQUFRLENBQUE7SUFDaEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQTtJQUNwQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFRixPQUFPLENBQUMsVUFBVSxDQUFDLGtCQUFXLENBQUMsQ0FBQTtBQUMv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QU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNoRCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcidcbmltcG9ydCB7IGF1dGhDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9hdXRoJ1xuaW1wb3J0IHsgdXNlckNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3VzZXInXG5pbXBvcnQgeyB3b3JrZmxvd0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3dvcmtmbG93J1xuaW1wb3J0IHsgc3VibWlzc2lvbkNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3N1Ym1pc3Npb24nXG5pbXBvcnQgeyBxdWV1ZUNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3F1ZXVlJ1xuaW1wb3J0IHsgZW52aXJvbm1lbnRDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGVuZ2luZUNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2VuZ2luZSdcbmltcG9ydCB7IHNldHVwQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvc2V0dXAnXG5pbXBvcnQgeyBzdG9yYWdlQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvc3RvcmFnZSdcbmltcG9ydCB7IHRhc2tDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy90YXNrJ1xuaW1wb3J0IHsgc3VibWlzc2lvbkxvZ0NvbW1hbmQsIHRhc2tMb2dDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9sb2cnXG5pbXBvcnQgeyByZWdpc3RyeUNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3JlZ2lzdHJ5J1xuaW1wb3J0IHsgaW1hZ2VDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9pbWFnZSdcbmltcG9ydCB7IGluc3RhbmNlQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvaW5zdGFuY2UnXG5pbXBvcnQgeyBhY3Rpdml0eUxvZ0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2FjdGl2aXR5LWxvZydcbmltcG9ydCB7IGFwaVRva2VuQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvYXBpLXRva2VuJ1xuaW1wb3J0IHsgdGVuYW50Q29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvdGVuYW50J1xuaW1wb3J0IHsgcGx1Z2luQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvcGx1Z2luJ1xuaW1wb3J0IHsgYW5hbHl0aWNzQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvYW5hbHl0aWNzJ1xuaW1wb3J0IHsgaXNEZWJ1Z0VuYWJsZWQsIHByaW50Q2xpRXJyb3IsIHRvQ2xpRXJyb3IsIHdhbnRzSnNvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnXG5cbmNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpXG5cbnByb2dyYW1cbiAgLm5hbWUoJ2dlbmknKVxuICAuZGVzY3JpcHRpb24oJ0dlbmkgV29ya2Zsb3dzIOKAlCBCaW9pbmZvcm1hdGljcycpXG4gIC52ZXJzaW9uKCcwLjEuMycpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnU2hvdyBkZWJ1ZyBlcnJvciBkZXRhaWxzJylcbiAgLm9wdGlvbignLS1hcGktdG9rZW4gPHRva2VuPicsICdBdXRoZW50aWNhdGUgd2l0aCBhbiBBUEkgdG9rZW4gKHNldHMgWC1BUEktS2V5IGhlYWRlciknKVxuICAuY29uZmlndXJlT3V0cHV0KHsgd3JpdGVFcnI6ICgpID0+IHsgfSB9KVxuXG5wcm9ncmFtLmhvb2soJ3ByZUFjdGlvbicsICgpID0+IHtcbiAgY29uc3QgdG9rZW4gPSAocHJvZ3JhbS5vcHRzKCkgYXMgeyBhcGlUb2tlbj86IHN0cmluZyB9KS5hcGlUb2tlblxuICBpZiAodG9rZW4pIHtcbiAgICBwcm9jZXNzLmVudi5HRU5JX0FQSV9UT0tFTiA9IHRva2VuXG4gIH1cbn0pXG5cbnByb2dyYW0uYWRkQ29tbWFuZChhdXRoQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh1c2VyQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh3b3JrZmxvd0NvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoc3VibWlzc2lvbkNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQocXVldWVDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKGVudmlyb25tZW50Q29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChlbmdpbmVDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHNldHVwQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChzdG9yYWdlQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh0YXNrQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChzdWJtaXNzaW9uTG9nQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh0YXNrTG9nQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChyZWdpc3RyeUNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoaW1hZ2VDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKGluc3RhbmNlQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChhY3Rpdml0eUxvZ0NvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoYXBpVG9rZW5Db21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHRlbmFudENvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQocGx1Z2luQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChhbmFseXRpY3NDb21tYW5kKVxuXG5hcHBseUhlbHBPbk5vQXJncyhwcm9ncmFtKVxuYXBwbHlFeGl0T3ZlcnJpZGUocHJvZ3JhbSlcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBwcm9ncmFtLnBhcnNlQXN5bmMocHJvY2Vzcy5hcmd2KVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBjb25zdCBtYXliZUNvbW1hbmRlciA9IGVyciBhcyB7IGNvZGU/OiBzdHJpbmc7IGV4aXRDb2RlPzogbnVtYmVyIH1cbiAgICBjb25zdCBjb21tYW5kZXJEaXNwbGF5Q29kZSA9IG1heWJlQ29tbWFuZGVyLmNvZGVcbiAgICBpZiAoXG4gICAgICBjb21tYW5kZXJEaXNwbGF5Q29kZSA9PT0gJ2NvbW1hbmRlci5oZWxwJyB8fFxuICAgICAgY29tbWFuZGVyRGlzcGxheUNvZGUgPT09ICdjb21tYW5kZXIuaGVscERpc3BsYXllZCcgfHxcbiAgICAgIGNvbW1hbmRlckRpc3BsYXlDb2RlID09PSAnY29tbWFuZGVyLnZlcnNpb24nXG4gICAgKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICB9XG4gICAgY29uc3QgY2xpRXJyb3IgPSB0b0NsaUVycm9yKGVycilcbiAgICBwcmludENsaUVycm9yKGNsaUVycm9yLCB7XG4gICAgICBqc29uOiB3YW50c0pzb25FcnJvcihwcm9jZXNzLmFyZ3YpLFxuICAgICAgZGVidWc6IGlzRGVidWdFbmFibGVkKHByb2Nlc3MuYXJndiksXG4gICAgfSlcbiAgICBwcm9jZXNzLmV4aXQoY2xpRXJyb3IuZXhpdENvZGUpXG4gIH1cbn1cblxudm9pZCBtYWluKClcblxuZnVuY3Rpb24gYXBwbHlIZWxwT25Ob0FyZ3MoY29tbWFuZDogQ29tbWFuZCk6IHZvaWQge1xuICBpZiAoY29tbWFuZC5jb21tYW5kcy5sZW5ndGggPiAwICYmICEoY29tbWFuZCBhcyB1bmtub3duIGFzIHsgX2FjdGlvbkhhbmRsZXI6IHVua25vd24gfSkuX2FjdGlvbkhhbmRsZXIpIHtcbiAgICBjb21tYW5kLmFjdGlvbigoKSA9PiBjb21tYW5kLmhlbHAoKSlcbiAgfVxuICBjb21tYW5kLmNvbW1hbmRzLmZvckVhY2goYXBwbHlIZWxwT25Ob0FyZ3MpXG59XG5cbmZ1bmN0aW9uIGFwcGx5RXhpdE92ZXJyaWRlKGNvbW1hbmQ6IENvbW1hbmQpOiB2b2lkIHtcbiAgY29tbWFuZC5jb25maWd1cmVPdXRwdXQoeyB3cml0ZUVycjogKCkgPT4geyB9IH0pXG4gIGNvbW1hbmQuZXhpdE92ZXJyaWRlKClcbiAgY29tbWFuZC5jb21tYW5kcy5mb3JFYWNoKGFwcGx5RXhpdE92ZXJyaWRlKVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQW1DO0FBQ25DLDBDQUE2QztBQUM3QywwQ0FBNkM7QUFDN0Msa0RBQXFEO0FBQ3JELGtFQUFvRTtBQUNwRSxzREFBeUQ7QUFDekQsNENBQStDO0FBQy9DLHdEQUEyRDtBQUMzRCw4Q0FBaUQ7QUFDakQsNENBQStDO0FBQy9DLGdEQUFtRDtBQUNuRCwwQ0FBNkM7QUFDN0Msd0NBQXFFO0FBQ3JFLGtEQUFxRDtBQUNyRCw0Q0FBK0M7QUFDL0Msa0RBQXFEO0FBQ3JELDBEQUE0RDtBQUM1RCxvREFBc0Q7QUFDdEQsOENBQWlEO0FBQ2pELDhDQUFpRDtBQUNqRCw0Q0FBK0M7QUFDL0MscUNBQW9GO0FBRXBGLE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQU8sRUFBRSxDQUFBO0FBRTdCLE9BQU87S0FDSixJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ1osV0FBVyxDQUFDLGlDQUFpQyxDQUFDO0tBQzlDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDaEIsTUFBTSxDQUFDLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQztLQUM3QyxNQUFNLENBQUMscUJBQXFCLEVBQUUsd0RBQXdELENBQUM7S0FDdkYsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7QUFFM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO0lBQzdCLE1BQU0sS0FBSyxHQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQTRCLENBQUMsUUFBUSxDQUFBO0lBQ2hFLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUE7SUFDcEMsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBVyxDQUFDLENBQUE7QUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBVyxDQUFDLENBQUE7QUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBQywwQkFBZSxDQUFDLENBQUE7QUFDbkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyx5Q0FBc0IsQ0FBQyxDQUFBO0FBQzFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsOEJBQWlCLENBQUMsQ0FBQTtBQUNyQyxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUFZLENBQUMsQ0FBQTtBQUNoQyxPQUFPLENBQUMsVUFBVSxDQUFDLGdDQUFrQixDQUFDLENBQUE7QUFDdEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxzQkFBYSxDQUFDLENBQUE7QUFDakMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQkFBWSxDQUFDLENBQUE7QUFDaEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyx3QkFBYyxDQUFDLENBQUE7QUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBVyxDQUFDLENBQUE7QUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFBO0FBQ3hDLE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQWMsQ0FBQyxDQUFBO0FBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0FBQ25DLE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQVksQ0FBQyxDQUFBO0FBQ2hDLE9BQU8sQ0FBQyxVQUFVLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0FBQ25DLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUNBQWtCLENBQUMsQ0FBQTtBQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLDJCQUFlLENBQUMsQ0FBQTtBQUNuQyxPQUFPLENBQUMsVUFBVSxDQUFDLHNCQUFhLENBQUMsQ0FBQTtBQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLHNCQUFhLENBQUMsQ0FBQTtBQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUFZLENBQUMsQ0FBQTtBQUVoQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUMxQixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUUxQixLQUFLLFVBQVUsSUFBSTtJQUNqQixJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFBQyxPQUFPLEdBQVksRUFBRSxDQUFDO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQTJDLENBQUE7UUFDbEUsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBQ2hELElBQ0Usb0JBQW9CLEtBQUssZ0JBQWdCO1lBQ3pDLG9CQUFvQixLQUFLLHlCQUF5QjtZQUNsRCxvQkFBb0IsS0FBSyxtQkFBbUIsRUFDNUMsQ0FBQztZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDakIsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUNoQyxJQUFBLHNCQUFhLEVBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksRUFBRSxJQUFBLHVCQUFjLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBQSx1QkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDcEMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDakMsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLElBQUksRUFBRSxDQUFBO0FBRVgsU0FBUyxpQkFBaUIsQ0FBQyxPQUFnQjtJQUN6QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFFLE9BQWtELENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUM3QyxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxPQUFnQjtJQUN6QyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEQsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInXG5pbXBvcnQgeyBhdXRoQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvYXV0aCdcbmltcG9ydCB7IHVzZXJDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy91c2VyJ1xuaW1wb3J0IHsgd29ya2Zsb3dDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy93b3JrZmxvdydcbmltcG9ydCB7IHdvcmtmbG93VmVyc2lvbkNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3dvcmtmbG93LXZlcnNpb24nXG5pbXBvcnQgeyBzdWJtaXNzaW9uQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvc3VibWlzc2lvbidcbmltcG9ydCB7IHF1ZXVlQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvcXVldWUnXG5pbXBvcnQgeyBlbnZpcm9ubWVudENvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2Vudmlyb25tZW50J1xuaW1wb3J0IHsgZW5naW5lQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvZW5naW5lJ1xuaW1wb3J0IHsgc2V0dXBDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9zZXR1cCdcbmltcG9ydCB7IHN0b3JhZ2VDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9zdG9yYWdlJ1xuaW1wb3J0IHsgdGFza0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3Rhc2snXG5pbXBvcnQgeyBzdWJtaXNzaW9uTG9nQ29tbWFuZCwgdGFza0xvZ0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2xvZydcbmltcG9ydCB7IHJlZ2lzdHJ5Q29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvcmVnaXN0cnknXG5pbXBvcnQgeyBpbWFnZUNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2ltYWdlJ1xuaW1wb3J0IHsgaW5zdGFuY2VDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9pbnN0YW5jZSdcbmltcG9ydCB7IGFjdGl2aXR5TG9nQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvYWN0aXZpdHktbG9nJ1xuaW1wb3J0IHsgYXBpVG9rZW5Db21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9hcGktdG9rZW4nXG5pbXBvcnQgeyB0ZW5hbnRDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy90ZW5hbnQnXG5pbXBvcnQgeyBwbHVnaW5Db21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9wbHVnaW4nXG5pbXBvcnQgeyBjb3N0c0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2Nvc3RzJ1xuaW1wb3J0IHsgaXNEZWJ1Z0VuYWJsZWQsIHByaW50Q2xpRXJyb3IsIHRvQ2xpRXJyb3IsIHdhbnRzSnNvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnXG5cbmNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpXG5cbnByb2dyYW1cbiAgLm5hbWUoJ2dlbmknKVxuICAuZGVzY3JpcHRpb24oJ0dlbmkgV29ya2Zsb3dzIOKAlCBCaW9pbmZvcm1hdGljcycpXG4gIC52ZXJzaW9uKCcwLjEuMycpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnU2hvdyBkZWJ1ZyBlcnJvciBkZXRhaWxzJylcbiAgLm9wdGlvbignLS1hcGktdG9rZW4gPHRva2VuPicsICdBdXRoZW50aWNhdGUgd2l0aCBhbiBBUEkgdG9rZW4gKHNldHMgWC1BUEktS2V5IGhlYWRlciknKVxuICAuY29uZmlndXJlT3V0cHV0KHsgd3JpdGVFcnI6ICgpID0+IHsgfSB9KVxuXG5wcm9ncmFtLmhvb2soJ3ByZUFjdGlvbicsICgpID0+IHtcbiAgY29uc3QgdG9rZW4gPSAocHJvZ3JhbS5vcHRzKCkgYXMgeyBhcGlUb2tlbj86IHN0cmluZyB9KS5hcGlUb2tlblxuICBpZiAodG9rZW4pIHtcbiAgICBwcm9jZXNzLmVudi5HRU5JX0FQSV9UT0tFTiA9IHRva2VuXG4gIH1cbn0pXG5cbnByb2dyYW0uYWRkQ29tbWFuZChhdXRoQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh1c2VyQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZCh3b3JrZmxvd0NvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQod29ya2Zsb3dWZXJzaW9uQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChzdWJtaXNzaW9uQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChxdWV1ZUNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoZW52aXJvbm1lbnRDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKGVuZ2luZUNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoc2V0dXBDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHN0b3JhZ2VDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHRhc2tDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHN1Ym1pc3Npb25Mb2dDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHRhc2tMb2dDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKHJlZ2lzdHJ5Q29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChpbWFnZUNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQoaW5zdGFuY2VDb21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKGFjdGl2aXR5TG9nQ29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChhcGlUb2tlbkNvbW1hbmQpXG5wcm9ncmFtLmFkZENvbW1hbmQodGVuYW50Q29tbWFuZClcbnByb2dyYW0uYWRkQ29tbWFuZChwbHVnaW5Db21tYW5kKVxucHJvZ3JhbS5hZGRDb21tYW5kKGNvc3RzQ29tbWFuZClcblxuYXBwbHlIZWxwT25Ob0FyZ3MocHJvZ3JhbSlcbmFwcGx5RXhpdE92ZXJyaWRlKHByb2dyYW0pXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgcHJvZ3JhbS5wYXJzZUFzeW5jKHByb2Nlc3MuYXJndilcbiAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgY29uc3QgbWF5YmVDb21tYW5kZXIgPSBlcnIgYXMgeyBjb2RlPzogc3RyaW5nOyBleGl0Q29kZT86IG51bWJlciB9XG4gICAgY29uc3QgY29tbWFuZGVyRGlzcGxheUNvZGUgPSBtYXliZUNvbW1hbmRlci5jb2RlXG4gICAgaWYgKFxuICAgICAgY29tbWFuZGVyRGlzcGxheUNvZGUgPT09ICdjb21tYW5kZXIuaGVscCcgfHxcbiAgICAgIGNvbW1hbmRlckRpc3BsYXlDb2RlID09PSAnY29tbWFuZGVyLmhlbHBEaXNwbGF5ZWQnIHx8XG4gICAgICBjb21tYW5kZXJEaXNwbGF5Q29kZSA9PT0gJ2NvbW1hbmRlci52ZXJzaW9uJ1xuICAgICkge1xuICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgfVxuICAgIGNvbnN0IGNsaUVycm9yID0gdG9DbGlFcnJvcihlcnIpXG4gICAgcHJpbnRDbGlFcnJvcihjbGlFcnJvciwge1xuICAgICAganNvbjogd2FudHNKc29uRXJyb3IocHJvY2Vzcy5hcmd2KSxcbiAgICAgIGRlYnVnOiBpc0RlYnVnRW5hYmxlZChwcm9jZXNzLmFyZ3YpLFxuICAgIH0pXG4gICAgcHJvY2Vzcy5leGl0KGNsaUVycm9yLmV4aXRDb2RlKVxuICB9XG59XG5cbnZvaWQgbWFpbigpXG5cbmZ1bmN0aW9uIGFwcGx5SGVscE9uTm9BcmdzKGNvbW1hbmQ6IENvbW1hbmQpOiB2b2lkIHtcbiAgaWYgKGNvbW1hbmQuY29tbWFuZHMubGVuZ3RoID4gMCAmJiAhKGNvbW1hbmQgYXMgdW5rbm93biBhcyB7IF9hY3Rpb25IYW5kbGVyOiB1bmtub3duIH0pLl9hY3Rpb25IYW5kbGVyKSB7XG4gICAgY29tbWFuZC5hY3Rpb24oKCkgPT4gY29tbWFuZC5oZWxwKCkpXG4gIH1cbiAgY29tbWFuZC5jb21tYW5kcy5mb3JFYWNoKGFwcGx5SGVscE9uTm9BcmdzKVxufVxuXG5mdW5jdGlvbiBhcHBseUV4aXRPdmVycmlkZShjb21tYW5kOiBDb21tYW5kKTogdm9pZCB7XG4gIGNvbW1hbmQuY29uZmlndXJlT3V0cHV0KHsgd3JpdGVFcnI6ICgpID0+IHsgfSB9KVxuICBjb21tYW5kLmV4aXRPdmVycmlkZSgpXG4gIGNvbW1hbmQuY29tbWFuZHMuZm9yRWFjaChhcHBseUV4aXRPdmVycmlkZSlcbn1cbiJdfQ==
@@ -86,7 +86,7 @@ Resources:
86
86
  {
87
87
  "Sid": "BatchOperations",
88
88
  "Effect": "Allow",
89
- "Action": ["batch:SubmitJob", "batch:DescribeJobs", "batch:TerminateJob"],
89
+ "Action": ["batch:SubmitJob", "batch:DescribeJobs", "batch:TerminateJob", "batch:DescribeComputeEnvironments", "batch:UpdateComputeEnvironment"],
90
90
  "Resource": "*"
91
91
  },
92
92
  {
@@ -282,6 +282,7 @@ Resources:
282
282
  Effect: Allow
283
283
  Action:
284
284
  - ec2:CreateLaunchTemplate
285
+ - ec2:CreateLaunchTemplateVersion
285
286
  - ec2:DeleteLaunchTemplate
286
287
  - ec2:RunInstances
287
288
  - ec2:TerminateInstances
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geni-bioinfo",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "CLI for GENI — a control plane for running Nextflow bioinformatics pipelines on AWS",
5
5
  "license": "MIT",
6
6
  "repository": {