@pipeline-builder/pipeline-manager 4.4.16 → 4.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/ai.d.ts.map +1 -1
- package/dist/agent/ai.js +1 -1
- package/dist/agent/bootstrap.d.ts.map +1 -1
- package/dist/agent/bootstrap.js +1 -1
- package/dist/agent/env-file.d.ts.map +1 -1
- package/dist/agent/env-file.js +1 -1
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +1 -1
- package/dist/agent/health.d.ts.map +1 -1
- package/dist/agent/health.js +1 -1
- package/dist/agent/ports.d.ts.map +1 -1
- package/dist/agent/ports.js +1 -1
- package/dist/agent/post-steps.d.ts.map +1 -1
- package/dist/agent/post-steps.js +1 -1
- package/dist/agent/prereqs.d.ts.map +1 -1
- package/dist/agent/prereqs.js +1 -1
- package/dist/agent/targets.d.ts.map +1 -1
- package/dist/agent/targets.js +1 -1
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +1 -1
- package/dist/agent/troubleshoot.d.ts.map +1 -1
- package/dist/agent/troubleshoot.js +1 -1
- package/dist/boilerplate.d.ts.map +1 -1
- package/dist/boilerplate.js +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/commands/audit-stacks.d.ts.map +1 -1
- package/dist/commands/audit-stacks.js +1 -1
- package/dist/commands/audit-tokens.d.ts.map +1 -1
- package/dist/commands/audit-tokens.js +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +1 -1
- package/dist/commands/create-pat.d.ts.map +1 -1
- package/dist/commands/create-pat.js +1 -1
- package/dist/commands/create-pipeline.d.ts.map +1 -1
- package/dist/commands/create-pipeline.js +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1 -1
- package/dist/commands/entity-get.d.ts.map +1 -1
- package/dist/commands/entity-get.js +1 -1
- package/dist/commands/entity-list.d.ts.map +1 -1
- package/dist/commands/entity-list.js +1 -1
- package/dist/commands/get-pipeline.d.ts.map +1 -1
- package/dist/commands/get-pipeline.js +1 -1
- package/dist/commands/get-plugin.d.ts.map +1 -1
- package/dist/commands/get-plugin.js +1 -1
- package/dist/commands/instantiate-template.d.ts.map +1 -1
- package/dist/commands/instantiate-template.js +1 -1
- package/dist/commands/list-pipelines.d.ts.map +1 -1
- package/dist/commands/list-pipelines.js +1 -1
- package/dist/commands/list-plugins.d.ts.map +1 -1
- package/dist/commands/list-plugins.js +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/new-plugin.d.ts.map +1 -1
- package/dist/commands/new-plugin.js +1 -1
- package/dist/commands/org-export.d.ts.map +1 -1
- package/dist/commands/org-export.js +1 -1
- package/dist/commands/plugin-lifecycle.d.ts.map +1 -1
- package/dist/commands/plugin-lifecycle.js +1 -1
- package/dist/commands/provision-steps.d.ts.map +1 -1
- package/dist/commands/provision-steps.js +1 -1
- package/dist/commands/provision.d.ts.map +1 -1
- package/dist/commands/provision.js +1 -1
- package/dist/commands/publish-plugin.d.ts.map +1 -1
- package/dist/commands/publish-plugin.js +1 -1
- package/dist/commands/redrive-events.d.ts.map +1 -1
- package/dist/commands/redrive-events.js +1 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +1 -1
- package/dist/commands/security-report.d.ts.map +1 -1
- package/dist/commands/security-report.js +1 -1
- package/dist/commands/setup-events.d.ts.map +1 -1
- package/dist/commands/setup-events.js +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/store-token.d.ts.map +1 -1
- package/dist/commands/store-token.js +1 -1
- package/dist/commands/synth.d.ts.map +1 -1
- package/dist/commands/synth.js +1 -1
- package/dist/commands/test-plugin.d.ts.map +1 -1
- package/dist/commands/test-plugin.js +1 -1
- package/dist/commands/upload-plugin.d.ts.map +1 -1
- package/dist/commands/upload-plugin.js +1 -1
- package/dist/commands/validate-plugin.d.ts.map +1 -1
- package/dist/commands/validate-plugin.js +1 -1
- package/dist/commands/validate-templates.d.ts.map +1 -1
- package/dist/commands/validate-templates.js +1 -1
- package/dist/commands/verify-plugins.d.ts.map +1 -1
- package/dist/commands/verify-plugins.js +1 -1
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/config/cli.constants.d.ts.map +1 -1
- package/dist/config/cli.constants.js +1 -1
- package/dist/config/plugin-catalog-assets.d.ts.map +1 -1
- package/dist/config/plugin-catalog-assets.js +1 -1
- package/dist/lambda/token-renew-handler.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -1
- package/dist/types/error.d.ts.map +1 -1
- package/dist/types/error.js +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/pipeline-template.d.ts.map +1 -1
- package/dist/types/pipeline-template.js +1 -1
- package/dist/types/pipeline.d.ts.map +1 -1
- package/dist/types/pipeline.js +1 -1
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +1 -1
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +1 -1
- package/dist/utils/audit-log.d.ts.map +1 -1
- package/dist/utils/audit-log.js +1 -1
- package/dist/utils/auth-guard.d.ts.map +1 -1
- package/dist/utils/auth-guard.js +1 -1
- package/dist/utils/auth-utils.d.ts.map +1 -1
- package/dist/utils/auth-utils.js +1 -1
- package/dist/utils/aws-env.d.ts.map +1 -1
- package/dist/utils/aws-env.js +1 -1
- package/dist/utils/aws-secrets.d.ts.map +1 -1
- package/dist/utils/aws-secrets.js +1 -1
- package/dist/utils/banner.d.ts.map +1 -1
- package/dist/utils/banner.js +1 -1
- package/dist/utils/catalog-prompt.d.ts.map +1 -1
- package/dist/utils/catalog-prompt.js +1 -1
- package/dist/utils/cdk-utils.d.ts.map +1 -1
- package/dist/utils/cdk-utils.js +1 -1
- package/dist/utils/command-utils.d.ts.map +1 -1
- package/dist/utils/command-utils.js +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +1 -1
- package/dist/utils/cron.d.ts.map +1 -1
- package/dist/utils/cron.js +1 -1
- package/dist/utils/deploy-runner.d.ts.map +1 -1
- package/dist/utils/deploy-runner.js +1 -1
- package/dist/utils/device-auth.d.ts.map +1 -1
- package/dist/utils/device-auth.js +1 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +1 -1
- package/dist/utils/list-command-utils.d.ts.map +1 -1
- package/dist/utils/list-command-utils.js +1 -1
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +1 -1
- package/dist/utils/pipeline-config.d.ts.map +1 -1
- package/dist/utils/pipeline-config.js +1 -1
- package/dist/utils/platform-secret.d.ts.map +1 -1
- package/dist/utils/platform-secret.js +1 -1
- package/dist/utils/plugin-docker.d.ts.map +1 -1
- package/dist/utils/plugin-docker.js +1 -1
- package/dist/utils/plugin-package.d.ts.map +1 -1
- package/dist/utils/plugin-package.js +1 -1
- package/dist/utils/plugin-resolver.d.ts.map +1 -1
- package/dist/utils/plugin-resolver.js +1 -1
- package/dist/utils/plugin-scan.d.ts.map +1 -1
- package/dist/utils/plugin-scan.js +1 -1
- package/dist/utils/plugin-zip.d.ts.map +1 -1
- package/dist/utils/plugin-zip.js +1 -1
- package/dist/utils/preflight.d.ts.map +1 -1
- package/dist/utils/preflight.js +1 -1
- package/dist/utils/registration-client.d.ts.map +1 -1
- package/dist/utils/registration-client.js +1 -1
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +1 -1
- package/dist/utils/request-context.d.ts.map +1 -1
- package/dist/utils/request-context.js +1 -1
- package/dist/utils/response-utils.d.ts.map +1 -1
- package/dist/utils/response-utils.js +1 -1
- package/dist/utils/service-account.d.ts.map +1 -1
- package/dist/utils/service-account.js +1 -1
- package/dist/utils/tls.d.ts.map +1 -1
- package/dist/utils/tls.js +1 -1
- package/package.json +9 -9
|
@@ -248,4 +248,4 @@ export function printDivider(char = '─', width) {
|
|
|
248
248
|
const effectiveWidth = width || process.stdout.columns || 80;
|
|
249
249
|
console.log(dim(char.repeat(effectiveWidth)));
|
|
250
250
|
}
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL291dHB1dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQztBQUM5QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUVMLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztBQTBCckUsNEJBQTRCO0FBRTVCLFNBQVMsU0FBUyxDQUFDLEtBQWUsRUFBRSxPQUFlLEVBQUUsSUFBYztJQUNqRSxNQUFNLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3hGLE1BQU0sUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEYsTUFBTSxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FB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QUFDLENBQUM7SUFDdkUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVyQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDNUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUk7WUFDaEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQUksR0FBVyxHQUFHLEVBQUUsS0FBYztJQUM3RCxNQUFNLGNBQWMsR0FBRyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnO1xuaW1wb3J0IFlBTUwgZnJvbSAneWFtbCc7XG5pbXBvcnQge1xuICB0eXBlIE91dHB1dEZvcm1hdCxcbiAgZm9ybWF0RmlsZVNpemUsXG4gIFRBQkxFX09QVElPTlMsXG59IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcblxuY29uc3QgeyBib2xkLCBjeWFuLCBncmVlbiwgeWVsbG93LCByZWQsIGRpbSwgbWFnZW50YSwgd2hpdGUgfSA9IHBpY287XG5cbnR5cGUgTG9nTGV2ZWwgPSAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2RlYnVnJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBvdXRwdXREYXRhIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0T3B0aW9ucyB7XG4gIGZvcm1hdD86IE91dHB1dEZvcm1hdDtcbiAgZmlsZT86IHN0cmluZztcbiAgcHJldHR5PzogYm9vbGVhbjtcbiAgc2lsZW50PzogYm9vbGVhbjtcbiAgYXBwZW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUYWJsZSBjb2x1bW4gY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIGZvcm1hdHRlcj86ICh2YWx1ZTogdW5rbm93bikgPT4gc3RyaW5nO1xufVxuXG4vLyAtLS0gTG9nZ2luZyBmdW5jdGlvbnMgLS0tXG5cbmZ1bmN0aW9uIGxvZ091dHB1dChsZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgY29uc3QgY29sb3JzID0geyBpbmZvOiBjeWFuLCBzdWNjZXNzOiBncmVlbiwgd2FybjogeWVsbG93LCBlcnJvcjogcmVkLCBkZWJ1ZzogbWFnZW50YSB9O1xuICBjb25zdCBwcmVmaXhlcyA9IHsgaW5mbzogJ+KEuScsIHN1Y2Nlc3M6ICfinJMnLCB3YXJuOiAn4pqgJywgZXJyb3I6ICfinJcnLCBkZWJ1ZzogJ+KXjycgfTtcbiAgY29uc3Qgd3JpdGVycyA9IHsgZXJyb3I6IGNvbnNvbGUuZXJyb3IsIHdhcm46IGNvbnNvbGUud2FybiwgaW5mbzogY29uc29sZS5sb2csIHN1Y2Nlc3M6IGNvbnNvbGUubG9nLCBkZWJ1ZzogY29uc29sZS5sb2cgfTtcblxuICAvLyBGYWxsIGJhY2sgdG8gY29uc29sZS5sb2cgKyByYXcgbWVzc2FnZSBpZiBhIGNhbGxlciBsZWFrcyBhbiB1bmtub3duIGxldmVsXG4gIC8vIChlLmcuIGFuIGBhcyBMb2dMZXZlbGAgY2FzdCBvbiB1c2VyIGlucHV0KS4gVGhlIHdob2xlIHBvaW50IG9mIHRoZSBsb2dnZXJcbiAgLy8gaXMgdG8gc3VyZmFjZSBlcnJvcnMg4oCUIGZhaWxpbmcgaW5zaWRlIHRoZSBsb2dnZXIgYW5kIG1hc2tpbmcgdGhlIHJlYWxcbiAgLy8gZXJyb3Igd2l0aCBhIFR5cGVFcnJvciBkZWZlYXRzIGl0LlxuICBjb25zdCBjb2xvciA9IGNvbG9yc1tsZXZlbF0gPz8gKChzOiBzdHJpbmcpID0+IHMpO1xuICBjb25zdCBwcmVmaXggPSBwcmVmaXhlc1tsZXZlbF0gPz8gJz8nO1xuICBjb25zdCB3cml0ZSA9IHdyaXRlcnNbbGV2ZWxdID8/IGNvbnNvbGUubG9nO1xuXG4gIHdyaXRlKGAke2NvbG9yKHByZWZpeCl9ICR7bWVzc2FnZX1gKTtcbiAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkgd3JpdGUoZGltKGZvcm1hdERhdGFGb3JMb2coZGF0YSkpKTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0RGF0YUZvckxvZyhkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgcmV0dXJuIGRhdGE7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkYXRhKTtcbiAgICBpZiAoZW50cmllcy5sZW5ndGggPD0gNSkge1xuICAgICAgcmV0dXJuICdcXG4nICsgZW50cmllcy5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZVN0ciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICByZXR1cm4gYCAgJHtrZXl9OiAke3ZhbHVlU3RyfWA7XG4gICAgICB9KS5qb2luKCdcXG4nKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pOiB2b2lkIHsgbG9nT3V0cHV0KCdzdWNjZXNzJywgbWVzc2FnZSwgZGF0YSk7IH1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEluZm8obWVzc2FnZTogc3RyaW5nLCBkYXRhPzogdW5rbm93bik6IHZvaWQgeyBsb2dPdXRwdXQoJ2luZm8nLCBtZXNzYWdlLCBkYXRhKTsgfVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50V2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7IGxvZ091dHB1dCgnd2FybicsIG1lc3NhZ2UsIGRhdGEpOyB9XG5leHBvcnQgZnVuY3Rpb24gcHJpbnRFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7IGxvZ091dHB1dCgnZXJyb3InLCBtZXNzYWdlLCBkYXRhKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnREZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gIGlmIChwcm9jZXNzLmVudi5ERUJVRyA9PT0gJ3RydWUnKSBsb2dPdXRwdXQoJ2RlYnVnJywgbWVzc2FnZSwgZGF0YSk7XG59XG5cbi8vIC0tLSBEYXRhIG91dHB1dCAtLS1cblxuLyoqXG4gKiBPdXRwdXQgZGF0YSBpbiBzcGVjaWZpZWQgZm9ybWF0IChjb25zb2xlIG9yIGZpbGUpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRwdXREYXRhKGRhdGE6IHVua25vd24sIG9wdGlvbnM6IE91dHB1dE9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICBjb25zdCB7IGZvcm1hdCA9ICdqc29uJywgZmlsZSwgcHJldHR5ID0gdHJ1ZSwgc2lsZW50ID0gZmFsc2UsIGFwcGVuZCA9IGZhbHNlIH0gPSBvcHRpb25zO1xuXG4gIGxldCBvdXRwdXQ6IHN0cmluZztcblxuICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgIGlmICghc2lsZW50KSBwcmludEluZm8oJ1JlbmRlcmluZyBhcyB0YWJsZScpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkgJiYgZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdFRhYmxlKGRhdGEpKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0VGFibGUoW2RhdGFdKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLnRhYmxlKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW2RhdGFdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ2Nzdic6XG4gICAgICBpZiAoIXNpbGVudCkgcHJpbnRJbmZvKCdSZW5kZXJpbmcgYXMgQ1NWJyk7XG4gICAgICBvdXRwdXQgPSBmb3JtYXRDc3YoZGF0YSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgaWYgKCFzaWxlbnQpIHByaW50SW5mbygnUmVuZGVyaW5nIGFzIFlBTUwnKTtcbiAgICAgIG91dHB1dCA9IFlBTUwuc3RyaW5naWZ5KGRhdGEpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdqc29uJzpcbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKCFzaWxlbnQpIHByaW50SW5mbygnUmVuZGVyaW5nIGFzIEpTT04nKTtcbiAgICAgIG91dHB1dCA9IHByZXR0eSA/IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpIDogSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGlmIChmaWxlKSB7XG4gICAgd3JpdGVUb0ZpbGUoZmlsZSwgb3V0cHV0LCBmb3JtYXQsIGFwcGVuZCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgfVxufVxuXG4vLyAtLS0gVGFibGUgZm9ybWF0dGluZyAtLS1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRhYmxlKGRhdGE6IHVua25vd25bXSwgY29sdW1ucz86IFRhYmxlQ29sdW1uW10pOiBzdHJpbmcge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPT09IDApIHJldHVybiBkaW0oJyhObyBkYXRhIHRvIGRpc3BsYXkpJyk7XG5cbiAgY29uc3QgZmlyc3RJdGVtID0gZGF0YVswXTtcbiAgaWYgKHR5cGVvZiBmaXJzdEl0ZW0gIT09ICdvYmplY3QnIHx8IGZpcnN0SXRlbSA9PT0gbnVsbCkgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpO1xuXG4gIGNvbnN0IGNvbHM6IFRhYmxlQ29sdW1uW10gPSBjb2x1bW5zIHx8IE9iamVjdC5rZXlzKGZpcnN0SXRlbSkubWFwKGtleSA9PiAoeyBoZWFkZXI6IGtleSwga2V5IH0pKTtcblxuICBjb25zdCBjb2xXaWR0aHM6IG51bWJlcltdID0gY29scy5tYXAoY29sID0+IHtcbiAgICBpZiAoY29sLndpZHRoKSByZXR1cm4gY29sLndpZHRoO1xuICAgIGNvbnN0IGhlYWRlcldpZHRoID0gY29sLmhlYWRlci5sZW5ndGg7XG4gICAgY29uc3QgZGF0YVdpZHRoID0gTWF0aC5tYXgoLi4uZGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbC5mb3JtYXR0ZXJcbiAgICAgICAgPyBjb2wuZm9ybWF0dGVyKChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtjb2wua2V5XSlcbiAgICAgICAgOiBTdHJpbmcoKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2NvbC5rZXldID8/ICcnKTtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSkpO1xuICAgIHJldHVybiBNYXRoLm1heChoZWFkZXJXaWR0aCwgZGF0YVdpZHRoLCAzKTtcbiAgfSk7XG5cbiAgY29uc3QgeyBib3JkZXIgfSA9IFRBQkxFX09QVElPTlM7XG5cbiAgY29uc3QgaG9yaXpvbnRhbExpbmUgPSAobGVmdDogc3RyaW5nLCBtaWRkbGU6IHN0cmluZywgcmlnaHQ6IHN0cmluZykgPT5cbiAgICAvLyBGaWxsIHdpdGggdGhlIEhPUklaT05UQUwgcnVsZSBnbHlwaCAoYOKUgGApLCBub3QgYGJvZHlKb2luYCAoYOKUgmApIOKAlCB0aGUgbGF0dGVyXG4gICAgLy8gcmVuZGVyZWQgZXZlcnkgcnVsZSBhcyBg4pSM4pSC4pSC4pSC4pSC4pSC4pSs4oCmYCBpbnN0ZWFkIG9mIGDilIzilIDilIDilIDilIDilIDilKzigKZgLlxuICAgIGxlZnQgKyBjb2xXaWR0aHMubWFwKHcgPT4gYm9yZGVyLnRvcEJvZHkucmVwZWF0KCh3ID8/IDApICsgMikpLmpvaW4obWlkZGxlKSArIHJpZ2h0O1xuXG4gIGNvbnN0IHRvcExpbmUgPSBob3Jpem9udGFsTGluZShib3JkZXIudG9wTGVmdCwgYm9yZGVyLnRvcEpvaW4sIGJvcmRlci50b3BSaWdodCk7XG4gIGNvbnN0IG1pZExpbmUgPSBob3Jpem9udGFsTGluZShib3JkZXIuam9pbkxlZnQsIGJvcmRlci5qb2luSm9pbiwgYm9yZGVyLmpvaW5SaWdodCk7XG4gIGNvbnN0IGJvdHRvbUxpbmUgPSBob3Jpem9udGFsTGluZShib3JkZXIuYm90dG9tTGVmdCwgYm9yZGVyLmJvdHRvbUpvaW4sIGJvcmRlci5ib3R0b21SaWdodCk7XG5cbiAgY29uc3QgZm9ybWF0Q2VsbCA9ICh2YWx1ZTogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBhbGlnbjogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnID0gJ2xlZnQnKTogc3RyaW5nID0+IHtcbiAgICBpZiAodmFsdWUubGVuZ3RoID4gd2lkdGgpIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgd2lkdGggLSAzKSArICcuLi4nO1xuICAgIGlmIChhbGlnbiA9PT0gJ2NlbnRlcicpIHtcbiAgICAgIGNvbnN0IGxlZnRQYWQgPSBNYXRoLmZsb29yKCh3aWR0aCAtIHZhbHVlLmxlbmd0aCkgLyAyKTtcbiAgICAgIHJldHVybiAnICcucmVwZWF0KGxlZnRQYWQpICsgdmFsdWUgKyAnICcucmVwZWF0KHdpZHRoIC0gdmFsdWUubGVuZ3RoIC0gbGVmdFBhZCk7XG4gICAgfVxuICAgIHJldHVybiBhbGlnbiA9PT0gJ3JpZ2h0JyA/IHZhbHVlLnBhZFN0YXJ0KHdpZHRoKSA6IHZhbHVlLnBhZEVuZCh3aWR0aCk7XG4gIH07XG5cbiAgY29uc3QgaGVhZGVyUm93ID0gYm9yZGVyLmJvZHlMZWZ0ICsgJyAnICtcbiAgICBjb2xzLm1hcCgoY29sLCBpKSA9PiBjeWFuKGJvbGQoZm9ybWF0Q2VsbChjb2wuaGVhZGVyLCBjb2xXaWR0aHNbaV0gPz8gMCkpKSkuam9pbihgICR7Ym9yZGVyLmJvZHlKb2lufSBgKSArXG4gICAgYCAke2JvcmRlci5ib2R5UmlnaHR9YDtcblxuICBsZXQgdGFibGUgPSBjeWFuKHRvcExpbmUpICsgJ1xcbicgKyBoZWFkZXJSb3cgKyAnXFxuJyArIGN5YW4obWlkTGluZSkgKyAnXFxuJztcblxuICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgY29uc3Qgcm93ID0gYm9yZGVyLmJvZHlMZWZ0ICsgJyAnICtcbiAgICAgIGNvbHMubWFwKChjb2wsIGkpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb2wuZm9ybWF0dGVyXG4gICAgICAgICAgPyBjb2wuZm9ybWF0dGVyKChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtjb2wua2V5XSlcbiAgICAgICAgICA6IFN0cmluZygoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbY29sLmtleV0gPz8gJycpO1xuICAgICAgICByZXR1cm4gZm9ybWF0Q2VsbCh2YWx1ZSwgY29sV2lkdGhzW2ldID8/IDAsIGNvbC5hbGlnbik7XG4gICAgICB9KS5qb2luKGAgJHtib3JkZXIuYm9keUpvaW59IGApICtcbiAgICAgIGAgJHtib3JkZXIuYm9keVJpZ2h0fWA7XG4gICAgdGFibGUgKz0gcm93ICsgJ1xcbic7XG4gIH0pO1xuXG4gIHRhYmxlICs9IGN5YW4oYm90dG9tTGluZSk7XG4gIHJldHVybiB0YWJsZTtcbn1cblxuLy8gLS0tIENTViBmb3JtYXR0aW5nIC0tLVxuXG5mdW5jdGlvbiBmb3JtYXRDc3YoZGF0YTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuICBjb25zdCBmaXJzdEl0ZW0gPSBkYXRhWzBdO1xuICBpZiAodHlwZW9mIGZpcnN0SXRlbSAhPT0gJ29iamVjdCcgfHwgZmlyc3RJdGVtID09PSBudWxsKSByZXR1cm4gZGF0YS5qb2luKCcsJyk7XG5cbiAgY29uc3QgaGVhZGVycyA9IE9iamVjdC5rZXlzKGZpcnN0SXRlbSk7XG4gIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW2hlYWRlcnMubWFwKGggPT4gZXNjYXBlQ3N2VmFsdWUoaCkpLmpvaW4oJywnKV07XG4gIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICByb3dzLnB1c2goaGVhZGVycy5tYXAoaCA9PiBlc2NhcGVDc3ZWYWx1ZSgoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbaF0pKS5qb2luKCcsJykpO1xuICB9KTtcbiAgcmV0dXJuIHJvd3Muam9pbignXFxuJyk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZUNzdlZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcbiAgY29uc3Qgc3RyID0gU3RyaW5nKHZhbHVlKTtcbiAgaWYgKHN0ci5pbmNsdWRlcygnLCcpIHx8IHN0ci5pbmNsdWRlcygnXCInKSB8fCBzdHIuaW5jbHVkZXMoJ1xcbicpKSB7XG4gICAgcmV0dXJuIGBcIiR7c3RyLnJlcGxhY2UoL1wiL2csICdcIlwiJyl9XCJgO1xuICB9XG4gIHJldHVybiBzdHI7XG59XG5cbi8vIC0tLSBGaWxlIG9wZXJhdGlvbnMgLS0tXG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCBhIGZpbGUgcGF0aCByZXNvbHZlcyB3aXRoaW4gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gKiBQcmV2ZW50cyBwYXRoIHRyYXZlcnNhbCBhdHRhY2tzIChlLmcuLCAtLW91dHB1dCAuLi8uLi9ldGMvcGFzc3dkKS5cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVPdXRwdXRQYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCByZXNvbHZlZCA9IHBhdGgucmVzb2x2ZShmaWxlUGF0aCk7XG4gIGNvbnN0IGN3ZCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpKTtcbiAgaWYgKCFyZXNvbHZlZC5zdGFydHNXaXRoKGN3ZCArIHBhdGguc2VwKSAmJiByZXNvbHZlZCAhPT0gY3dkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXRoIHRyYXZlcnNhbCByZWplY3RlZDogXCIke2ZpbGVQYXRofVwiIHJlc29sdmVzIG91dHNpZGUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5YCk7XG4gIH1cbiAgcmV0dXJuIHJlc29sdmVkO1xufVxuXG5mdW5jdGlvbiB3cml0ZVRvRmlsZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGZvcm1hdDogT3V0cHV0Rm9ybWF0LCBhcHBlbmQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICB0cnkge1xuICAgIGNvbnN0IHNhZmVQYXRoID0gdmFsaWRhdGVPdXRwdXRQYXRoKGZpbGVQYXRoKTtcbiAgICBjb25zdCBkaXIgPSBwYXRoLmRpcm5hbWUoc2FmZVBhdGgpO1xuICAgIGlmIChkaXIgIT09ICcuJykgZW5zdXJlT3V0cHV0RGlyZWN0b3J5KGRpcik7XG5cbiAgICBpZiAoYXBwZW5kKSB7XG4gICAgICBmcy5hcHBlbmRGaWxlU3luYyhzYWZlUGF0aCwgY29udGVudCArICdcXG4nLCAndXRmLTgnKTtcbiAgICAgIHByaW50U3VjY2VzcygnT3V0cHV0IGFwcGVuZGVkIHRvIGZpbGUnLCB7IHBhdGg6IHNhZmVQYXRoLCBmb3JtYXQgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoc2FmZVBhdGgsIGNvbnRlbnQsICd1dGYtOCcpO1xuICAgICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhzYWZlUGF0aCk7XG4gICAgICBwcmludFN1Y2Nlc3MoJ091dHB1dCBzYXZlZCB0byBmaWxlJywgeyBwYXRoOiBzYWZlUGF0aCwgZm9ybWF0LCBzaXplOiBmb3JtYXRGaWxlU2l6ZShzdGF0cy5zaXplKSB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcHJpbnRFcnJvcignRmFpbGVkIHRvIHdyaXRlIGZpbGUnLCB7XG4gICAgICBwYXRoOiBmaWxlUGF0aCxcbiAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UoZXJyb3IpLFxuICAgIH0pO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVPdXRwdXREaXJlY3Rvcnkob3V0cHV0UGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChmcy5leGlzdHNTeW5jKG91dHB1dFBhdGgpKSByZXR1cm47XG4gIHRyeSB7XG4gICAgZnMubWtkaXJTeW5jKG91dHB1dFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHByaW50RGVidWcoJ0RpcmVjdG9yeSBjcmVhdGVkJywgeyBwYXRoOiBvdXRwdXRQYXRoIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByaW50RXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5Jywge1xuICAgICAgcGF0aDogb3V0cHV0UGF0aCxcbiAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UoZXJyb3IpLFxuICAgIH0pO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWxlRXhpc3RzKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGZzLmV4aXN0c1N5bmMoZmlsZVBhdGgpO1xufVxuXG4vLyAtLS0gRGlzcGxheSBoZWxwZXJzIC0tLVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTZWN0aW9uKHRpdGxlOiBzdHJpbmcsIHN1YnRpdGxlPzogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IHdpZHRoID0gcHJvY2Vzcy5zdGRvdXQuY29sdW1ucyB8fCA4MDtcbiAgY29uc29sZS5sb2coJycpO1xuICBjb25zb2xlLmxvZyhjeWFuKCfilZAnLnJlcGVhdCh3aWR0aCkpKTtcbiAgY29uc29sZS5sb2coY3lhbihib2xkKHRpdGxlKSkpO1xuICBpZiAoc3VidGl0bGUpIGNvbnNvbGUubG9nKGRpbShzdWJ0aXRsZSkpO1xuICBjb25zb2xlLmxvZyhjeWFuKCfilZAnLnJlcGVhdCh3aWR0aCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50S2V5VmFsdWUoXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBvcHRpb25zOiB7IGluZGVudD86IG51bWJlcjsgc2VwYXJhdG9yPzogc3RyaW5nIH0gPSB7fSxcbik6IHZvaWQge1xuICBjb25zdCB7IGluZGVudCA9IDAsIHNlcGFyYXRvciA9ICfilIInIH0gPSBvcHRpb25zO1xuICBjb25zdCBtYXhLZXlMZW5ndGggPSBNYXRoLm1heCguLi5PYmplY3Qua2V5cyhkYXRhKS5tYXAoayA9PiBrLmxlbmd0aCkpO1xuICBjb25zdCBpbmRlbnRTdHIgPSAnICcucmVwZWF0KGluZGVudCk7XG5cbiAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgY29uc3QgcGFkZGVkS2V5ID0ga2V5LnBhZEVuZChtYXhLZXlMZW5ndGgpO1xuICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbFxuICAgICAgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiBTdHJpbmcodmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKGAke2luZGVudFN0cn0ke2RpbShwYWRkZWRLZXkpfSAke2N5YW4oc2VwYXJhdG9yKX0gJHt3aGl0ZShmb3JtYXR0ZWRWYWx1ZSl9YCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnREaXZpZGVyKGNoYXI6IHN0cmluZyA9ICfilIAnLCB3aWR0aD86IG51bWJlcik6IHZvaWQge1xuICBjb25zdCBlZmZlY3RpdmVXaWR0aCA9IHdpZHRoIHx8IHByb2Nlc3Muc3Rkb3V0LmNvbHVtbnMgfHwgODA7XG4gIGNvbnNvbGUubG9nKGRpbShjaGFyLnJlcGVhdChlZmZlY3RpdmVXaWR0aCkpKTtcbn1cbiJdfQ==
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LXV0aWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvb3V0cHV0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pCLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBRUwsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBMEJyRSw0QkFBNEI7QUFFNUIsU0FBUyxTQUFTLENBQUMsS0FBZSxFQUFFLE9BQWUsRUFBRSxJQUFjO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDeEYsTUFBTSxRQUFRLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNoRixNQUFNLE9BQU8sR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFF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QUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXJDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUNoRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBSSxHQUFXLEdBQUcsRUFBRSxLQUFjO0lBQzdELE1BQU0sY0FBYyxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgZnMgZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgWUFNTCBmcm9tICd5YW1sJztcbmltcG9ydCB7XG4gIHR5cGUgT3V0cHV0Rm9ybWF0LFxuICBmb3JtYXRGaWxlU2l6ZSxcbiAgVEFCTEVfT1BUSU9OUyxcbn0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuXG5jb25zdCB7IGJvbGQsIGN5YW4sIGdyZWVuLCB5ZWxsb3csIHJlZCwgZGltLCBtYWdlbnRhLCB3aGl0ZSB9ID0gcGljbztcblxudHlwZSBMb2dMZXZlbCA9ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZGVidWcnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIG91dHB1dERhdGEgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRPcHRpb25zIHtcbiAgZm9ybWF0PzogT3V0cHV0Rm9ybWF0O1xuICBmaWxlPzogc3RyaW5nO1xuICBwcmV0dHk/OiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xuICBhcHBlbmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRhYmxlIGNvbHVtbiBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW4ge1xuICBoZWFkZXI6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgZm9ybWF0dGVyPzogKHZhbHVlOiB1bmtub3duKSA9PiBzdHJpbmc7XG59XG5cbi8vIC0tLSBMb2dnaW5nIGZ1bmN0aW9ucyAtLS1cblxuZnVuY3Rpb24gbG9nT3V0cHV0KGxldmVsOiBMb2dMZXZlbCwgbWVzc2FnZTogc3RyaW5nLCBkYXRhPzogdW5rbm93bik6IHZvaWQge1xuICBjb25zdCBjb2xvcnMgPSB7IGluZm86IGN5YW4sIHN1Y2Nlc3M6IGdyZWVuLCB3YXJuOiB5ZWxsb3csIGVycm9yOiByZWQsIGRlYnVnOiBtYWdlbnRhIH07XG4gIGNvbnN0IHByZWZpeGVzID0geyBpbmZvOiAn4oS5Jywgc3VjY2VzczogJ+KckycsIHdhcm46ICfimqAnLCBlcnJvcjogJ+KclycsIGRlYnVnOiAn4pePJyB9O1xuICBjb25zdCB3cml0ZXJzID0geyBlcnJvcjogY29uc29sZS5lcnJvciwgd2FybjogY29uc29sZS53YXJuLCBpbmZvOiBjb25zb2xlLmxvZywgc3VjY2VzczogY29uc29sZS5sb2csIGRlYnVnOiBjb25zb2xlLmxvZyB9O1xuXG4gIC8vIEZhbGwgYmFjayB0byBjb25zb2xlLmxvZyArIHJhdyBtZXNzYWdlIGlmIGEgY2FsbGVyIGxlYWtzIGFuIHVua25vd24gbGV2ZWxcbiAgLy8gKGUuZy4gYW4gYGFzIExvZ0xldmVsYCBjYXN0IG9uIHVzZXIgaW5wdXQpLiBUaGUgd2hvbGUgcG9pbnQgb2YgdGhlIGxvZ2dlclxuICAvLyBpcyB0byBzdXJmYWNlIGVycm9ycyDigJQgZmFpbGluZyBpbnNpZGUgdGhlIGxvZ2dlciBhbmQgbWFza2luZyB0aGUgcmVhbFxuICAvLyBlcnJvciB3aXRoIGEgVHlwZUVycm9yIGRlZmVhdHMgaXQuXG4gIGNvbnN0IGNvbG9yID0gY29sb3JzW2xldmVsXSA/PyAoKHM6IHN0cmluZykgPT4gcyk7XG4gIGNvbnN0IHByZWZpeCA9IHByZWZpeGVzW2xldmVsXSA/PyAnPyc7XG4gIGNvbnN0IHdyaXRlID0gd3JpdGVyc1tsZXZlbF0gPz8gY29uc29sZS5sb2c7XG5cbiAgd3JpdGUoYCR7Y29sb3IocHJlZml4KX0gJHttZXNzYWdlfWApO1xuICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB3cml0ZShkaW0oZm9ybWF0RGF0YUZvckxvZyhkYXRhKSkpO1xufVxuXG5mdW5jdGlvbiBmb3JtYXREYXRhRm9yTG9nKGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSByZXR1cm4gZGF0YTtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhICE9PSBudWxsKSB7XG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGRhdGEpO1xuICAgIGlmIChlbnRyaWVzLmxlbmd0aCA8PSA1KSB7XG4gICAgICByZXR1cm4gJ1xcbicgKyBlbnRyaWVzLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBgICAke2tleX06ICR7dmFsdWVTdHJ9YDtcbiAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludFN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBkYXRhPzogdW5rbm93bik6IHZvaWQgeyBsb2dPdXRwdXQoJ3N1Y2Nlc3MnLCBtZXNzYWdlLCBkYXRhKTsgfVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50SW5mbyhtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7IGxvZ091dHB1dCgnaW5mbycsIG1lc3NhZ2UsIGRhdGEpOyB9XG5leHBvcnQgZnVuY3Rpb24gcHJpbnRXYXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pOiB2b2lkIHsgbG9nT3V0cHV0KCd3YXJuJywgbWVzc2FnZSwgZGF0YSk7IH1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEVycm9yKG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pOiB2b2lkIHsgbG9nT3V0cHV0KCdlcnJvcicsIG1lc3NhZ2UsIGRhdGEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludERlYnVnKG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgaWYgKHByb2Nlc3MuZW52LkRFQlVHID09PSAndHJ1ZScpIGxvZ091dHB1dCgnZGVidWcnLCBtZXNzYWdlLCBkYXRhKTtcbn1cblxuLy8gLS0tIERhdGEgb3V0cHV0IC0tLVxuXG4vKipcbiAqIE91dHB1dCBkYXRhIGluIHNwZWNpZmllZCBmb3JtYXQgKGNvbnNvbGUgb3IgZmlsZSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG91dHB1dERhdGEoZGF0YTogdW5rbm93biwgb3B0aW9uczogT3V0cHV0T3B0aW9ucyA9IHt9KTogdm9pZCB7XG4gIGNvbnN0IHsgZm9ybWF0ID0gJ2pzb24nLCBmaWxlLCBwcmV0dHkgPSB0cnVlLCBzaWxlbnQgPSBmYWxzZSwgYXBwZW5kID0gZmFsc2UgfSA9IG9wdGlvbnM7XG5cbiAgbGV0IG91dHB1dDogc3RyaW5nO1xuXG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSAndGFibGUnOlxuICAgICAgaWYgKCFzaWxlbnQpIHByaW50SW5mbygnUmVuZGVyaW5nIGFzIHRhYmxlJyk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSAmJiBkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0VGFibGUoZGF0YSkpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhmb3JtYXRUYWJsZShbZGF0YV0pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUudGFibGUoQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbZGF0YV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAnY3N2JzpcbiAgICAgIGlmICghc2lsZW50KSBwcmludEluZm8oJ1JlbmRlcmluZyBhcyBDU1YnKTtcbiAgICAgIG91dHB1dCA9IGZvcm1hdENzdihkYXRhKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAneWFtbCc6XG4gICAgICBpZiAoIXNpbGVudCkgcHJpbnRJbmZvKCdSZW5kZXJpbmcgYXMgWUFNTCcpO1xuICAgICAgb3V0cHV0ID0gWUFNTC5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2pzb24nOlxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAoIXNpbGVudCkgcHJpbnRJbmZvKCdSZW5kZXJpbmcgYXMgSlNPTicpO1xuICAgICAgb3V0cHV0ID0gcHJldHR5ID8gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikgOiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgaWYgKGZpbGUpIHtcbiAgICB3cml0ZVRvRmlsZShmaWxlLCBvdXRwdXQsIGZvcm1hdCwgYXBwZW5kKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyhvdXRwdXQpO1xuICB9XG59XG5cbi8vIC0tLSBUYWJsZSBmb3JtYXR0aW5nIC0tLVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGFibGUoZGF0YTogdW5rbm93bltdLCBjb2x1bW5zPzogVGFibGVDb2x1bW5bXSk6IHN0cmluZyB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGRpbSgnKE5vIGRhdGEgdG8gZGlzcGxheSknKTtcblxuICBjb25zdCBmaXJzdEl0ZW0gPSBkYXRhWzBdO1xuICBpZiAodHlwZW9mIGZpcnN0SXRlbSAhPT0gJ29iamVjdCcgfHwgZmlyc3RJdGVtID09PSBudWxsKSByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMik7XG5cbiAgY29uc3QgY29sczogVGFibGVDb2x1bW5bXSA9IGNvbHVtbnMgfHwgT2JqZWN0LmtleXMoZmlyc3RJdGVtKS5tYXAoa2V5ID0+ICh7IGhlYWRlcjoga2V5LCBrZXkgfSkpO1xuXG4gIGNvbnN0IGNvbFdpZHRoczogbnVtYmVyW10gPSBjb2xzLm1hcChjb2wgPT4ge1xuICAgIGlmIChjb2wud2lkdGgpIHJldHVybiBjb2wud2lkdGg7XG4gICAgY29uc3QgaGVhZGVyV2lkdGggPSBjb2wuaGVhZGVyLmxlbmd0aDtcbiAgICBjb25zdCBkYXRhV2lkdGggPSBNYXRoLm1heCguLi5kYXRhLm1hcChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gY29sLmZvcm1hdHRlclxuICAgICAgICA/IGNvbC5mb3JtYXR0ZXIoKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2NvbC5rZXldKVxuICAgICAgICA6IFN0cmluZygoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbY29sLmtleV0gPz8gJycpO1xuICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgICB9KSk7XG4gICAgcmV0dXJuIE1hdGgubWF4KGhlYWRlcldpZHRoLCBkYXRhV2lkdGgsIDMpO1xuICB9KTtcblxuICBjb25zdCB7IGJvcmRlciB9ID0gVEFCTEVfT1BUSU9OUztcblxuICBjb25zdCBob3Jpem9udGFsTGluZSA9IChsZWZ0OiBzdHJpbmcsIG1pZGRsZTogc3RyaW5nLCByaWdodDogc3RyaW5nKSA9PlxuICAgIC8vIEZpbGwgd2l0aCB0aGUgSE9SSVpPTlRBTCBydWxlIGdseXBoIChg4pSAYCksIG5vdCBgYm9keUpvaW5gIChg4pSCYCkg4oCUIHRoZSBsYXR0ZXJcbiAgICAvLyByZW5kZXJlZCBldmVyeSBydWxlIGFzIGDilIzilILilILilILilILilILilKzigKZgIGluc3RlYWQgb2YgYOKUjOKUgOKUgOKUgOKUgOKUgOKUrOKApmAuXG4gICAgbGVmdCArIGNvbFdpZHRocy5tYXAodyA9PiBib3JkZXIudG9wQm9keS5yZXBlYXQoKHcgPz8gMCkgKyAyKSkuam9pbihtaWRkbGUpICsgcmlnaHQ7XG5cbiAgY29uc3QgdG9wTGluZSA9IGhvcml6b250YWxMaW5lKGJvcmRlci50b3BMZWZ0LCBib3JkZXIudG9wSm9pbiwgYm9yZGVyLnRvcFJpZ2h0KTtcbiAgY29uc3QgbWlkTGluZSA9IGhvcml6b250YWxMaW5lKGJvcmRlci5qb2luTGVmdCwgYm9yZGVyLmpvaW5Kb2luLCBib3JkZXIuam9pblJpZ2h0KTtcbiAgY29uc3QgYm90dG9tTGluZSA9IGhvcml6b250YWxMaW5lKGJvcmRlci5ib3R0b21MZWZ0LCBib3JkZXIuYm90dG9tSm9pbiwgYm9yZGVyLmJvdHRvbVJpZ2h0KTtcblxuICBjb25zdCBmb3JtYXRDZWxsID0gKHZhbHVlOiBzdHJpbmcsIHdpZHRoOiBudW1iZXIsIGFsaWduOiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcgPSAnbGVmdCcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPiB3aWR0aCkgcmV0dXJuIHZhbHVlLnN1YnN0cmluZygwLCB3aWR0aCAtIDMpICsgJy4uLic7XG4gICAgaWYgKGFsaWduID09PSAnY2VudGVyJykge1xuICAgICAgY29uc3QgbGVmdFBhZCA9IE1hdGguZmxvb3IoKHdpZHRoIC0gdmFsdWUubGVuZ3RoKSAvIDIpO1xuICAgICAgcmV0dXJuICcgJy5yZXBlYXQobGVmdFBhZCkgKyB2YWx1ZSArICcgJy5yZXBlYXQod2lkdGggLSB2YWx1ZS5sZW5ndGggLSBsZWZ0UGFkKTtcbiAgICB9XG4gICAgcmV0dXJuIGFsaWduID09PSAncmlnaHQnID8gdmFsdWUucGFkU3RhcnQod2lkdGgpIDogdmFsdWUucGFkRW5kKHdpZHRoKTtcbiAgfTtcblxuICBjb25zdCBoZWFkZXJSb3cgPSBib3JkZXIuYm9keUxlZnQgKyAnICcgK1xuICAgIGNvbHMubWFwKChjb2wsIGkpID0+IGN5YW4oYm9sZChmb3JtYXRDZWxsKGNvbC5oZWFkZXIsIGNvbFdpZHRoc1tpXSA/PyAwKSkpKS5qb2luKGAgJHtib3JkZXIuYm9keUpvaW59IGApICtcbiAgICBgICR7Ym9yZGVyLmJvZHlSaWdodH1gO1xuXG4gIGxldCB0YWJsZSA9IGN5YW4odG9wTGluZSkgKyAnXFxuJyArIGhlYWRlclJvdyArICdcXG4nICsgY3lhbihtaWRMaW5lKSArICdcXG4nO1xuXG4gIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICBjb25zdCByb3cgPSBib3JkZXIuYm9keUxlZnQgKyAnICcgK1xuICAgICAgY29scy5tYXAoKGNvbCwgaSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbC5mb3JtYXR0ZXJcbiAgICAgICAgICA/IGNvbC5mb3JtYXR0ZXIoKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2NvbC5rZXldKVxuICAgICAgICAgIDogU3RyaW5nKChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtjb2wua2V5XSA/PyAnJyk7XG4gICAgICAgIHJldHVybiBmb3JtYXRDZWxsKHZhbHVlLCBjb2xXaWR0aHNbaV0gPz8gMCwgY29sLmFsaWduKTtcbiAgICAgIH0pLmpvaW4oYCAke2JvcmRlci5ib2R5Sm9pbn0gYCkgK1xuICAgICAgYCAke2JvcmRlci5ib2R5UmlnaHR9YDtcbiAgICB0YWJsZSArPSByb3cgKyAnXFxuJztcbiAgfSk7XG5cbiAgdGFibGUgKz0gY3lhbihib3R0b21MaW5lKTtcbiAgcmV0dXJuIHRhYmxlO1xufVxuXG4vLyAtLS0gQ1NWIGZvcm1hdHRpbmcgLS0tXG5cbmZ1bmN0aW9uIGZvcm1hdENzdihkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpIHx8IGRhdGEubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIGNvbnN0IGZpcnN0SXRlbSA9IGRhdGFbMF07XG4gIGlmICh0eXBlb2YgZmlyc3RJdGVtICE9PSAnb2JqZWN0JyB8fCBmaXJzdEl0ZW0gPT09IG51bGwpIHJldHVybiBkYXRhLmpvaW4oJywnKTtcblxuICBjb25zdCBoZWFkZXJzID0gT2JqZWN0LmtleXMoZmlyc3RJdGVtKTtcbiAgY29uc3Qgcm93czogc3RyaW5nW10gPSBbaGVhZGVycy5tYXAoaCA9PiBlc2NhcGVDc3ZWYWx1ZShoKSkuam9pbignLCcpXTtcbiAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgIHJvd3MucHVzaChoZWFkZXJzLm1hcChoID0+IGVzY2FwZUNzdlZhbHVlKChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtoXSkpLmpvaW4oJywnKSk7XG4gIH0pO1xuICByZXR1cm4gcm93cy5qb2luKCdcXG4nKTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlQ3N2VmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICcnO1xuICBjb25zdCBzdHIgPSBTdHJpbmcodmFsdWUpO1xuICBpZiAoc3RyLmluY2x1ZGVzKCcsJykgfHwgc3RyLmluY2x1ZGVzKCdcIicpIHx8IHN0ci5pbmNsdWRlcygnXFxuJykpIHtcbiAgICByZXR1cm4gYFwiJHtzdHIucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImA7XG4gIH1cbiAgcmV0dXJuIHN0cjtcbn1cblxuLy8gLS0tIEZpbGUgb3BlcmF0aW9ucyAtLS1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgZmlsZSBwYXRoIHJlc29sdmVzIHdpdGhpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAqIFByZXZlbnRzIHBhdGggdHJhdmVyc2FsIGF0dGFja3MgKGUuZy4sIC0tb3V0cHV0IC4uLy4uL2V0Yy9wYXNzd2QpLlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZU91dHB1dFBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJlc29sdmVkID0gcGF0aC5yZXNvbHZlKGZpbGVQYXRoKTtcbiAgY29uc3QgY3dkID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCkpO1xuICBpZiAoIXJlc29sdmVkLnN0YXJ0c1dpdGgoY3dkICsgcGF0aC5zZXApICYmIHJlc29sdmVkICE9PSBjd2QpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggdHJhdmVyc2FsIHJlamVjdGVkOiBcIiR7ZmlsZVBhdGh9XCIgcmVzb2x2ZXMgb3V0c2lkZSB0aGUgY3VycmVudCBkaXJlY3RvcnlgKTtcbiAgfVxuICByZXR1cm4gcmVzb2x2ZWQ7XG59XG5cbmZ1bmN0aW9uIHdyaXRlVG9GaWxlKGZpbGVQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgZm9ybWF0OiBPdXRwdXRGb3JtYXQsIGFwcGVuZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2FmZVBhdGggPSB2YWxpZGF0ZU91dHB1dFBhdGgoZmlsZVBhdGgpO1xuICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShzYWZlUGF0aCk7XG4gICAgaWYgKGRpciAhPT0gJy4nKSBlbnN1cmVPdXRwdXREaXJlY3RvcnkoZGlyKTtcblxuICAgIGlmIChhcHBlbmQpIHtcbiAgICAgIGZzLmFwcGVuZEZpbGVTeW5jKHNhZmVQYXRoLCBjb250ZW50ICsgJ1xcbicsICd1dGYtOCcpO1xuICAgICAgcHJpbnRTdWNjZXNzKCdPdXRwdXQgYXBwZW5kZWQgdG8gZmlsZScsIHsgcGF0aDogc2FmZVBhdGgsIGZvcm1hdCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhzYWZlUGF0aCwgY29udGVudCwgJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBzdGF0cyA9IGZzLnN0YXRTeW5jKHNhZmVQYXRoKTtcbiAgICAgIHByaW50U3VjY2VzcygnT3V0cHV0IHNhdmVkIHRvIGZpbGUnLCB7IHBhdGg6IHNhZmVQYXRoLCBmb3JtYXQsIHNpemU6IGZvcm1hdEZpbGVTaXplKHN0YXRzLnNpemUpIH0pO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludEVycm9yKCdGYWlsZWQgdG8gd3JpdGUgZmlsZScsIHtcbiAgICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZShlcnJvciksXG4gICAgfSk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZU91dHB1dERpcmVjdG9yeShvdXRwdXRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKGZzLmV4aXN0c1N5bmMob3V0cHV0UGF0aCkpIHJldHVybjtcbiAgdHJ5IHtcbiAgICBmcy5ta2RpclN5bmMob3V0cHV0UGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgcHJpbnREZWJ1ZygnRGlyZWN0b3J5IGNyZWF0ZWQnLCB7IHBhdGg6IG91dHB1dFBhdGggfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcHJpbnRFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnknLCB7XG4gICAgICBwYXRoOiBvdXRwdXRQYXRoLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZShlcnJvciksXG4gICAgfSk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVFeGlzdHMoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gZnMuZXhpc3RzU3luYyhmaWxlUGF0aCk7XG59XG5cbi8vIC0tLSBEaXNwbGF5IGhlbHBlcnMgLS0tXG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludFNlY3Rpb24odGl0bGU6IHN0cmluZywgc3VidGl0bGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3Qgd2lkdGggPSBwcm9jZXNzLnN0ZG91dC5jb2x1bW5zIHx8IDgwO1xuICBjb25zb2xlLmxvZygnJyk7XG4gIGNvbnNvbGUubG9nKGN5YW4oJ+KVkCcucmVwZWF0KHdpZHRoKSkpO1xuICBjb25zb2xlLmxvZyhjeWFuKGJvbGQodGl0bGUpKSk7XG4gIGlmIChzdWJ0aXRsZSkgY29uc29sZS5sb2coZGltKHN1YnRpdGxlKSk7XG4gIGNvbnNvbGUubG9nKGN5YW4oJ+KVkCcucmVwZWF0KHdpZHRoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRLZXlWYWx1ZShcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIG9wdGlvbnM6IHsgaW5kZW50PzogbnVtYmVyOyBzZXBhcmF0b3I/OiBzdHJpbmcgfSA9IHt9LFxuKTogdm9pZCB7XG4gIGNvbnN0IHsgaW5kZW50ID0gMCwgc2VwYXJhdG9yID0gJ+KUgicgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IG1heEtleUxlbmd0aCA9IE1hdGgubWF4KC4uLk9iamVjdC5rZXlzKGRhdGEpLm1hcChrID0+IGsubGVuZ3RoKSk7XG4gIGNvbnN0IGluZGVudFN0ciA9ICcgJy5yZXBlYXQoaW5kZW50KTtcblxuICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBjb25zdCBwYWRkZWRLZXkgPSBrZXkucGFkRW5kKG1heEtleUxlbmd0aCk7XG4gICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IFN0cmluZyh2YWx1ZSk7XG4gICAgY29uc29sZS5sb2coYCR7aW5kZW50U3RyfSR7ZGltKHBhZGRlZEtleSl9ICR7Y3lhbihzZXBhcmF0b3IpfSAke3doaXRlKGZvcm1hdHRlZFZhbHVlKX1gKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludERpdmlkZXIoY2hhcjogc3RyaW5nID0gJ+KUgCcsIHdpZHRoPzogbnVtYmVyKTogdm9pZCB7XG4gIGNvbnN0IGVmZmVjdGl2ZVdpZHRoID0gd2lkdGggfHwgcHJvY2Vzcy5zdGRvdXQuY29sdW1ucyB8fCA4MDtcbiAgY29uc29sZS5sb2coZGltKGNoYXIucmVwZWF0KGVmZmVjdGl2ZVdpZHRoKSkpO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-config.d.ts","
|
|
1
|
+
{"version":3,"file":"pipeline-config.d.ts","sources":["../../src/utils/pipeline-config.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAuBxG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9F"}
|
|
@@ -53,4 +53,4 @@ export async function printResolvedOrExit(propsWithIds) {
|
|
|
53
53
|
}
|
|
54
54
|
console.log(JSON.stringify(propsWithIds, null, 2));
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtY29uZmlnLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGlwZWxpbmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFTdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWM1RDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsTUFBaUIsRUFBRSxVQUFrQjtJQUM1RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUEwQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdEcsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQVcsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUE0QjtRQUM1QyxHQUFJLFFBQVEsQ0FBQyxLQUFpQztRQUM5QyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEQsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLElBQUksVUFBVTtLQUN0QyxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQW9CLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGVBQWUsR0FBRyxNQUFNLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxZQUFZLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUMvQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDakYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxZQUFxQztJQUM3RSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ25GLE1BQU0sS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ3ZGLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssYUFBYSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RyxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BDLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogU2hhcmVkIHBpcGVsaW5lLWNvbmZpZyByZXNvbHV0aW9uIHVzZWQgYnkgYm90aCBgc3ludGhgIGFuZCBgZGVwbG95YCBzbyB0aGUgdHdvXG4gKiBjb21tYW5kcyBmZXRjaCwgcGx1Z2luLXJlc29sdmUsIHJlZ2lzdHJ5LWJha2UsIGFuZCB0ZW1wbGF0ZS1wcmV2aWV3IGlkZW50aWNhbGx5LlxuICovXG5cbmltcG9ydCB0eXBlIHsgTG9va3VwV2FybmluZyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBBcGlDbGllbnQgfSBmcm9tICcuL2FwaS1jbGllbnQuanMnO1xuaW1wb3J0IHsgcHJpbnRJbmZvIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBsdWdpbnNGb3JQcm9wcyB9IGZyb20gJy4vcGx1Z2luLXJlc29sdmVyLmpzJztcbmltcG9ydCB7IGJha2VQbGF0Zm9ybVJlZ2lzdHJ5IH0gZnJvbSAnLi9yZWdpc3RyeS5qcyc7XG5pbXBvcnQgeyBleHRyYWN0U2luZ2xlUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlLXV0aWxzLmpzJztcbmltcG9ydCB0eXBlIHsgUGlwZWxpbmUgfSBmcm9tICcuLi90eXBlcy9waXBlbGluZS5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hlZFBpcGVsaW5lIHtcbiAgLyoqIFRoZSByYXcgcGlwZWxpbmUgcmVjb3JkIChpZC9vcmcvcHJvamVjdC9mbGFncykgYXMgcmV0dXJuZWQgYnkgdGhlIHBsYXRmb3JtLiAqL1xuICByZWFkb25seSBwaXBlbGluZTogUGlwZWxpbmU7XG4gIC8qKiBwcm9wcyArIHBpcGVsaW5lSWQgKCsgb3JnSWQpICsgcmVzb2x2ZWRQbHVnaW5zLCB3aXRoIHRoZSByZWdpc3RyeSBwdWxsLWhvc3QgYmFrZWQgaW4uICovXG4gIHJlYWRvbmx5IHByb3BzV2l0aElkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBUaGUgcmVzb2x2ZWQgcGxhdGZvcm0gYmFzZSBVUkwgdGhlIGNvbmZpZyB3YXMgZmV0Y2hlZCBhZ2FpbnN0LiAqL1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gIC8qKiBFdmVyeSBncmFkZWQgbG9va3VwIHdhcm5pbmcgKGFscmVhZHkgcHJpbnRlZCkg4oCUIGZvciB0aGUgZW5kLW9mLXJ1biBzdW1tYXJ5LiAqL1xuICByZWFkb25seSBwbHVnaW5XYXJuaW5nczogcmVhZG9ubHkgTG9va3VwV2FybmluZ1tdO1xufVxuXG4vKipcbiAqIEZldGNoIGEgcGlwZWxpbmUgYnkgaWQgYW5kIGJ1aWxkIHRoZSBzeW50aC9kZXBsb3kgcHJvcHM6XG4gKiAgLSBHRVQgdGhlIHBpcGVsaW5lIGFuZCB2YWxpZGF0ZSBpdCBoYXMgYHByb3BzYCxcbiAqICAtIGFzc2VtYmxlIGBwcm9wc1dpdGhJZHNgIChwcm9wcyArIHBpcGVsaW5lSWQgKyBvcmdJZCksXG4gKiAgLSBwcmUtcmVzb2x2ZSBwbHVnaW5zIHNvIHRoZSB0ZW1wbGF0ZSBzaGlwcyByZWFsIENvZGVCdWlsZCBpbWFnZSBVUklzXG4gKiAgICAob3RoZXJ3aXNlIENESyBmYWxscyBiYWNrIHRvIHN0YW5kYXJkOjcuMCBhdCBkZXBsb3kgdGltZSksXG4gKiAgLSBiYWtlIHRoZSByZWdpc3RyeSBwdWxsLWhvc3QgZnJvbSB0aGUgcGxhdGZvcm0gVVJMIChuby1vcCB3aGVuXG4gKiAgICBJTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1QgaXMgc2V0KS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoUGlwZWxpbmVQcm9wcyhjbGllbnQ6IEFwaUNsaWVudCwgcGlwZWxpbmVJZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaGVkUGlwZWxpbmU+IHtcbiAgY29uc3QgY29uZmlnID0gY2xpZW50LmdldENvbmZpZygpO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KGAke2NvbmZpZy5hcGkucGlwZWxpbmVVcmx9LyR7cGlwZWxpbmVJZH1gKTtcbiAgY29uc3QgcGlwZWxpbmUgPSBleHRyYWN0U2luZ2xlUmVzcG9uc2U8UGlwZWxpbmU+KHJlc3BvbnNlLCAncGlwZWxpbmUnLCAncHJvcHMnKTtcbiAgaWYgKCFwaXBlbGluZT8ucHJvcHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBwaXBlbGluZSBwcm9wcyBmb3IgSUQ6ICR7cGlwZWxpbmVJZH1gKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BzV2l0aElkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgLi4uKHBpcGVsaW5lLnByb3BzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSxcbiAgICAuLi4ocGlwZWxpbmUub3JnSWQgPyB7IG9yZ0lkOiBwaXBlbGluZS5vcmdJZCB9IDoge30pLFxuICAgIHBpcGVsaW5lSWQ6IHBpcGVsaW5lLmlkIHx8IHBpcGVsaW5lSWQsXG4gIH07XG5cbiAgY29uc3QgcGx1Z2luV2FybmluZ3M6IExvb2t1cFdhcm5pbmdbXSA9IFtdO1xuICBjb25zdCByZXNvbHZlZFBsdWdpbnMgPSBhd2FpdCByZXNvbHZlUGx1Z2luc0ZvclByb3BzKGNsaWVudCwgcHJvcHNXaXRoSWRzLCBwbHVnaW5XYXJuaW5ncyk7XG4gIGlmIChPYmplY3Qua2V5cyhyZXNvbHZlZFBsdWdpbnMpLmxlbmd0aCA+IDApIHtcbiAgICBwcm9wc1dpdGhJZHMucmVzb2x2ZWRQbHVnaW5zID0gcmVzb2x2ZWRQbHVnaW5zO1xuICAgIHByaW50SW5mbygnUHJlLXJlc29sdmVkIHBsdWdpbnMnLCB7IGNvdW50OiBPYmplY3Qua2V5cyhyZXNvbHZlZFBsdWdpbnMpLmxlbmd0aCB9KTtcbiAgfVxuXG4gIGJha2VQbGF0Zm9ybVJlZ2lzdHJ5KHByb3BzV2l0aElkcywgY29uZmlnLmFwaS5iYXNlVXJsKTtcbiAgcmV0dXJuIHsgcGlwZWxpbmUsIHByb3BzV2l0aElkcywgYmFzZVVybDogY29uZmlnLmFwaS5iYXNlVXJsLCBwbHVnaW5XYXJuaW5ncyB9O1xufVxuXG4vKipcbiAqIEFwcGx5IHBhc3MtMSBzZWxmLXJlZmVyZW5jaW5nIHRlbXBsYXRlIHJlc29sdXRpb24gdG8gYHByb3BzV2l0aElkc2AgYW5kIHByaW50IGl0XG4gKiB0byBzdGRvdXQgKHVzZWQgYnkgYHN5bnRoIC0tc2hvdy1yZXNvbHZlZGAgLyBgZGVwbG95IC0tc2hvdy1yZXNvbHZlZGApLiBFeGl0cyB3aXRoXG4gKiBjb2RlIDEgaWYgcmVzb2x1dGlvbiByZXBvcnRzIGVycm9ycy4gYHJlc29sdmVTZWxmUmVmZXJlbmNpbmdgIG11dGF0ZXMgdGhlIG9iamVjdFxuICogaW4gcGxhY2UsIHNvIHRoZSBwcmludGVkIEpTT04gcmVmbGVjdHMgdGhlIGV4cGFuZGVkIHRlbXBsYXRlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByaW50UmVzb2x2ZWRPckV4aXQocHJvcHNXaXRoSWRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHJlc29sdmVTZWxmUmVmZXJlbmNpbmcgfSA9IGF3YWl0IGltcG9ydCgnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtY29yZScpO1xuICBjb25zdCBzY29wZSA9IHsgbWV0YWRhdGE6IHByb3BzV2l0aElkcy5tZXRhZGF0YSA/PyB7fSwgdmFyczogcHJvcHNXaXRoSWRzLnZhcnMgPz8ge30gfTtcbiAgY29uc3QgaXNUcGwgPSAoZjogc3RyaW5nKSA9PiBmID09PSAncHJvamVjdE5hbWUnIHx8IGYuc3RhcnRzV2l0aCgnbWV0YWRhdGEuJykgfHwgZi5zdGFydHNXaXRoKCd2YXJzLicpO1xuICBjb25zdCByZXN1bHQgPSByZXNvbHZlU2VsZlJlZmVyZW5jaW5nKHByb3BzV2l0aElkcywgc2NvcGUsIGlzVHBsLCAoZjogc3RyaW5nKSA9PiAoaXNUcGwoZikgPyBmIDogbnVsbCkpO1xuICBpZiAocmVzdWx0LmVycm9ycy5sZW5ndGgpIHtcbiAgICBjb25zb2xlLmVycm9yKCdSZXNvbHV0aW9uIGVycm9yczonKTtcbiAgICBmb3IgKGNvbnN0IGUgb2YgcmVzdWx0LmVycm9ycykgY29uc29sZS5lcnJvcihgICBbJHtlLmZpZWxkID8/ICc/J31dICR7ZS5tZXNzYWdlfWApO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShwcm9wc1dpdGhJZHMsIG51bGwsIDIpKTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-secret.d.ts","
|
|
1
|
+
{"version":3,"file":"platform-secret.d.ts","sources":["../../src/utils/platform-secret.ts"],"names":[],"mappings":"AAoBA,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAmB,GAAG,MAAM,CAEjF;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAevD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAY/F"}
|
|
@@ -113,4 +113,4 @@ export async function resolvePlatformSecretName(options) {
|
|
|
113
113
|
}
|
|
114
114
|
return resolveSecretName(process.env.PLATFORM_TOKEN);
|
|
115
115
|
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tc2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsYXRmb3JtLXNlY3JldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBZ0JuRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsSUFBSSxHQUFXLFVBQVU7SUFDdkUsT0FBTyxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7QUFDakUsQ0FBQztBQUVELHlGQUF5RjtBQUN6RixNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWE7SUFDM0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLDZFQUE2RTtJQUM3RSw4RUFBOEU7SUFDOUUsbUVBQW1FO0lBQ25FLElBQUksY0FBYyxDQUFDLEtBQUss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QU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsSUFBSSxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDOUIsTUFBTSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLGdGQUFnRjtjQUM5RSxtREFBbUQ7Y0FDbkQscUVBQXFFLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBTaGFyZWQgcGxhdGZvcm0tdG9rZW4g4oaSIHNlY3JldC1uYW1lIHJlc29sdXRpb24sIHVzZWQgYnkgYm90aCBgc3RvcmUtdG9rZW5gXG4gKiAod2hpY2ggV1JJVEVTIHRoZSBKV1QgdG8gU2VjcmV0cyBNYW5hZ2VyKSBhbmQgYHNldHVwLWV2ZW50c2AgKHdoaWNoIGRlcGxveXMgdGhlXG4gKiBMYW1iZGEgdGhhdCBSRUFEUyBpdCkuIEJvdGggbXVzdCBhZ3JlZSBvbiB0aGUgc2FtZSBzZWNyZXQgcGF0aCwgc28gdGhlIGxvZ2ljXG4gKiBsaXZlcyBoZXJlIG9uY2U6IGRlcml2ZSBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gIGZyb20gdGhlIEpXVCdzXG4gKiBvcmdhbml6YXRpb25JZCwgbG9nZ2luZyBpbiBmaXJzdCBpZiBuZWVkZWQgdG8gb2J0YWluIHRoZSB0b2tlbi5cbiAqL1xuXG5pbXBvcnQgeyBpc09wYXF1ZUFwaUtleSB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IENvcmVDb25zdGFudHMgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBkZWNvZGVUb2tlblBheWxvYWQgfSBmcm9tICcuL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgZ2V0QXBpQ29uZmlnIH0gZnJvbSAnLi9jb25maWctbG9hZGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IHJlcXVlc3RDb3JyZWxhdGlvbkhlYWRlcnMgfSBmcm9tICcuL3JlcXVlc3QtY29udGV4dC5qcyc7XG5pbXBvcnQgeyBhc3NlcnRTc2xEaXNhYmxlQWxsb3dlZCB9IGZyb20gJy4vdGxzLmpzJztcblxuLyoqIExvZ2luL3NlY3JldCBvcHRpb25zIHNoYXJlZCBhY3Jvc3MgdGhlIHBsYXRmb3JtLXNlY3JldCBoZWxwZXJzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGF0Zm9ybVNlY3JldE9wdGlvbnMge1xuICAvKipcbiAgICogTG9naW4gaWRlbnRpZmllciAodXNlcm5hbWUgT1IgZW1haWwpIGZvciB0aGUgTk9OLUlOVEVSQUNUSVZFIG1hY2hpbmUgbG9naW5cbiAgICogYmVsb3cuIFRoaXMgaXMgdGhlIG9ubHkgcGFzc3dvcmQgcGF0aCBsZWZ0IGluIHRoZSBDTEk6IGBhdXRoIGxvZ2luYCBhbmRcbiAgICogYGF1dGggcGF0YCBzaWduIGluIHRocm91Z2ggdGhlIGJyb3dzZXIgKGRldmljZSBhdXRob3JpemF0aW9uKSwgYnV0XG4gICAqIGBzdG9yZS10b2tlbmAgLyBgc2V0dXAtZXZlbnRzYCBydW4gb24gaG9zdHMgd2l0aCBub2JvZHkgcHJlc2VudCB0byBhcHByb3ZlIGFcbiAgICogY29kZSwgYW5kIHdoYXQgdGhleSBtaW50IGlzIGEgbWFjaGluZSBjcmVkZW50aWFsLCBub3QgYSBwZXJzb24ncyBzZXNzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpZmllcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcmlmeVNzbD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIFNlY3JldHMgTWFuYWdlciBwYXRoIGEgc3RvcmVkIG1hY2hpbmUgY3JlZGVudGlhbCBsaXZlcyBhdDpcbiAqIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS97bGVhZn1gLlxuICpcbiAqIGBsZWFmYCBpcyBgcGxhdGZvcm1gIGZvciB0aGUgb3JnJ3MgZnVsbC1wcml2aWxlZ2UgYXV0b21hdGlvbiBjcmVkZW50aWFsLCBhbmRcbiAqIHRoZSBzY29wZSdzIHNsdWcgKGByZXBvcnRpbmctaW5nZXN0YCwgYHJlZ2lzdHJ5LXB1c2hgKSBmb3IgYSBsZWFzdC1wcml2aWxlZ2VcbiAqIG9uZSDigJQgc28gYSBzY29wZWQgY3JlZGVudGlhbCBjYW4gbmV2ZXIgY2xvYmJlciB0aGUgcGxhdGZvcm0gb25lLCBhbmQgdGhlXG4gKiBldmVudHMgTGFtYmRhJ3Mgc2VjcmV0IGlzIGEgZGlmZmVyZW50IG9iamVjdCBmcm9tIENvZGVCdWlsZCdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VjcmV0TmFtZUZvck9yZyhvcmdJZDogc3RyaW5nLCBsZWFmOiBzdHJpbmcgPSAncGxhdGZvcm0nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke0NvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWH0vJHtvcmdJZH0vJHtsZWFmfWA7XG59XG5cbi8qKiBBIGNhcGFiaWxpdHkgc2NvcGUgYXMgYSBzZWNyZXQtcGF0aCBsZWFmOiBgcmVwb3J0aW5nOmluZ2VzdGAg4oaSIGByZXBvcnRpbmctaW5nZXN0YC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY29wZVNlY3JldExlYWYoc2NvcGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzY29wZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCAnLScpO1xufVxuXG4vKipcbiAqIERlcml2ZSB0aGUgcGxhdGZvcm0gc2VjcmV0IHBhdGggZnJvbSBhIEpXVCdzIG9yZ2FuaXphdGlvbklkLlxuICogUGF0dGVybjogYHtTRUNSRVRTX1BBVEhfUFJFRklYfS97b3JnSWR9L3BsYXRmb3JtYC5cbiAqIEB0aHJvd3MgaWYgdGhlIHRva2VuIGNhcnJpZXMgbm8gb3JnYW5pemF0aW9uSWQgKGNhbGxlciBzaG91bGQgZmFsbCBiYWNrIHRvIFBMQVRGT1JNX1NFQ1JFVF9OQU1FKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTZWNyZXROYW1lKHRva2VuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBBbiBBQ0NFU1MgS0VZIChgcGJfcGF0X+KApmApIGlzIG9wYXF1ZSDigJQgaXQgY2FycmllcyBubyBvcmcgY2xhaW0gdG8gcmVhZCwgYnlcbiAgLy8gZGVzaWduLiBTYXkgc28gaW5zdGVhZCBvZiB0aGUgZ2VuZXJpYyBkZWNvZGUgZmFpbHVyZSwgc2luY2UgZXhwb3J0aW5nIGEga2V5XG4gIC8vIGFzIFBMQVRGT1JNX1RPS0VOIGlzIG5vdyB0aGUgbm9ybWFsIHdheSB0byBhdXRoZW50aWNhdGUgdGhlIENMSS5cbiAgaWYgKGlzT3BhcXVlQXBpS2V5KHRva2VuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdQTEFURk9STV9UT0tFTiBpcyBhbiBvcGFxdWUgYWNjZXNzIGtleSwgd2hpY2ggY2FycmllcyBubyBvcmdhbml6YXRpb25JZCDigJQgc2V0IFBMQVRGT1JNX1NFQ1JFVF9OQU1FIHRvIG5hbWUgdGhlIHNlY3JldCBleHBsaWNpdGx5LicsXG4gICAgKTtcbiAgfVxuICBjb25zdCBwYXlsb2FkID0gZGVjb2RlVG9rZW5QYXlsb2FkKHRva2VuKTtcbiAgY29uc3Qgb3JnSWQgPSBwYXlsb2FkPy5vcmdhbml6YXRpb25JZDtcbiAgaWYgKCFvcmdJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVG9rZW4gZG9lcyBub3QgY29udGFpbiBvcmdhbml6YXRpb25JZCDigJQgY2Fubm90IGRlcml2ZSBzZWNyZXQgbmFtZS4gU2V0IFBMQVRGT1JNX1NFQ1JFVF9OQU1FIHRvIHNwZWNpZnkgaXQgZXhwbGljaXRseS4nKTtcbiAgfVxuICByZXR1cm4gc2VjcmV0TmFtZUZvck9yZyhvcmdJZCk7XG59XG5cbi8qKlxuICogRW5zdXJlIGBwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTmAgaXMgc2V0LiBOby1vcCBpZiBpdCBhbHJlYWR5IGlzLiBPdGhlcndpc2UsXG4gKiBpZiBsb2dpbiBjcmVkcyBhcmUgYXZhaWxhYmxlIChgLS1pZGVudGlmaWVyLy0tcGFzc3dvcmRgIG9yIGBQTEFURk9STV9JREVOVElGSUVSYC9cbiAqIGBQTEFURk9STV9QQVNTV09SRGAgZW52IOKAlCB0aGUgZW52IHBhdGggbGV0cyBgcHJvdmlzaW9uYCBwYXNzIGNyZWRzIHdpdGhvdXRcbiAqIHB1dHRpbmcgdGhlIHBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUpLCBsb2cgaW4gYW5kIHNldCBQTEFURk9STV9UT0tFTi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZVBsYXRmb3JtVG9rZW4ob3B0aW9uczogUGxhdGZvcm1TZWNyZXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTikgcmV0dXJuO1xuICBjb25zdCBsb2dpbklkZW50aWZpZXIgPSBvcHRpb25zLmlkZW50aWZpZXIgfHwgcHJvY2Vzcy5lbnYuUExBVEZPUk1fSURFTlRJRklFUjtcbiAgY29uc3QgbG9naW5QYXNzd29yZCA9IG9wdGlvbnMucGFzc3dvcmQgfHwgcHJvY2Vzcy5lbnYuUExBVEZPUk1fUEFTU1dPUkQ7XG4gIGlmICghbG9naW5JZGVudGlmaWVyIHx8ICFsb2dpblBhc3N3b3JkKSByZXR1cm47XG5cbiAgaWYgKG9wdGlvbnMucGFzc3dvcmQpIHtcbiAgICBwcmludFdhcm5pbmcoJ1Bhc3NpbmcgLS1wYXNzd29yZCBvbiB0aGUgY29tbWFuZCBsaW5lIGNhbiBleHBvc2UgaXQgdmlhIHNoZWxsIGhpc3Rvcnk7IHByZWZlciB0aGUgUExBVEZPUk1fUEFTU1dPUkQgZW52IHZhci4nKTtcbiAgfVxuXG4gIHByaW50U2VjdGlvbignTG9naW4nKTtcbiAgcHJpbnRJbmZvKCdBdXRoZW50aWNhdGluZyB3aXRoIGlkZW50aWZpZXIvcGFzc3dvcmQuLi4nKTtcbiAgLy8gUmVzb2x2ZSB0aGUgYmFzZSBVUkwgV0lUSE9VVCBkZW1hbmRpbmcgYSB0b2tlbiDigJQgdGhpcyBsb2dpbiBzdGVwIHJ1bnNcbiAgLy8gcHJlLWF1dGggKG5vIFBMQVRGT1JNX1RPS0VOIHlldCksIHNvIGBnZXRDb25maWcoKWAgd291bGQgdGhyb3cgaGVyZS4gVGhlXG4gIC8vIHRva2VuLW9wdGlvbmFsIGxvYWRlciBzdGlsbCBob25vcnMgY29uZmlnIGZpbGVzICsgUExBVEZPUk1fQkFTRV9VUkwvVExTIGVudi5cbiAgY29uc3QgYXBpQ29uZmlnID0gZ2V0QXBpQ29uZmlnKCk7XG4gIC8vIFNFQ1VSSVRZOiB0aGlzIGlubGluZSBsb2dpbiBQT1NUcyB0aGUgcGFzc3dvcmQuIFJlZnVzZSB0byBkaXNhYmxlIGNlcnRcbiAgLy8gdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gKG1pcnJvcnMgY29uZmlnLWxvYWRlciAvIGxvZ2luKSBzbyBhIE1JVE0gY2FuJ3RcbiAgLy8gaGFydmVzdCBpdDsgaG9ub3JlZCBpbiBub24tcHJvZHVjdGlvbiBmb3Igc2VsZi1zaWduZWQgZGV2IHBsYXRmb3Jtcy5cbiAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSkge1xuICAgIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKCdpbmxpbmUgbG9naW4nKTtcbiAgfVxuICBjb25zdCByZWplY3RVbmF1dGhvcml6ZWQgPSBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyBmYWxzZSA6IGFwaUNvbmZpZy5hcGkucmVqZWN0VW5hdXRob3JpemVkO1xuICBjb25zdCBsb2dpblJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcbiAgICBgJHthcGlDb25maWcuYXBpLmJhc2VVcmx9L2FwaS9hdXRoL2xvZ2luYCxcbiAgICAvLyBUaGUgc2VydmVyJ3MgbG9naW5TY2hlbWEgcmVxdWlyZXMgYGlkZW50aWZpZXJgIChlbWFpbCBPUiB1c2VybmFtZSksIG5vdFxuICAgIC8vIGBlbWFpbGAg4oCUIHNlbmRpbmcgYGVtYWlsYCBmYWlscyB6b2QgdmFsaWRhdGlvbiB3aXRoIGEgNDAwLlxuICAgIHsgaWRlbnRpZmllcjogbG9naW5JZGVudGlmaWVyLCBwYXNzd29yZDogbG9naW5QYXNzd29yZCB9LFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IHJlcXVlc3RDb3JyZWxhdGlvbkhlYWRlcnMoKSxcbiAgICAgIGh0dHBzQWdlbnQ6IHJlamVjdFVuYXV0aG9yaXplZCA9PT0gZmFsc2VcbiAgICAgICAgPyBuZXcgKGF3YWl0IGltcG9ydCgnaHR0cHMnKSkuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICk7XG4gIGNvbnN0IGxvZ2luRGF0YSA9IGxvZ2luUmVzcG9uc2UuZGF0YT8uZGF0YSA/PyBsb2dpblJlc3BvbnNlLmRhdGE7XG4gIGNvbnN0IGxvZ2luVG9rZW4gPSBsb2dpbkRhdGE/LmFjY2Vzc1Rva2VuO1xuICBpZiAoIWxvZ2luVG9rZW4gfHwgdHlwZW9mIGxvZ2luVG9rZW4gIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdMb2dpbiBmYWlsZWQg4oCUIG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICB9XG4gIHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOID0gbG9naW5Ub2tlbjtcbiAgcHJpbnRTdWNjZXNzKCdMb2dpbiBzdWNjZXNzZnVsJyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgcGxhdGZvcm0gc2VjcmV0IG5hbWU6IGFuIGV4cGxpY2l0IGBQTEFURk9STV9TRUNSRVRfTkFNRWAgZW52IHdpbnM7XG4gKiBvdGhlcndpc2UgbG9nIGluIGlmIG5lZWRlZCBhbmQgZGVyaXZlIGl0IGZyb20gdGhlIHBsYXRmb3JtIHRva2VuJ3Mgb3JnIOKAlCB0aGVcbiAqIHNhbWUgdG9rZW4gYGluaXQtcGxhdGZvcm0uc2hgIChyZWdpc3RlcikgbWludHMsIHNvIHdyaXRlciBhbmQgcmVhZGVyIGFncmVlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZShvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBleHBsaWNpdCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FO1xuICBpZiAoZXhwbGljaXQpIHJldHVybiBleHBsaWNpdDtcbiAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcbiAgaWYgKCFwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDYW5ub3QgZGVyaXZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgbmFtZTogbm8gUExBVEZPUk1fVE9LRU4gYW5kIG5vIGxvZ2luIGNyZWRzLiAnXG4gICAgICArICdTZXQgUExBVEZPUk1fU0VDUkVUX05BTUUsIG9yIHByb3ZpZGUgbG9naW4gY3JlZHMgJ1xuICAgICAgKyAnKC0taWRlbnRpZmllci8tLXBhc3N3b3JkIG9yIFBMQVRGT1JNX0lERU5USUZJRVIvUExBVEZPUk1fUEFTU1dPUkQpLicsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzb2x2ZVNlY3JldE5hbWUocHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU4pO1xufVxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tc2VjcmV0LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGxhdGZvcm0tc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFnQm5EOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxJQUFJLEdBQVcsVUFBVTtJQUN2RSxPQUFPLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRUQseUZBQXlGO0FBQ3pGLE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWE7SUFDN0MsNkVBQTZFO0lBQzdFLDhFQUE4RTtJQUM5RSxtRUFBbUU7SUFDbkUsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztR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QyxvQkFBb0IsQ0FBQztJQUNsRCxJQUFJLFFBQVE7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM5QixNQUFNLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0ZBQWdGO2NBQzlFLG1EQUFtRDtjQUNuRCxxRUFBcUUsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFNoYXJlZCBwbGF0Zm9ybS10b2tlbiDihpIgc2VjcmV0LW5hbWUgcmVzb2x1dGlvbiwgdXNlZCBieSBib3RoIGBzdG9yZS10b2tlbmBcbiAqICh3aGljaCBXUklURVMgdGhlIEpXVCB0byBTZWNyZXRzIE1hbmFnZXIpIGFuZCBgc2V0dXAtZXZlbnRzYCAod2hpY2ggZGVwbG95cyB0aGVcbiAqIExhbWJkYSB0aGF0IFJFQURTIGl0KS4gQm90aCBtdXN0IGFncmVlIG9uIHRoZSBzYW1lIHNlY3JldCBwYXRoLCBzbyB0aGUgbG9naWNcbiAqIGxpdmVzIGhlcmUgb25jZTogZGVyaXZlIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAgZnJvbSB0aGUgSldUJ3NcbiAqIG9yZ2FuaXphdGlvbklkLCBsb2dnaW5nIGluIGZpcnN0IGlmIG5lZWRlZCB0byBvYnRhaW4gdGhlIHRva2VuLlxuICovXG5cbmltcG9ydCB7IGlzT3BhcXVlQXBpS2V5IH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50cyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGRlY29kZVRva2VuUGF5bG9hZCB9IGZyb20gJy4vYXV0aC1ndWFyZC5qcyc7XG5pbXBvcnQgeyBnZXRBcGlDb25maWcgfSBmcm9tICcuL2NvbmZpZy1sb2FkZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRJbmZvLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVxdWVzdENvcnJlbGF0aW9uSGVhZGVycyB9IGZyb20gJy4vcmVxdWVzdC1jb250ZXh0LmpzJztcbmltcG9ydCB7IGFzc2VydFNzbERpc2FibGVBbGxvd2VkIH0gZnJvbSAnLi90bHMuanMnO1xuXG4vKiogTG9naW4vc2VjcmV0IG9wdGlvbnMgc2hhcmVkIGFjcm9zcyB0aGUgcGxhdGZvcm0tc2VjcmV0IGhlbHBlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRmb3JtU2VjcmV0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMb2dpbiBpZGVudGlmaWVyICh1c2VybmFtZSBPUiBlbWFpbCkgZm9yIHRoZSBOT04tSU5URVJBQ1RJVkUgbWFjaGluZSBsb2dpblxuICAgKiBiZWxvdy4gVGhpcyBpcyB0aGUgb25seSBwYXNzd29yZCBwYXRoIGxlZnQgaW4gdGhlIENMSTogYGF1dGggbG9naW5gIGFuZFxuICAgKiBgYXV0aCBwYXRgIHNpZ24gaW4gdGhyb3VnaCB0aGUgYnJvd3NlciAoZGV2aWNlIGF1dGhvcml6YXRpb24pLCBidXRcbiAgICogYHN0b3JlLXRva2VuYCAvIGBzZXR1cC1ldmVudHNgIHJ1biBvbiBob3N0cyB3aXRoIG5vYm9keSBwcmVzZW50IHRvIGFwcHJvdmUgYVxuICAgKiBjb2RlLCBhbmQgd2hhdCB0aGV5IG1pbnQgaXMgYSBtYWNoaW5lIGNyZWRlbnRpYWwsIG5vdCBhIHBlcnNvbidzIHNlc3Npb24uXG4gICAqL1xuICByZWFkb25seSBpZGVudGlmaWVyPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgU2VjcmV0cyBNYW5hZ2VyIHBhdGggYSBzdG9yZWQgbWFjaGluZSBjcmVkZW50aWFsIGxpdmVzIGF0OlxuICogYHtTRUNSRVRTX1BBVEhfUFJFRklYfS97b3JnSWR9L3tsZWFmfWAuXG4gKlxuICogYGxlYWZgIGlzIGBwbGF0Zm9ybWAgZm9yIHRoZSBvcmcncyBmdWxsLXByaXZpbGVnZSBhdXRvbWF0aW9uIGNyZWRlbnRpYWwsIGFuZFxuICogdGhlIHNjb3BlJ3Mgc2x1ZyAoYHJlcG9ydGluZy1pbmdlc3RgLCBgcmVnaXN0cnktcHVzaGApIGZvciBhIGxlYXN0LXByaXZpbGVnZVxuICogb25lIOKAlCBzbyBhIHNjb3BlZCBjcmVkZW50aWFsIGNhbiBuZXZlciBjbG9iYmVyIHRoZSBwbGF0Zm9ybSBvbmUsIGFuZCB0aGVcbiAqIGV2ZW50cyBMYW1iZGEncyBzZWNyZXQgaXMgYSBkaWZmZXJlbnQgb2JqZWN0IGZyb20gQ29kZUJ1aWxkJ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWNyZXROYW1lRm9yT3JnKG9yZ0lkOiBzdHJpbmcsIGxlYWY6IHN0cmluZyA9ICdwbGF0Zm9ybScpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Q29yZUNvbnN0YW50cy5TRUNSRVRTX1BBVEhfUFJFRklYfS8ke29yZ0lkfS8ke2xlYWZ9YDtcbn1cblxuLyoqIEEgY2FwYWJpbGl0eSBzY29wZSBhcyBhIHNlY3JldC1wYXRoIGxlYWY6IGByZXBvcnRpbmc6aW5nZXN0YCDihpIgYHJlcG9ydGluZy1pbmdlc3RgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjb3BlU2VjcmV0TGVhZihzY29wZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHNjb3BlLnJlcGxhY2UoL1teYS16MC05XSsvZ2ksICctJyk7XG59XG5cbi8qKlxuICogRGVyaXZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgcGF0aCBmcm9tIGEgSldUJ3Mgb3JnYW5pemF0aW9uSWQuXG4gKiBQYXR0ZXJuOiBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gLlxuICogQHRocm93cyBpZiB0aGUgdG9rZW4gY2FycmllcyBubyBvcmdhbml6YXRpb25JZCAoY2FsbGVyIHNob3VsZCBmYWxsIGJhY2sgdG8gUExBVEZPUk1fU0VDUkVUX05BTUUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNlY3JldE5hbWUodG9rZW46IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIEFuIEFDQ0VTUyBLRVkgKGBwYl9wYXRf4oCmYCkgaXMgb3BhcXVlIOKAlCBpdCBjYXJyaWVzIG5vIG9yZyBjbGFpbSB0byByZWFkLCBieVxuICAvLyBkZXNpZ24uIFNheSBzbyBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGRlY29kZSBmYWlsdXJlLCBzaW5jZSBleHBvcnRpbmcgYSBrZXlcbiAgLy8gYXMgUExBVEZPUk1fVE9LRU4gaXMgbm93IHRoZSBub3JtYWwgd2F5IHRvIGF1dGhlbnRpY2F0ZSB0aGUgQ0xJLlxuICBpZiAoaXNPcGFxdWVBcGlLZXkodG9rZW4pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1BMQVRGT1JNX1RPS0VOIGlzIGFuIG9wYXF1ZSBhY2Nlc3Mga2V5LCB3aGljaCBjYXJyaWVzIG5vIG9yZ2FuaXphdGlvbklkIOKAlCBzZXQgUExBVEZPUk1fU0VDUkVUX05BTUUgdG8gbmFtZSB0aGUgc2VjcmV0IGV4cGxpY2l0bHkuJyxcbiAgICApO1xuICB9XG4gIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQodG9rZW4pO1xuICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkO1xuICBpZiAoIW9yZ0lkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUb2tlbiBkb2VzIG5vdCBjb250YWluIG9yZ2FuaXphdGlvbklkIOKAlCBjYW5ub3QgZGVyaXZlIHNlY3JldCBuYW1lLiBTZXQgUExBVEZPUk1fU0VDUkVUX05BTUUgdG8gc3BlY2lmeSBpdCBleHBsaWNpdGx5LicpO1xuICB9XG4gIHJldHVybiBzZWNyZXROYW1lRm9yT3JnKG9yZ0lkKTtcbn1cblxuLyoqXG4gKiBFbnN1cmUgYHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOYCBpcyBzZXQuIE5vLW9wIGlmIGl0IGFscmVhZHkgaXMuIE90aGVyd2lzZSxcbiAqIGlmIGxvZ2luIGNyZWRzIGFyZSBhdmFpbGFibGUgKGAtLWlkZW50aWZpZXIvLS1wYXNzd29yZGAgb3IgYFBMQVRGT1JNX0lERU5USUZJRVJgL1xuICogYFBMQVRGT1JNX1BBU1NXT1JEYCBlbnYg4oCUIHRoZSBlbnYgcGF0aCBsZXRzIGBwcm92aXNpb25gIHBhc3MgY3JlZHMgd2l0aG91dFxuICogcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlIGNvbW1hbmQgbGluZSksIGxvZyBpbiBhbmQgc2V0IFBMQVRGT1JNX1RPS0VOLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKSByZXR1cm47XG4gIGNvbnN0IGxvZ2luSWRlbnRpZmllciA9IG9wdGlvbnMuaWRlbnRpZmllciB8fCBwcm9jZXNzLmVudi5QTEFURk9STV9JREVOVElGSUVSO1xuICBjb25zdCBsb2dpblBhc3N3b3JkID0gb3B0aW9ucy5wYXNzd29yZCB8fCBwcm9jZXNzLmVudi5QTEFURk9STV9QQVNTV09SRDtcbiAgaWYgKCFsb2dpbklkZW50aWZpZXIgfHwgIWxvZ2luUGFzc3dvcmQpIHJldHVybjtcblxuICBpZiAob3B0aW9ucy5wYXNzd29yZCkge1xuICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICB9XG5cbiAgcHJpbnRTZWN0aW9uKCdMb2dpbicpO1xuICBwcmludEluZm8oJ0F1dGhlbnRpY2F0aW5nIHdpdGggaWRlbnRpZmllci9wYXNzd29yZC4uLicpO1xuICAvLyBSZXNvbHZlIHRoZSBiYXNlIFVSTCBXSVRIT1VUIGRlbWFuZGluZyBhIHRva2VuIOKAlCB0aGlzIGxvZ2luIHN0ZXAgcnVuc1xuICAvLyBwcmUtYXV0aCAobm8gUExBVEZPUk1fVE9LRU4geWV0KSwgc28gYGdldENvbmZpZygpYCB3b3VsZCB0aHJvdyBoZXJlLiBUaGVcbiAgLy8gdG9rZW4tb3B0aW9uYWwgbG9hZGVyIHN0aWxsIGhvbm9ycyBjb25maWcgZmlsZXMgKyBQTEFURk9STV9CQVNFX1VSTC9UTFMgZW52LlxuICBjb25zdCBhcGlDb25maWcgPSBnZXRBcGlDb25maWcoKTtcbiAgLy8gU0VDVVJJVFk6IHRoaXMgaW5saW5lIGxvZ2luIFBPU1RzIHRoZSBwYXNzd29yZC4gUmVmdXNlIHRvIGRpc2FibGUgY2VydFxuICAvLyB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAobWlycm9ycyBjb25maWctbG9hZGVyIC8gbG9naW4pIHNvIGEgTUlUTSBjYW4ndFxuICAvLyBoYXJ2ZXN0IGl0OyBob25vcmVkIGluIG5vbi1wcm9kdWN0aW9uIGZvciBzZWxmLXNpZ25lZCBkZXYgcGxhdGZvcm1zLlxuICBpZiAob3B0aW9ucy52ZXJpZnlTc2wgPT09IGZhbHNlKSB7XG4gICAgYXNzZXJ0U3NsRGlzYWJsZUFsbG93ZWQoJ2lubGluZSBsb2dpbicpO1xuICB9XG4gIGNvbnN0IHJlamVjdFVuYXV0aG9yaXplZCA9IG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSA/IGZhbHNlIDogYXBpQ29uZmlnLmFwaS5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIGNvbnN0IGxvZ2luUmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KFxuICAgIGAke2FwaUNvbmZpZy5hcGkuYmFzZVVybH0vYXBpL2F1dGgvbG9naW5gLFxuICAgIC8vIFRoZSBzZXJ2ZXIncyBsb2dpblNjaGVtYSByZXF1aXJlcyBgaWRlbnRpZmllcmAgKGVtYWlsIE9SIHVzZXJuYW1lKSwgbm90XG4gICAgLy8gYGVtYWlsYCDigJQgc2VuZGluZyBgZW1haWxgIGZhaWxzIHpvZCB2YWxpZGF0aW9uIHdpdGggYSA0MDAuXG4gICAgeyBpZGVudGlmaWVyOiBsb2dpbklkZW50aWZpZXIsIHBhc3N3b3JkOiBsb2dpblBhc3N3b3JkIH0sXG4gICAge1xuICAgICAgaGVhZGVyczogcmVxdWVzdENvcnJlbGF0aW9uSGVhZGVycygpLFxuICAgICAgaHR0cHNBZ2VudDogcmVqZWN0VW5hdXRob3JpemVkID09PSBmYWxzZVxuICAgICAgICA/IG5ldyAoYXdhaXQgaW1wb3J0KCdodHRwcycpKS5BZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgKTtcbiAgY29uc3QgbG9naW5EYXRhID0gbG9naW5SZXNwb25zZS5kYXRhPy5kYXRhID8/IGxvZ2luUmVzcG9uc2UuZGF0YTtcbiAgY29uc3QgbG9naW5Ub2tlbiA9IGxvZ2luRGF0YT8uYWNjZXNzVG9rZW47XG4gIGlmICghbG9naW5Ub2tlbiB8fCB0eXBlb2YgbG9naW5Ub2tlbiAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvZ2luIGZhaWxlZCDigJQgbm8gYWNjZXNzIHRva2VuIGluIHJlc3BvbnNlJyk7XG4gIH1cbiAgcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU4gPSBsb2dpblRva2VuO1xuICBwcmludFN1Y2Nlc3MoJ0xvZ2luIHN1Y2Nlc3NmdWwnKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgbmFtZTogYW4gZXhwbGljaXQgYFBMQVRGT1JNX1NFQ1JFVF9OQU1FYCBlbnYgd2lucztcbiAqIG90aGVyd2lzZSBsb2cgaW4gaWYgbmVlZGVkIGFuZCBkZXJpdmUgaXQgZnJvbSB0aGUgcGxhdGZvcm0gdG9rZW4ncyBvcmcg4oCUIHRoZVxuICogc2FtZSB0b2tlbiBgaW5pdC1wbGF0Zm9ybS5zaGAgKHJlZ2lzdGVyKSBtaW50cywgc28gd3JpdGVyIGFuZCByZWFkZXIgYWdyZWUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlUGxhdGZvcm1TZWNyZXROYW1lKG9wdGlvbnM6IFBsYXRmb3JtU2VjcmV0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGV4cGxpY2l0ID0gcHJvY2Vzcy5lbnYuUExBVEZPUk1fU0VDUkVUX05BTUU7XG4gIGlmIChleHBsaWNpdCkgcmV0dXJuIGV4cGxpY2l0O1xuICBhd2FpdCBlbnN1cmVQbGF0Zm9ybVRva2VuKG9wdGlvbnMpO1xuICBpZiAoIXByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0Nhbm5vdCBkZXJpdmUgdGhlIHBsYXRmb3JtIHNlY3JldCBuYW1lOiBubyBQTEFURk9STV9UT0tFTiBhbmQgbm8gbG9naW4gY3JlZHMuICdcbiAgICAgICsgJ1NldCBQTEFURk9STV9TRUNSRVRfTkFNRSwgb3IgcHJvdmlkZSBsb2dpbiBjcmVkcyAnXG4gICAgICArICcoLS1pZGVudGlmaWVyLy0tcGFzc3dvcmQgb3IgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCkuJyxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXNvbHZlU2VjcmV0TmFtZShwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTik7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-docker.d.ts","
|
|
1
|
+
{"version":3,"file":"plugin-docker.d.ts","sources":["../../src/utils/plugin-docker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,UAAU,CAAC;AAEnF,eAAO,MAAM,SAAS,EAAE,IAgBvB,CAAC;AAEF,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAkB,GAAG,OAAO,CAG/F;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;IACjD,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClF,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAIzF;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3D"}
|
|
@@ -68,4 +68,4 @@ export function isRootUser(user) {
|
|
|
68
68
|
export function removeImage(exec, image) {
|
|
69
69
|
exec('docker', ['rmi', '-f', image]);
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWRvY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wbHVnaW4tZG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFzQjVCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFO0lBQ3RELE1BQU0sT0FBTyxHQUFxQjtRQUNoQyxRQUFRLEVBQUUsT0FBTztRQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ3hDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUc7UUFDN0QsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0UsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFNBQVMsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7S0FDNUIsQ0FBQztJQUNGLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9B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Q0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNqSSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUNuQyxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7QUFDL0MsQ0FBQztBQUVELDhDQUE4QztBQUM5QyxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVUsRUFBRSxLQUFhO0lBQ25ELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIExvY2FsIGNvbnRhaW5lciB0b29saW5nIGZvciBgcGx1Z2luIHRlc3RgIGFuZCBgcGx1Z2luIHB1Ymxpc2hgOiBidWlsZGluZyBhXG4gKiBwbHVnaW4ncyBpbWFnZSB3aXRoIGRvY2tlciAoYnVpbGR4IHdoZW4gcHJlc2VudCksIGluc3BlY3RpbmcgaXQsIGFuZFxuICogZGV0ZWN0aW5nIG9wdGlvbmFsIHNjYW5uZXJzIChzeWZ0LCBncnlwZSkuIEV2ZXJ5IGNhbGwgZ29lcyB0aHJvdWdoIGFuXG4gKiBpbmplY3RhYmxlIHtAbGluayBFeGVjfSBzbyB0aGUgY29tbWFuZHMgYXJlIHVuaXQtdGVzdGFibGUgd2l0aG91dCBkb2NrZXIuXG4gKi9cblxuaW1wb3J0IHsgc3Bhd25TeW5jLCB0eXBlIFNwYXduU3luY09wdGlvbnMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGludGVyZmFjZSBFeGVjUmVzdWx0IHtcbiAgc3RhdHVzOiBudW1iZXIgfCBudWxsO1xuICBzdGRvdXQ6IHN0cmluZztcbiAgc3RkZXJyOiBzdHJpbmc7XG4gIC8qKiBTZXQgd2hlbiB0aGUgcHJvY2VzcyBjb3VsZCBub3Qgc3RhcnQgb3Igd2FzIGtpbGxlZCBieSB0aGUgdGltZW91dC4gKi9cbiAgZXJyb3I/OiBFcnJvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeGVjT3B0aW9ucyB7XG4gIC8qKiBTdHJlYW0gb3V0cHV0IHRvIHRoZSB0ZXJtaW5hbCBpbnN0ZWFkIG9mIGNhcHR1cmluZyBpdC4gKi9cbiAgaW5oZXJpdD86IGJvb2xlYW47XG4gIC8qKiBFeHRyYSBlbnZpcm9ubWVudCBmb3IgdGhlIGNoaWxkIChtZXJnZWQgb3ZlciB0aGUgQ0xJJ3Mgb3duKS4gKi9cbiAgZW52PzogTm9kZUpTLlByb2Nlc3NFbnY7XG4gIHRpbWVvdXRNcz86IG51bWJlcjtcbiAgY3dkPzogc3RyaW5nO1xufVxuXG4vKiogUnVuIGEgcHJvZ3JhbSAobmV2ZXIgdGhyb3VnaCBhIHNoZWxsKSBhbmQgd2FpdCBmb3IgaXQuICovXG5leHBvcnQgdHlwZSBFeGVjID0gKGNtZDogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSwgb3B0cz86IEV4ZWNPcHRpb25zKSA9PiBFeGVjUmVzdWx0O1xuXG5leHBvcnQgY29uc3Qgc3Bhd25FeGVjOiBFeGVjID0gKGNtZCwgYXJncywgb3B0cyA9IHt9KSA9PiB7XG4gIGNvbnN0IG9wdGlvbnM6IFNwYXduU3luY09wdGlvbnMgPSB7XG4gICAgZW5jb2Rpbmc6ICd1dGYtOCcsXG4gICAgc3RkaW86IG9wdHMuaW5oZXJpdCA/ICdpbmhlcml0JyA6ICdwaXBlJyxcbiAgICBlbnY6IG9wdHMuZW52ID8geyAuLi5wcm9jZXNzLmVudiwgLi4ub3B0cy5lbnYgfSA6IHByb2Nlc3MuZW52LFxuICAgIC4uLihvcHRzLnRpbWVvdXRNcyA/IHsgdGltZW91dDogb3B0cy50aW1lb3V0TXMsIGtpbGxTaWduYWw6ICdTSUdLSUxMJyB9IDoge30pLFxuICAgIC4uLihvcHRzLmN3ZCA/IHsgY3dkOiBvcHRzLmN3ZCB9IDoge30pLFxuICAgIG1heEJ1ZmZlcjogNjQgKiAxMDI0ICogMTAyNCxcbiAgfTtcbiAgY29uc3QgciA9IHNwYXduU3luYyhjbWQsIGFyZ3MsIG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIHN0YXR1czogci5zdGF0dXMsXG4gICAgc3Rkb3V0OiB0eXBlb2Ygci5zdGRvdXQgPT09ICdzdHJpbmcnID8gci5zdGRvdXQgOiAnJyxcbiAgICBzdGRlcnI6IHR5cGVvZiByLnN0ZGVyciA9PT0gJ3N0cmluZycgPyByLnN0ZGVyciA6ICcnLFxuICAgIC4uLihyLmVycm9yID8geyBlcnJvcjogci5lcnJvciB9IDoge30pLFxuICB9O1xufTtcblxuLyoqIFRydWUgd2hlbiBgY21kYCBydW5zIChgPGNtZD4gLS12ZXJzaW9uYCBleGl0cyAwKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNUb29sKGV4ZWM6IEV4ZWMsIGNtZDogc3RyaW5nLCB2ZXJzaW9uQXJnczogc3RyaW5nW10gPSBbJy0tdmVyc2lvbiddKTogYm9vbGVhbiB7XG4gIGNvbnN0IHIgPSBleGVjKGNtZCwgdmVyc2lvbkFyZ3MpO1xuICByZXR1cm4gIXIuZXJyb3IgJiYgci5zdGF0dXMgPT09IDA7XG59XG5cbi8qKiBBIHRocm93YXdheSBsb2NhbCB0YWcgZm9yIGEgcGx1Z2luIGltYWdlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsSW1hZ2VUYWcobmFtZTogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzYWZlID0gYCR7bmFtZX0tJHt2ZXJzaW9ufWAudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtejAtOS5fLV0vZywgJy0nKTtcbiAgcmV0dXJuIGBwaXBlbGluZS1tYW5hZ2VyLXRlc3QvJHtzYWZlfToke2NyeXB0by5yYW5kb21CeXRlcyg0KS50b1N0cmluZygnaGV4Jyl9YDtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgcGx1Z2luIGltYWdlIGZyb20gaXRzIGRpcmVjdG9yeTogYGRvY2tlciBidWlsZHggYnVpbGQgLS1sb2FkYCB3aGVuXG4gKiBidWlsZHggaXMgYXZhaWxhYmxlLCBlbHNlIGBkb2NrZXIgYnVpbGRgLiBPdXRwdXQgc3RyZWFtcyB0byB0aGUgdGVybWluYWwuXG4gKiBSZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UsIG9yIG51bGwgb24gc3VjY2Vzcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUGx1Z2luSW1hZ2UoZXhlYzogRXhlYywgb3B0czoge1xuICBkaXI6IHN0cmluZzsgZG9ja2VyZmlsZTogc3RyaW5nOyB0YWc6IHN0cmluZzsgYnVpbGRBcmdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn0pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgYnVpbGRBcmdzID0gT2JqZWN0LmVudHJpZXMob3B0cy5idWlsZEFyZ3MgPz8ge30pLmZsYXRNYXAoKFtrLCB2XSkgPT4gWyctLWJ1aWxkLWFyZycsIGAke2t9PSR7dn1gXSk7XG4gIGNvbnN0IHVzZUJ1aWxkeCA9IGhhc1Rvb2woZXhlYywgJ2RvY2tlcicsIFsnYnVpbGR4JywgJ3ZlcnNpb24nXSk7XG4gIGNvbnN0IGFyZ3MgPSBbLi4uKHVzZUJ1aWxkeCA/IFsnYnVpbGR4JywgJ2J1aWxkJywgJy0tbG9hZCddIDogWydidWlsZCddKSwgJy10Jywgb3B0cy50YWcsICctZicsIG9wdHMuZG9ja2VyZmlsZSwgLi4uYnVpbGRBcmdzLCBvcHRzLmRpcl07XG4gIGNvbnN0IHIgPSBleGVjKCdkb2NrZXInLCBhcmdzLCB7IGluaGVyaXQ6IHRydWUgfSk7XG4gIGlmIChyLmVycm9yKSByZXR1cm4gYGRvY2tlciBjb3VsZCBub3QgcnVuOiAke3IuZXJyb3IubWVzc2FnZX1gO1xuICBpZiAoci5zdGF0dXMgIT09IDApIHtcbiAgICByZXR1cm4gYGltYWdlIGJ1aWxkIGZhaWxlZCAoZXhpdCAke3Iuc3RhdHVzfSkuIFBsdWdpbiBiYXNlcyAocGx1Z2luLTxlY28+LWJhc2UpIG11c3QgZXhpc3QgbG9jYWxseTogYnVpbGQgdGhlbSB3aXRoIGRlcGxveS9iaW4vYnVpbGQtcGx1Z2luLWltYWdlcy5zaCwgb3IgcGFzcyAtLWltYWdlYDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqIFRoZSBpbWFnZSdzIGNvbmZpZ3VyZWQgYFVTRVJgIChlbXB0eSBzdHJpbmcgPSByb290IGJ5IGRlZmF1bHQpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGltYWdlVXNlcihleGVjOiBFeGVjLCBpbWFnZTogc3RyaW5nKTogeyB1c2VyOiBzdHJpbmcgfSB8IHsgZXJyb3I6IHN0cmluZyB9IHtcbiAgY29uc3QgciA9IGV4ZWMoJ2RvY2tlcicsIFsnaW1hZ2UnLCAnaW5zcGVjdCcsICctLWZvcm1hdCcsICd7ey5Db25maWcuVXNlcn19JywgaW1hZ2VdKTtcbiAgaWYgKHIuZXJyb3IgfHwgci5zdGF0dXMgIT09IDApIHJldHVybiB7IGVycm9yOiBgY2Fubm90IGluc3BlY3QgaW1hZ2UgJHtpbWFnZX06ICR7KHIuc3RkZXJyIHx8IHIuZXJyb3I/Lm1lc3NhZ2UgfHwgJycpLnRyaW0oKX1gIH07XG4gIHJldHVybiB7IHVzZXI6IHIuc3Rkb3V0LnRyaW0oKSB9O1xufVxuXG4vKiogVHJ1ZSB3aGVuIGEgY29uZmlndXJlZCBgVVNFUmAgKG5hbWUgb3IgdWlkLCBvcHRpb25hbCBncm91cCkgcmVzb2x2ZXMgdG8gcm9vdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Jvb3RVc2VyKHVzZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB1ID0gdXNlci5zcGxpdCgnOicpWzBdIS50cmltKCk7XG4gIHJldHVybiB1ID09PSAnJyB8fCB1ID09PSAncm9vdCcgfHwgdSA9PT0gJzAnO1xufVxuXG4vKiogUmVtb3ZlIGEgdGhyb3dhd2F5IGltYWdlIChiZXN0IGVmZm9ydCkuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSW1hZ2UoZXhlYzogRXhlYywgaW1hZ2U6IHN0cmluZyk6IHZvaWQge1xuICBleGVjKCdkb2NrZXInLCBbJ3JtaScsICctZicsIGltYWdlXSk7XG59XG4iXX0=
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWRvY2tlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsdWdpbi1kb2NrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQXNCNUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDdEQsTUFBTSxPQUFPLEdBQXFCO1FBQ2hDLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU07UUFDeEMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRztRQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3RSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEMsU0FBUyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtLQUM1QixDQUFDO0lBQ0YsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFD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QUFTLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEYsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2pJLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRCxvRkFBb0Y7QUFDcEYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztBQUMvQyxDQUFDO0FBRUQsOENBQThDO0FBQzlDLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQWE7SUFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogTG9jYWwgY29udGFpbmVyIHRvb2xpbmcgZm9yIGBwbHVnaW4gdGVzdGAgYW5kIGBwbHVnaW4gcHVibGlzaGA6IGJ1aWxkaW5nIGFcbiAqIHBsdWdpbidzIGltYWdlIHdpdGggZG9ja2VyIChidWlsZHggd2hlbiBwcmVzZW50KSwgaW5zcGVjdGluZyBpdCwgYW5kXG4gKiBkZXRlY3Rpbmcgb3B0aW9uYWwgc2Nhbm5lcnMgKHN5ZnQsIGdyeXBlKS4gRXZlcnkgY2FsbCBnb2VzIHRocm91Z2ggYW5cbiAqIGluamVjdGFibGUge0BsaW5rIEV4ZWN9IHNvIHRoZSBjb21tYW5kcyBhcmUgdW5pdC10ZXN0YWJsZSB3aXRob3V0IGRvY2tlci5cbiAqL1xuXG5pbXBvcnQgeyBzcGF3blN5bmMsIHR5cGUgU3Bhd25TeW5jT3B0aW9ucyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNSZXN1bHQge1xuICBzdGF0dXM6IG51bWJlciB8IG51bGw7XG4gIHN0ZG91dDogc3RyaW5nO1xuICBzdGRlcnI6IHN0cmluZztcbiAgLyoqIFNldCB3aGVuIHRoZSBwcm9jZXNzIGNvdWxkIG5vdCBzdGFydCBvciB3YXMga2lsbGVkIGJ5IHRoZSB0aW1lb3V0LiAqL1xuICBlcnJvcj86IEVycm9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNPcHRpb25zIHtcbiAgLyoqIFN0cmVhbSBvdXRwdXQgdG8gdGhlIHRlcm1pbmFsIGluc3RlYWQgb2YgY2FwdHVyaW5nIGl0LiAqL1xuICBpbmhlcml0PzogYm9vbGVhbjtcbiAgLyoqIEV4dHJhIGVudmlyb25tZW50IGZvciB0aGUgY2hpbGQgKG1lcmdlZCBvdmVyIHRoZSBDTEkncyBvd24pLiAqL1xuICBlbnY/OiBOb2RlSlMuUHJvY2Vzc0VudjtcbiAgdGltZW91dE1zPzogbnVtYmVyO1xuICBjd2Q/OiBzdHJpbmc7XG59XG5cbi8qKiBSdW4gYSBwcm9ncmFtIChuZXZlciB0aHJvdWdoIGEgc2hlbGwpIGFuZCB3YWl0IGZvciBpdC4gKi9cbmV4cG9ydCB0eXBlIEV4ZWMgPSAoY21kOiBzdHJpbmcsIGFyZ3M6IHN0cmluZ1tdLCBvcHRzPzogRXhlY09wdGlvbnMpID0+IEV4ZWNSZXN1bHQ7XG5cbmV4cG9ydCBjb25zdCBzcGF3bkV4ZWM6IEV4ZWMgPSAoY21kLCBhcmdzLCBvcHRzID0ge30pID0+IHtcbiAgY29uc3Qgb3B0aW9uczogU3Bhd25TeW5jT3B0aW9ucyA9IHtcbiAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICBzdGRpbzogb3B0cy5pbmhlcml0ID8gJ2luaGVyaXQnIDogJ3BpcGUnLFxuICAgIGVudjogb3B0cy5lbnYgPyB7IC4uLnByb2Nlc3MuZW52LCAuLi5vcHRzLmVudiB9IDogcHJvY2Vzcy5lbnYsXG4gICAgLi4uKG9wdHMudGltZW91dE1zID8geyB0aW1lb3V0OiBvcHRzLnRpbWVvdXRNcywga2lsbFNpZ25hbDogJ1NJR0tJTEwnIH0gOiB7fSksXG4gICAgLi4uKG9wdHMuY3dkID8geyBjd2Q6IG9wdHMuY3dkIH0gOiB7fSksXG4gICAgbWF4QnVmZmVyOiA2NCAqIDEwMjQgKiAxMDI0LFxuICB9O1xuICBjb25zdCByID0gc3Bhd25TeW5jKGNtZCwgYXJncywgb3B0aW9ucyk7XG4gIHJldHVybiB7XG4gICAgc3RhdHVzOiByLnN0YXR1cyxcbiAgICBzdGRvdXQ6IHR5cGVvZiByLnN0ZG91dCA9PT0gJ3N0cmluZycgPyByLnN0ZG91dCA6ICcnLFxuICAgIHN0ZGVycjogdHlwZW9mIHIuc3RkZXJyID09PSAnc3RyaW5nJyA/IHIuc3RkZXJyIDogJycsXG4gICAgLi4uKHIuZXJyb3IgPyB7IGVycm9yOiByLmVycm9yIH0gOiB7fSksXG4gIH07XG59O1xuXG4vKiogVHJ1ZSB3aGVuIGBjbWRgIHJ1bnMgKGA8Y21kPiAtLXZlcnNpb25gIGV4aXRzIDApLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1Rvb2woZXhlYzogRXhlYywgY21kOiBzdHJpbmcsIHZlcnNpb25BcmdzOiBzdHJpbmdbXSA9IFsnLS12ZXJzaW9uJ10pOiBib29sZWFuIHtcbiAgY29uc3QgciA9IGV4ZWMoY21kLCB2ZXJzaW9uQXJncyk7XG4gIHJldHVybiAhci5lcnJvciAmJiByLnN0YXR1cyA9PT0gMDtcbn1cblxuLyoqIEEgdGhyb3dhd2F5IGxvY2FsIHRhZyBmb3IgYSBwbHVnaW4gaW1hZ2UuICovXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxJbWFnZVRhZyhuYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNhZmUgPSBgJHtuYW1lfS0ke3ZlcnNpb259YC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16MC05Ll8tXS9nLCAnLScpO1xuICByZXR1cm4gYHBpcGVsaW5lLW1hbmFnZXItdGVzdC8ke3NhZmV9OiR7Y3J5cHRvLnJhbmRvbUJ5dGVzKDQpLnRvU3RyaW5nKCdoZXgnKX1gO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBwbHVnaW4gaW1hZ2UgZnJvbSBpdHMgZGlyZWN0b3J5OiBgZG9ja2VyIGJ1aWxkeCBidWlsZCAtLWxvYWRgIHdoZW5cbiAqIGJ1aWxkeCBpcyBhdmFpbGFibGUsIGVsc2UgYGRvY2tlciBidWlsZGAuIE91dHB1dCBzdHJlYW1zIHRvIHRoZSB0ZXJtaW5hbC5cbiAqIFJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSwgb3IgbnVsbCBvbiBzdWNjZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQbHVnaW5JbWFnZShleGVjOiBFeGVjLCBvcHRzOiB7XG4gIGRpcjogc3RyaW5nOyBkb2NrZXJmaWxlOiBzdHJpbmc7IHRhZzogc3RyaW5nOyBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufSk6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBidWlsZEFyZ3MgPSBPYmplY3QuZW50cmllcyhvcHRzLmJ1aWxkQXJncyA/PyB7fSkuZmxhdE1hcCgoW2ssIHZdKSA9PiBbJy0tYnVpbGQtYXJnJywgYCR7a309JHt2fWBdKTtcbiAgY29uc3QgdXNlQnVpbGR4ID0gaGFzVG9vbChleGVjLCAnZG9ja2VyJywgWydidWlsZHgnLCAndmVyc2lvbiddKTtcbiAgY29uc3QgYXJncyA9IFsuLi4odXNlQnVpbGR4ID8gWydidWlsZHgnLCAnYnVpbGQnLCAnLS1sb2FkJ10gOiBbJ2J1aWxkJ10pLCAnLXQnLCBvcHRzLnRhZywgJy1mJywgb3B0cy5kb2NrZXJmaWxlLCAuLi5idWlsZEFyZ3MsIG9wdHMuZGlyXTtcbiAgY29uc3QgciA9IGV4ZWMoJ2RvY2tlcicsIGFyZ3MsIHsgaW5oZXJpdDogdHJ1ZSB9KTtcbiAgaWYgKHIuZXJyb3IpIHJldHVybiBgZG9ja2VyIGNvdWxkIG5vdCBydW46ICR7ci5lcnJvci5tZXNzYWdlfWA7XG4gIGlmIChyLnN0YXR1cyAhPT0gMCkge1xuICAgIHJldHVybiBgaW1hZ2UgYnVpbGQgZmFpbGVkIChleGl0ICR7ci5zdGF0dXN9KS4gUGx1Z2luIGJhc2VzIChwbHVnaW4tPGVjbz4tYmFzZSkgbXVzdCBleGlzdCBsb2NhbGx5OiBidWlsZCB0aGVtIHdpdGggZGVwbG95L2Jpbi9idWlsZC1wbHVnaW4taW1hZ2VzLnNoLCBvciBwYXNzIC0taW1hZ2VgO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiogVGhlIGltYWdlJ3MgY29uZmlndXJlZCBgVVNFUmAgKGVtcHR5IHN0cmluZyA9IHJvb3QgYnkgZGVmYXVsdCkuICovXG5leHBvcnQgZnVuY3Rpb24gaW1hZ2VVc2VyKGV4ZWM6IEV4ZWMsIGltYWdlOiBzdHJpbmcpOiB7IHVzZXI6IHN0cmluZyB9IHwgeyBlcnJvcjogc3RyaW5nIH0ge1xuICBjb25zdCByID0gZXhlYygnZG9ja2VyJywgWydpbWFnZScsICdpbnNwZWN0JywgJy0tZm9ybWF0JywgJ3t7LkNvbmZpZy5Vc2VyfX0nLCBpbWFnZV0pO1xuICBpZiAoci5lcnJvciB8fCByLnN0YXR1cyAhPT0gMCkgcmV0dXJuIHsgZXJyb3I6IGBjYW5ub3QgaW5zcGVjdCBpbWFnZSAke2ltYWdlfTogJHsoci5zdGRlcnIgfHwgci5lcnJvcj8ubWVzc2FnZSB8fCAnJykudHJpbSgpfWAgfTtcbiAgcmV0dXJuIHsgdXNlcjogci5zdGRvdXQudHJpbSgpIH07XG59XG5cbi8qKiBUcnVlIHdoZW4gYSBjb25maWd1cmVkIGBVU0VSYCAobmFtZSBvciB1aWQsIG9wdGlvbmFsIGdyb3VwKSByZXNvbHZlcyB0byByb290LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUm9vdFVzZXIodXNlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHUgPSB1c2VyLnNwbGl0KCc6JylbMF0hLnRyaW0oKTtcbiAgcmV0dXJuIHUgPT09ICcnIHx8IHUgPT09ICdyb290JyB8fCB1ID09PSAnMCc7XG59XG5cbi8qKiBSZW1vdmUgYSB0aHJvd2F3YXkgaW1hZ2UgKGJlc3QgZWZmb3J0KS4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJbWFnZShleGVjOiBFeGVjLCBpbWFnZTogc3RyaW5nKTogdm9pZCB7XG4gIGV4ZWMoJ2RvY2tlcicsIFsncm1pJywgJy1mJywgaW1hZ2VdKTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-package.d.ts","
|
|
1
|
+
{"version":3,"file":"plugin-package.d.ts","sources":["../../src/utils/plugin-package.ts"],"names":[],"mappings":"AAYA,OAAO,EAEuD,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAE3H,MAAM,4BAA4B,CAAC;AAOpC,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wFAAwF;IACxF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAkBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAoE/D;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvF;AAQD,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,EAAE,CAKxE;AAED,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEhD,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,MAAM,CASnE"}
|
|
@@ -156,4 +156,4 @@ export function formatCatalogValue(value, max = 80) {
|
|
|
156
156
|
const flat = text.replace(/\s+/g, ' ').trim();
|
|
157
157
|
return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
|
|
158
158
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXBhY2thZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGx1Z2luLXBhY2thZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUNMLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFDNUgseUJBQXlCLEVBQUUsK0JBQStCLEdBRTNELE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCwwRkFBMEY7QUFDMUYsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQWtCbkMsU0FBUyxhQUFhLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFrQjtJQUNwRSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssc0NBQXNDLGNBQWMsU0FBUyxDQUFDLENBQUM7UUFDckYsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLG1CQUFvQixHQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkYsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXBIOzs7R0FHRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFjO0lBQzlDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUFFLE1BQU0sSUFBSSxlQUFlLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3SCxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7SUFFOUIsSUFBSSxTQUFTLEdBQW9CLGFBQWEsQ0FBQztJQUMvQyxJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQztJQUNsQyxJQUFJLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRSxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUM7Z0JBQ3BELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO29CQUFFLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDaEUsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVU7b0JBQUUsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQ3hFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFVLEVBQUUsQ0FBQztRQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxzREFBc0QsQ0FBQyxDQUFDO0lBQy9KLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFBRSxNQUFNLElBQUksZUFBZSxDQUFDLHdCQUF3QixRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQWlDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4SCxJQUFJLElBQUksR0FBMkIsSUFBSSxDQUFDO0lBQ3hDLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxFQUFFO1lBQUUsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7O1lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksT0FBMEIsQ0FBQztJQUNoRCxNQUFNLFFBQVEsR0FBRywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxJQUFJLFFBQVE7UUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZGLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLHFCQUFxQixtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ25HLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLGtDQUFrQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssb0JBQW9CLENBQUM7SUFDNUQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN2RSxJQUFJLFNBQVMsS0FBSyxhQUFhLElBQUksQ0FBQyxVQUFVLElBQUksaUJBQWlCLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0UsUUFBUSxDQUFDLElBQUksQ0FBQyxtREFBbUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFDRCxJQUFJLFNBQVMsS0FBSyxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RSxRQUFRLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHO1FBQ0gsU0FBUztRQUNULFFBQVE7UUFDUixJQUFJO1FBQ0osT0FBTztRQUNQLGNBQWM7UUFDZCxpQkFBaUIsRUFBRSxTQUFTLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUN6RSxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELFFBQVE7S0FDVCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUFDLElBQTZCO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDL0QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEksQ0FBQztBQUVELE1BQU0scUJBQXFCLEdBQWdEO0lBQ3pFLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFlBQVksRUFBRSxZQUFZO0lBQzFCLGVBQWUsRUFBRSxZQUFZO0NBQzlCLENBQUM7QUFFRixxRkFBcUY7QUFDckYsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsR0FBa0I7SUFDdEQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsR0FBa0I7SUFDckQsMkVBQTJFO0lBQzNFLDBFQUEwRTtJQUMxRSxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBd0QsQ0FBQztJQUM5RixPQUFPLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFDM0csQ0FBQztBQUVELGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCO0lBQ25ELElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUTtDQUNyRyxDQUFDO0FBRUYsK0NBQStDO0FBQy9DLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFjLEVBQUUsR0FBRyxHQUFHLEVBQUU7SUFDekQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDNUQsSUFBSSxJQUFZLENBQUM7SUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFBQSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUFBLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3hGLE1BQU0sSUFBSSxHQUFHLEtBQXlDLENBQUM7UUFDdkQsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEcsQ0FBQztTQUFNLENBQUM7UUFBQSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEEgTE9DQUwgcGx1Z2luIGRpcmVjdG9yeSAodGhlIHppcCByb290IHRoZSBwbGF0Zm9ybSByZWNlaXZlcyksIHJlYWQgYW5kXG4gKiB2YWxpZGF0ZWQgd2l0aCB0aGUgc2VydmVyJ3Mgb3duIHJ1bGVzOiB0aGUgc3BlYyBhbmQgY29uZmlnIHNjaGVtYXMsIHRoZVxuICogcmVxdWlyZWQtZmllbGQgY29udHJhY3QgYW5kIHRoZSBjYXRhbG9nIGRldGVjdGlvbiBhbGwgY29tZSBmcm9tIGFwaS1jb3JlLCBzb1xuICogYHBsdWdpbiB2YWxpZGF0ZWAgLyBgcGx1Z2luIHB1Ymxpc2hgIHJlcG9ydCBleGFjdGx5IHdoYXQgdGhlIHVwbG9hZCB3b3VsZC5cbiAqL1xuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBQTFVHSU5fTkFNRV9QQVRURVJOLCBQTFVHSU5fVkVSU0lPTl9QQVRURVJOLCBjaGVja1BsdWdpbkNvbmZpZywgY2hlY2tQbHVnaW5TcGVjLCBjaGVja1BsdWdpblRlbXBsYXRlcywgZGV0ZWN0Q2F0YWxvZ01ldGFkYXRhLFxuICBmb3JtYXRQbHVnaW5UZW1wbGF0ZUlzc3VlLCBwbHVnaW5TcGVjUmVxdWlyZWRGaWVsZHNQcm9ibGVtLCB0eXBlIERldGVjdGVkRmllbGQsIHR5cGUgUGx1Z2luQnVpbGRUeXBlLCB0eXBlIFBsdWdpblNwZWNJbnB1dCxcbiAgdHlwZSBQbHVnaW5UZW1wbGF0ZUlzc3VlLFxufSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgWUFNTCBmcm9tICd5YW1sJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vZXJyb3ItaGFuZGxlci5qcyc7XG5cbi8qKiBNYXggWUFNTCB0ZXh0IHJlYWQgZm9yIGNvbmZpZy55YW1sIC8gcGx1Z2luLXNwZWMueWFtbCAodGhlIHNlcnZlcidzIGRlZmF1bHQgYm91bmQpLiAqL1xuY29uc3QgTUFYX1lBTUxfQllURVMgPSAxMDI0ICogMTAyNDtcblxuLyoqIEEgcGx1Z2luIGRpcmVjdG9yeSBhcyB0aGUgdXBsb2FkIHdvdWxkIHNlZSBpdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luUGFja2FnZSB7XG4gIGRpcjogc3RyaW5nO1xuICBidWlsZFR5cGU6IFBsdWdpbkJ1aWxkVHlwZTtcbiAgc3BlY0ZpbGU6IHN0cmluZztcbiAgLyoqIFRoZSBzY2hlbWEtY2hlY2tlZCBzcGVjLCBvciBudWxsIHdoZW4gdGhlIHNwZWMgZmFpbGVkIHRoZSBzY2hlbWEuICovXG4gIHNwZWM6IFBsdWdpblNwZWNJbnB1dCB8IG51bGw7XG4gIC8qKiBUaGUgc3BlYyBkb2N1bWVudCBhcyBwYXJzZWQgKGJlZm9yZSB0aGUgc2NoZW1hKSwgZm9yIGZpZWxkcyB0aGUgc2NoZW1hIHJlamVjdGVkLiAqL1xuICByYXdTcGVjOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZG9ja2VyZmlsZU5hbWU6IHN0cmluZztcbiAgZG9ja2VyZmlsZUNvbnRlbnQ6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRtZU1kOiBzdHJpbmcgfCBudWxsO1xuICAvKiogUHJvYmxlbXMgZm91bmQgd2hpbGUgcmVhZGluZyAoc2NoZW1hLCByZXF1aXJlZCBmaWVsZHMsIGJ1aWxkLXR5cGUgcHJlcmVxdWlzaXRlcykuICovXG4gIHByb2JsZW1zOiBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gcGFyc2VZYW1sRmlsZShmaWxlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIHByb2JsZW1zOiBzdHJpbmdbXSk6IHVua25vd24ge1xuICBjb25zdCB0ZXh0ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpO1xuICBpZiAodGV4dC5sZW5ndGggPiBNQVhfWUFNTF9CWVRFUykge1xuICAgIHByb2JsZW1zLnB1c2goYCR7bGFiZWx9IGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplICgke01BWF9ZQU1MX0JZVEVTfSBieXRlcylgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIFlBTUwucGFyc2UodGV4dCwgeyBtYXhBbGlhc0NvdW50OiAxMDAgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHByb2JsZW1zLnB1c2goYCR7bGFiZWx9OiBpbnZhbGlkIFlBTUwgKCR7KGVyciBhcyBFcnJvcikubWVzc2FnZS5zcGxpdCgnXFxuJylbMF19KWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuY29uc3QgcmVhZElmRXhpc3RzID0gKGZpbGU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4gKGZzLmV4aXN0c1N5bmMoZmlsZSkgPyBmcy5yZWFkRmlsZVN5bmMoZmlsZSwgJ3V0Zi04JykgOiBudWxsKTtcblxuLyoqXG4gKiBSZWFkIGFuZCB2YWxpZGF0ZSBhIHBsdWdpbiBkaXJlY3RvcnkuIFRocm93cyBvbmx5IHdoZW4gdGhlIGRpcmVjdG9yeSBvciBpdHNcbiAqIHNwZWMgaXMgbWlzc2luZzsgZXZlcnkgb3RoZXIgcHJvYmxlbSBpcyBjb2xsZWN0ZWQgaW4gYHByb2JsZW1zYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQbHVnaW5QYWNrYWdlKGRpckFyZzogc3RyaW5nKTogUGx1Z2luUGFja2FnZSB7XG4gIGNvbnN0IGRpciA9IHBhdGgucmVzb2x2ZShkaXJBcmcpO1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoZGlyKSB8fCAhZnMuc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBOb3QgYSBkaXJlY3Rvcnk6ICR7ZGlyfWAsICdkaXInLCBkaXIpO1xuICBjb25zdCBwcm9ibGVtczogc3RyaW5nW10gPSBbXTtcblxuICBsZXQgYnVpbGRUeXBlOiBQbHVnaW5CdWlsZFR5cGUgPSAnYnVpbGRfaW1hZ2UnO1xuICBsZXQgc3BlY0ZpbGUgPSAncGx1Z2luLXNwZWMueWFtbCc7XG4gIGxldCBkb2NrZXJmaWxlTmFtZSA9ICdEb2NrZXJmaWxlJztcbiAgY29uc3QgY29uZmlnUGF0aCA9IFsnY29uZmlnLnlhbWwnLCAnY29uZmlnLnltbCddLm1hcChmID0+IHBhdGguam9pbihkaXIsIGYpKS5maW5kKGYgPT4gZnMuZXhpc3RzU3luYyhmKSk7XG4gIGlmIChjb25maWdQYXRoKSB7XG4gICAgY29uc3QgcmF3ID0gcGFyc2VZYW1sRmlsZShjb25maWdQYXRoLCBwYXRoLmJhc2VuYW1lKGNvbmZpZ1BhdGgpLCBwcm9ibGVtcyk7XG4gICAgaWYgKHJhdyAhPT0gdW5kZWZpbmVkICYmIHJhdyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgY29uZmlnID0gY2hlY2tQbHVnaW5Db25maWcocmF3KTtcbiAgICAgIGlmICghY29uZmlnLm9rKSB7XG4gICAgICAgIHByb2JsZW1zLnB1c2goY29uZmlnLm1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVpbGRUeXBlID0gY29uZmlnLnZhbHVlLmJ1aWxkVHlwZSA/PyAnYnVpbGRfaW1hZ2UnO1xuICAgICAgICBpZiAoY29uZmlnLnZhbHVlLnBsdWdpblNwZWMpIHNwZWNGaWxlID0gY29uZmlnLnZhbHVlLnBsdWdpblNwZWM7XG4gICAgICAgIGlmIChjb25maWcudmFsdWUuZG9ja2VyZmlsZSkgZG9ja2VyZmlsZU5hbWUgPSBjb25maWcudmFsdWUuZG9ja2VyZmlsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBbbGFiZWwsIHJlbF0gb2YgW1sncGx1Z2luU3BlYycsIHNwZWNGaWxlXSwgWydkb2NrZXJmaWxlJywgZG9ja2VyZmlsZU5hbWVdXSBhcyBjb25zdCkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gcGF0aC5yZXNvbHZlKGRpciwgcmVsKTtcbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKHJlbCkgfHwgIXJlc29sdmVkLnN0YXJ0c1dpdGgoZGlyICsgcGF0aC5zZXApKSBwcm9ibGVtcy5wdXNoKGBjb25maWcueWFtbDogJHtsYWJlbH0gbXVzdCBiZSBhIHJlbGF0aXZlIHBhdGggaW5zaWRlIHRoZSBwbHVnaW4gZGlyZWN0b3J5YCk7XG4gIH1cblxuICBjb25zdCBzcGVjUGF0aCA9IHBhdGguam9pbihkaXIsIHNwZWNGaWxlKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKHNwZWNQYXRoKSkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgTWlzc2luZyBwbHVnaW4gc3BlYzogJHtzcGVjUGF0aH1gLCAnZGlyJywgZGlyKTtcbiAgY29uc3QgcmF3RG9jID0gcGFyc2VZYW1sRmlsZShzcGVjUGF0aCwgc3BlY0ZpbGUsIHByb2JsZW1zKTtcbiAgY29uc3QgcmF3U3BlYyA9IHJhd0RvYyAmJiB0eXBlb2YgcmF3RG9jID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShyYXdEb2MpID8gcmF3RG9jIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IDoge307XG4gIGxldCBzcGVjOiBQbHVnaW5TcGVjSW5wdXQgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJhd0RvYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2hlY2tlZCA9IGNoZWNrUGx1Z2luU3BlYyhyYXdEb2MpO1xuICAgIGlmIChjaGVja2VkLm9rKSBzcGVjID0gY2hlY2tlZC52YWx1ZTtcbiAgICBlbHNlIHByb2JsZW1zLnB1c2goY2hlY2tlZC5tZXNzYWdlKTtcbiAgfVxuXG4gIGNvbnN0IHZpZXcgPSBzcGVjID8/IHJhd1NwZWMgYXMgUGx1Z2luU3BlY0lucHV0O1xuICBjb25zdCByZXF1aXJlZCA9IHBsdWdpblNwZWNSZXF1aXJlZEZpZWxkc1Byb2JsZW0odmlldyk7XG4gIGlmIChyZXF1aXJlZCkgcHJvYmxlbXMucHVzaChyZXF1aXJlZCk7XG4gIGlmICh0eXBlb2Ygdmlldy5uYW1lID09PSAnc3RyaW5nJyAmJiB2aWV3Lm5hbWUgJiYgIVBMVUdJTl9OQU1FX1BBVFRFUk4udGVzdCh2aWV3Lm5hbWUpKSB7XG4gICAgcHJvYmxlbXMucHVzaChgJHtzcGVjRmlsZX06IG5hbWUgbXVzdCBtYXRjaCAke1BMVUdJTl9OQU1FX1BBVFRFUk59YCk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2aWV3LnZlcnNpb24gPT09ICdzdHJpbmcnICYmIHZpZXcudmVyc2lvbiAmJiAhUExVR0lOX1ZFUlNJT05fUEFUVEVSTi50ZXN0KHZpZXcudmVyc2lvbikpIHtcbiAgICBwcm9ibGVtcy5wdXNoKGAke3NwZWNGaWxlfTogdmVyc2lvbiBtdXN0IGJlIHNlbXZlciAoeC55LnopYCk7XG4gIH1cblxuICBjb25zdCBpc0FwcHJvdmFsID0gdmlldy5wbHVnaW5UeXBlID09PSAnTWFudWFsQXBwcm92YWxTdGVwJztcbiAgY29uc3QgZG9ja2VyZmlsZUNvbnRlbnQgPSByZWFkSWZFeGlzdHMocGF0aC5qb2luKGRpciwgZG9ja2VyZmlsZU5hbWUpKTtcbiAgaWYgKGJ1aWxkVHlwZSA9PT0gJ2J1aWxkX2ltYWdlJyAmJiAhaXNBcHByb3ZhbCAmJiBkb2NrZXJmaWxlQ29udGVudCA9PT0gbnVsbCkge1xuICAgIHByb2JsZW1zLnB1c2goYERvY2tlcmZpbGUgbm90IGZvdW5kIGZvciBidWlsZFR5cGUgYnVpbGRfaW1hZ2U6ICR7cGF0aC5qb2luKGRpciwgZG9ja2VyZmlsZU5hbWUpfWApO1xuICB9XG4gIGlmIChidWlsZFR5cGUgPT09ICdwcmVidWlsdCcgJiYgIWZzLmV4aXN0c1N5bmMocGF0aC5qb2luKGRpciwgJ2ltYWdlLnRhcicpKSkge1xuICAgIHByb2JsZW1zLnB1c2goJ2ltYWdlLnRhciBub3QgZm91bmQgZm9yIGJ1aWxkVHlwZSBwcmVidWlsdCcpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkaXIsXG4gICAgYnVpbGRUeXBlLFxuICAgIHNwZWNGaWxlLFxuICAgIHNwZWMsXG4gICAgcmF3U3BlYyxcbiAgICBkb2NrZXJmaWxlTmFtZSxcbiAgICBkb2NrZXJmaWxlQ29udGVudDogYnVpbGRUeXBlID09PSAnYnVpbGRfaW1hZ2UnID8gZG9ja2VyZmlsZUNvbnRlbnQgOiBudWxsLFxuICAgIHJlYWRtZU1kOiByZWFkSWZFeGlzdHMocGF0aC5qb2luKGRpciwgJ1JFQURNRS5tZCcpKSxcbiAgICBwcm9ibGVtcyxcbiAgfTtcbn1cblxuLyoqXG4gKiBge3sgfX1gIHRlbXBsYXRlICsgcGx1Z2luLWNvbnRyYWN0IHByb2JsZW1zOiBhcGktY29yZSdzXG4gKiB7QGxpbmsgY2hlY2tQbHVnaW5UZW1wbGF0ZXN9LCB0aGUgc2FtZSBjaGVjayB0aGUgc2VydmVyJ3MgdXBsb2FkIGFwcGxpZXMsXG4gKiB3aXRoIHBpcGVsaW5lLWNvcmUncyB0ZW1wbGF0ZSBlbmdpbmUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZW1wbGF0ZVByb2JsZW1zKHNwZWM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBjb25zdCBlbmdpbmUgPSBhd2FpdCBpbXBvcnQoJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUnKTtcbiAgcmV0dXJuIGNoZWNrUGx1Z2luVGVtcGxhdGVzKHNwZWMsIGVuZ2luZSkubWFwKChpc3N1ZSkgPT4gYCR7VEVNUExBVEVfSVNTVUVfUFJFRklYW2lzc3VlLmtpbmRdfSR7Zm9ybWF0UGx1Z2luVGVtcGxhdGVJc3N1ZShpc3N1ZSl9YCk7XG59XG5cbmNvbnN0IFRFTVBMQVRFX0lTU1VFX1BSRUZJWDogUmVjb3JkPFBsdWdpblRlbXBsYXRlSXNzdWVbJ2tpbmQnXSwgc3RyaW5nPiA9IHtcbiAgJ3RlbXBsYXRlJzogJ3RlbXBsYXRlICcsXG4gICd1bmRlY2xhcmVkJzogJ2NvbnRyYWN0OiAnLFxuICAndHlwZS1taXNtYXRjaCc6ICdjb250cmFjdDogJyxcbn07XG5cbi8qKiBFdmVyeSBwcm9ibGVtIHRoZSB1cGxvYWQgd291bGQgcmVmdXNlOiByZWFkaW5nLCBzY2hlbWEsIGJ1aWxkIHR5cGUsIHRlbXBsYXRlcy4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYWNrYWdlUHJvYmxlbXMocGtnOiBQbHVnaW5QYWNrYWdlKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gWy4uLnBrZy5wcm9ibGVtcywgLi4uYXdhaXQgdGVtcGxhdGVQcm9ibGVtcyhwa2cucmF3U3BlYyldO1xufVxuXG4vKipcbiAqIFRoZSBjYXRhbG9nIGZpZWxkcyBhcyB0aGUgc2VydmVyIHdpbGwgREVURUNUIHRoZW0gKHNwZWMg4oaSIFJFQURNRSDihpIgdGhlXG4gKiBwbHVnaW4ncyBvd24gRG9ja2VyZmlsZSBsYWJlbHMg4oaSIGRlcml2ZWQpLCB3aXRoIGVhY2ggdmFsdWUncyBzb3VyY2UgYW5kIGFueVxuICogdmFsaWRhdGlvbiBlcnJvciDigJQgdGhlIHNhbWUgYXBpLWNvcmUgZGV0ZWN0aW9uIHRoZSB1cGxvYWQgcnVucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFBhY2thZ2VDYXRhbG9nKHBrZzogUGx1Z2luUGFja2FnZSk6IERldGVjdGVkRmllbGRbXSB7XG4gIC8vIERldGVjdGlvbiByZWFkcyBvbmx5IHRoZSBkZXNjcmlwdGl2ZSBrZXlzLiBBIHNwZWMgdGhhdCBmYWlsZWQgdGhlIHNjaGVtYVxuICAvLyBzdGlsbCBoYXMgdGhlbSBpbiB0aGUgcmF3IGRvY3VtZW50LCBhbmQgZWFjaCBpcyByZS12YWxpZGF0ZWQgcGVyIGZpZWxkLlxuICBjb25zdCBzcGVjID0gKHBrZy5zcGVjID8/IHBrZy5yYXdTcGVjKSBhcyBQYXJhbWV0ZXJzPHR5cGVvZiBkZXRlY3RDYXRhbG9nTWV0YWRhdGE+WzBdWydzcGVjJ107XG4gIHJldHVybiBkZXRlY3RDYXRhbG9nTWV0YWRhdGEoeyBzcGVjLCByZWFkbWVNZDogcGtnLnJlYWRtZU1kLCBkb2NrZXJmaWxlQ29udGVudDogcGtnLmRvY2tlcmZpbGVDb250ZW50IH0pO1xufVxuXG4vKiogSHVtYW4tcmVhZGFibGUgc291cmNlIGJhZGdlICh0aGUgdXBsb2FkIGRpYWxvZydzIHdvcmRpbmcpLiAqL1xuZXhwb3J0IGNvbnN0IFNPVVJDRV9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHNwZWM6ICdTcGVjJywgcmVhZG1lOiAnUkVBRE1FJywgZG9ja2VyZmlsZTogJ0RvY2tlcmZpbGUgbGFiZWwnLCBkZXJpdmVkOiAnR2VuZXJhdGVkJywgdXNlcjogJ0VkaXRlZCcsXG59O1xuXG4vKiogQSBvbmUtbGluZSByZW5kZXJpbmcgb2YgYSBjYXRhbG9nIHZhbHVlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdENhdGFsb2dWYWx1ZSh2YWx1ZTogdW5rbm93biwgbWF4ID0gODApOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICcoZW1wdHkpJztcbiAgbGV0IHRleHQ6IHN0cmluZztcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7dGV4dCA9IHZhbHVlLmpvaW4oJywgJyk7fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgaWNvbiA9IHZhbHVlIGFzIHsga2V5Pzogc3RyaW5nOyBiYWRnZT86IHN0cmluZyB9O1xuICAgIHRleHQgPSBpY29uLmtleSA/IGAke2ljb24ua2V5fSR7aWNvbi5iYWRnZSA/IGAgKGJhZGdlOiAke2ljb24uYmFkZ2V9KWAgOiAnJ31gIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICB9IGVsc2Uge3RleHQgPSBTdHJpbmcodmFsdWUpO31cbiAgY29uc3QgZmxhdCA9IHRleHQucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcbiAgcmV0dXJuIGZsYXQubGVuZ3RoID4gbWF4ID8gYCR7ZmxhdC5zbGljZSgwLCBtYXggLSAxKX3igKZgIDogZmxhdDtcbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXBhY2thZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wbHVnaW4tcGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQ0wsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUM1SCx5QkFBeUIsRUFBRSwrQkFBK0IsR0FFM0QsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELDBGQUEwRjtBQUMxRixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBa0JuQyxTQUFTLGFBQWEsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQWtCO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxzQ0FBc0MsY0FBYyxTQUFTLENBQUMsQ0FBQztRQUNyRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssbUJBQW9CLEdBQWEsQ0FB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QUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQSBMT0NBTCBwbHVnaW4gZGlyZWN0b3J5ICh0aGUgemlwIHJvb3QgdGhlIHBsYXRmb3JtIHJlY2VpdmVzKSwgcmVhZCBhbmRcbiAqIHZhbGlkYXRlZCB3aXRoIHRoZSBzZXJ2ZXIncyBvd24gcnVsZXM6IHRoZSBzcGVjIGFuZCBjb25maWcgc2NoZW1hcywgdGhlXG4gKiByZXF1aXJlZC1maWVsZCBjb250cmFjdCBhbmQgdGhlIGNhdGFsb2cgZGV0ZWN0aW9uIGFsbCBjb21lIGZyb20gYXBpLWNvcmUsIHNvXG4gKiBgcGx1Z2luIHZhbGlkYXRlYCAvIGBwbHVnaW4gcHVibGlzaGAgcmVwb3J0IGV4YWN0bHkgd2hhdCB0aGUgdXBsb2FkIHdvdWxkLlxuICovXG5cbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIFBMVUdJTl9OQU1FX1BBVFRFUk4sIFBMVUdJTl9WRVJTSU9OX1BBVFRFUk4sIGNoZWNrUGx1Z2luQ29uZmlnLCBjaGVja1BsdWdpblNwZWMsIGNoZWNrUGx1Z2luVGVtcGxhdGVzLCBkZXRlY3RDYXRhbG9nTWV0YWRhdGEsXG4gIGZvcm1hdFBsdWdpblRlbXBsYXRlSXNzdWUsIHBsdWdpblNwZWNSZXF1aXJlZEZpZWxkc1Byb2JsZW0sIHR5cGUgRGV0ZWN0ZWRGaWVsZCwgdHlwZSBQbHVnaW5CdWlsZFR5cGUsIHR5cGUgUGx1Z2luU3BlY0lucHV0LFxuICB0eXBlIFBsdWdpblRlbXBsYXRlSXNzdWUsXG59IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCBZQU1MIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvci1oYW5kbGVyLmpzJztcblxuLyoqIE1heCBZQU1MIHRleHQgcmVhZCBmb3IgY29uZmlnLnlhbWwgLyBwbHVnaW4tc3BlYy55YW1sICh0aGUgc2VydmVyJ3MgZGVmYXVsdCBib3VuZCkuICovXG5jb25zdCBNQVhfWUFNTF9CWVRFUyA9IDEwMjQgKiAxMDI0O1xuXG4vKiogQSBwbHVnaW4gZGlyZWN0b3J5IGFzIHRoZSB1cGxvYWQgd291bGQgc2VlIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5QYWNrYWdlIHtcbiAgZGlyOiBzdHJpbmc7XG4gIGJ1aWxkVHlwZTogUGx1Z2luQnVpbGRUeXBlO1xuICBzcGVjRmlsZTogc3RyaW5nO1xuICAvKiogVGhlIHNjaGVtYS1jaGVja2VkIHNwZWMsIG9yIG51bGwgd2hlbiB0aGUgc3BlYyBmYWlsZWQgdGhlIHNjaGVtYS4gKi9cbiAgc3BlYzogUGx1Z2luU3BlY0lucHV0IHwgbnVsbDtcbiAgLyoqIFRoZSBzcGVjIGRvY3VtZW50IGFzIHBhcnNlZCAoYmVmb3JlIHRoZSBzY2hlbWEpLCBmb3IgZmllbGRzIHRoZSBzY2hlbWEgcmVqZWN0ZWQuICovXG4gIHJhd1NwZWM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBkb2NrZXJmaWxlTmFtZTogc3RyaW5nO1xuICBkb2NrZXJmaWxlQ29udGVudDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG1lTWQ6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBQcm9ibGVtcyBmb3VuZCB3aGlsZSByZWFkaW5nIChzY2hlbWEsIHJlcXVpcmVkIGZpZWxkcywgYnVpbGQtdHlwZSBwcmVyZXF1aXNpdGVzKS4gKi9cbiAgcHJvYmxlbXM6IHN0cmluZ1tdO1xufVxuXG5mdW5jdGlvbiBwYXJzZVlhbWxGaWxlKGZpbGU6IHN0cmluZywgbGFiZWw6IHN0cmluZywgcHJvYmxlbXM6IHN0cmluZ1tdKTogdW5rbm93biB7XG4gIGNvbnN0IHRleHQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZSwgJ3V0Zi04Jyk7XG4gIGlmICh0ZXh0Lmxlbmd0aCA+IE1BWF9ZQU1MX0JZVEVTKSB7XG4gICAgcHJvYmxlbXMucHVzaChgJHtsYWJlbH0gZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkIHNpemUgKCR7TUFYX1lBTUxfQllURVN9IGJ5dGVzKWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gWUFNTC5wYXJzZSh0ZXh0LCB7IG1heEFsaWFzQ291bnQ6IDEwMCB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcHJvYmxlbXMucHVzaChgJHtsYWJlbH06IGludmFsaWQgWUFNTCAoJHsoZXJyIGFzIEVycm9yKS5tZXNzYWdlLnNwbGl0KCdcXG4nKVswXX0pYCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5jb25zdCByZWFkSWZFeGlzdHMgPSAoZmlsZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiAoZnMuZXhpc3RzU3luYyhmaWxlKSA/IGZzLnJlYWRGaWxlU3luYyhmaWxlLCAndXRmLTgnKSA6IG51bGwpO1xuXG4vKipcbiAqIFJlYWQgYW5kIHZhbGlkYXRlIGEgcGx1Z2luIGRpcmVjdG9yeS4gVGhyb3dzIG9ubHkgd2hlbiB0aGUgZGlyZWN0b3J5IG9yIGl0c1xuICogc3BlYyBpcyBtaXNzaW5nOyBldmVyeSBvdGhlciBwcm9ibGVtIGlzIGNvbGxlY3RlZCBpbiBgcHJvYmxlbXNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZFBsdWdpblBhY2thZ2UoZGlyQXJnOiBzdHJpbmcpOiBQbHVnaW5QYWNrYWdlIHtcbiAgY29uc3QgZGlyID0gcGF0aC5yZXNvbHZlKGRpckFyZyk7XG4gIGlmICghZnMuZXhpc3RzU3luYyhkaXIpIHx8ICFmcy5zdGF0U3luYyhkaXIpLmlzRGlyZWN0b3J5KCkpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYE5vdCBhIGRpcmVjdG9yeTogJHtkaXJ9YCwgJ2RpcicsIGRpcik7XG4gIGNvbnN0IHByb2JsZW1zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBidWlsZFR5cGU6IFBsdWdpbkJ1aWxkVHlwZSA9ICdidWlsZF9pbWFnZSc7XG4gIGxldCBzcGVjRmlsZSA9ICdwbHVnaW4tc3BlYy55YW1sJztcbiAgbGV0IGRvY2tlcmZpbGVOYW1lID0gJ0RvY2tlcmZpbGUnO1xuICBjb25zdCBjb25maWdQYXRoID0gWydjb25maWcueWFtbCcsICdjb25maWcueW1sJ10ubWFwKGYgPT4gcGF0aC5qb2luKGRpciwgZikpLmZpbmQoZiA9PiBmcy5leGlzdHNTeW5jKGYpKTtcbiAgaWYgKGNvbmZpZ1BhdGgpIHtcbiAgICBjb25zdCByYXcgPSBwYXJzZVlhbWxGaWxlKGNvbmZpZ1BhdGgsIHBhdGguYmFzZW5hbWUoY29uZmlnUGF0aCksIHByb2JsZW1zKTtcbiAgICBpZiAocmF3ICE9PSB1bmRlZmluZWQgJiYgcmF3ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBjb25maWcgPSBjaGVja1BsdWdpbkNvbmZpZyhyYXcpO1xuICAgICAgaWYgKCFjb25maWcub2spIHtcbiAgICAgICAgcHJvYmxlbXMucHVzaChjb25maWcubWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBidWlsZFR5cGUgPSBjb25maWcudmFsdWUuYnVpbGRUeXBlID8/ICdidWlsZF9pbWFnZSc7XG4gICAgICAgIGlmIChjb25maWcudmFsdWUucGx1Z2luU3BlYykgc3BlY0ZpbGUgPSBjb25maWcudmFsdWUucGx1Z2luU3BlYztcbiAgICAgICAgaWYgKGNvbmZpZy52YWx1ZS5kb2NrZXJmaWxlKSBkb2NrZXJmaWxlTmFtZSA9IGNvbmZpZy52YWx1ZS5kb2NrZXJmaWxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IFtsYWJlbCwgcmVsXSBvZiBbWydwbHVnaW5TcGVjJywgc3BlY0ZpbGVdLCBbJ2RvY2tlcmZpbGUnLCBkb2NrZXJmaWxlTmFtZV1dIGFzIGNvbnN0KSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBwYXRoLnJlc29sdmUoZGlyLCByZWwpO1xuICAgIGlmIChwYXRoLmlzQWJzb2x1dGUocmVsKSB8fCAhcmVzb2x2ZWQuc3RhcnRzV2l0aChkaXIgKyBwYXRoLnNlcCkpIHByb2JsZW1zLnB1c2goYGNvbmZpZy55YW1sOiAke2xhYmVsfSBtdXN0IGJlIGEgcmVsYXRpdmUgcGF0aCBpbnNpZGUgdGhlIHBsdWdpbiBkaXJlY3RvcnlgKTtcbiAgfVxuXG4gIGNvbnN0IHNwZWNQYXRoID0gcGF0aC5qb2luKGRpciwgc3BlY0ZpbGUpO1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoc3BlY1BhdGgpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBNaXNzaW5nIHBsdWdpbiBzcGVjOiAke3NwZWNQYXRofWAsICdkaXInLCBkaXIpO1xuICBjb25zdCByYXdEb2MgPSBwYXJzZVlhbWxGaWxlKHNwZWNQYXRoLCBzcGVjRmlsZSwgcHJvYmxlbXMpO1xuICBjb25zdCByYXdTcGVjID0gcmF3RG9jICYmIHR5cGVvZiByYXdEb2MgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHJhd0RvYykgPyByYXdEb2MgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gOiB7fTtcbiAgbGV0IHNwZWM6IFBsdWdpblNwZWNJbnB1dCB8IG51bGwgPSBudWxsO1xuICBpZiAocmF3RG9jICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBjaGVja2VkID0gY2hlY2tQbHVnaW5TcGVjKHJhd0RvYyk7XG4gICAgaWYgKGNoZWNrZWQub2spIHNwZWMgPSBjaGVja2VkLnZhbHVlO1xuICAgIGVsc2UgcHJvYmxlbXMucHVzaChjaGVja2VkLm1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3QgdmlldyA9IHNwZWMgPz8gcmF3U3BlYyBhcyBQbHVnaW5TcGVjSW5wdXQ7XG4gIGNvbnN0IHJlcXVpcmVkID0gcGx1Z2luU3BlY1JlcXVpcmVkRmllbGRzUHJvYmxlbSh2aWV3KTtcbiAgaWYgKHJlcXVpcmVkKSBwcm9ibGVtcy5wdXNoKHJlcXVpcmVkKTtcbiAgaWYgKHR5cGVvZiB2aWV3Lm5hbWUgPT09ICdzdHJpbmcnICYmIHZpZXcubmFtZSAmJiAhUExVR0lOX05BTUVfUEFUVEVSTi50ZXN0KHZpZXcubmFtZSkpIHtcbiAgICBwcm9ibGVtcy5wdXNoKGAke3NwZWNGaWxlfTogbmFtZSBtdXN0IG1hdGNoICR7UExVR0lOX05BTUVfUEFUVEVSTn1gKTtcbiAgfVxuICBpZiAodHlwZW9mIHZpZXcudmVyc2lvbiA9PT0gJ3N0cmluZycgJiYgdmlldy52ZXJzaW9uICYmICFQTFVHSU5fVkVSU0lPTl9QQVRURVJOLnRlc3Qodmlldy52ZXJzaW9uKSkge1xuICAgIHByb2JsZW1zLnB1c2goYCR7c3BlY0ZpbGV9OiB2ZXJzaW9uIG11c3QgYmUgc2VtdmVyICh4LnkueilgKTtcbiAgfVxuXG4gIGNvbnN0IGlzQXBwcm92YWwgPSB2aWV3LnBsdWdpblR5cGUgPT09ICdNYW51YWxBcHByb3ZhbFN0ZXAnO1xuICBjb25zdCBkb2NrZXJmaWxlQ29udGVudCA9IHJlYWRJZkV4aXN0cyhwYXRoLmpvaW4oZGlyLCBkb2NrZXJmaWxlTmFtZSkpO1xuICBpZiAoYnVpbGRUeXBlID09PSAnYnVpbGRfaW1hZ2UnICYmICFpc0FwcHJvdmFsICYmIGRvY2tlcmZpbGVDb250ZW50ID09PSBudWxsKSB7XG4gICAgcHJvYmxlbXMucHVzaChgRG9ja2VyZmlsZSBub3QgZm91bmQgZm9yIGJ1aWxkVHlwZSBidWlsZF9pbWFnZTogJHtwYXRoLmpvaW4oZGlyLCBkb2NrZXJmaWxlTmFtZSl9YCk7XG4gIH1cbiAgaWYgKGJ1aWxkVHlwZSA9PT0gJ3ByZWJ1aWx0JyAmJiAhZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4oZGlyLCAnaW1hZ2UudGFyJykpKSB7XG4gICAgcHJvYmxlbXMucHVzaCgnaW1hZ2UudGFyIG5vdCBmb3VuZCBmb3IgYnVpbGRUeXBlIHByZWJ1aWx0Jyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRpcixcbiAgICBidWlsZFR5cGUsXG4gICAgc3BlY0ZpbGUsXG4gICAgc3BlYyxcbiAgICByYXdTcGVjLFxuICAgIGRvY2tlcmZpbGVOYW1lLFxuICAgIGRvY2tlcmZpbGVDb250ZW50OiBidWlsZFR5cGUgPT09ICdidWlsZF9pbWFnZScgPyBkb2NrZXJmaWxlQ29udGVudCA6IG51bGwsXG4gICAgcmVhZG1lTWQ6IHJlYWRJZkV4aXN0cyhwYXRoLmpvaW4oZGlyLCAnUkVBRE1FLm1kJykpLFxuICAgIHByb2JsZW1zLFxuICB9O1xufVxuXG4vKipcbiAqIGB7eyB9fWAgdGVtcGxhdGUgKyBwbHVnaW4tY29udHJhY3QgcHJvYmxlbXM6IGFwaS1jb3JlJ3NcbiAqIHtAbGluayBjaGVja1BsdWdpblRlbXBsYXRlc30sIHRoZSBzYW1lIGNoZWNrIHRoZSBzZXJ2ZXIncyB1cGxvYWQgYXBwbGllcyxcbiAqIHdpdGggcGlwZWxpbmUtY29yZSdzIHRlbXBsYXRlIGVuZ2luZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlbXBsYXRlUHJvYmxlbXMoc3BlYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGVuZ2luZSA9IGF3YWl0IGltcG9ydCgnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtY29yZScpO1xuICByZXR1cm4gY2hlY2tQbHVnaW5UZW1wbGF0ZXMoc3BlYywgZW5naW5lKS5tYXAoKGlzc3VlKSA9PiBgJHtURU1QTEFURV9JU1NVRV9QUkVGSVhbaXNzdWUua2luZF19JHtmb3JtYXRQbHVnaW5UZW1wbGF0ZUlzc3VlKGlzc3VlKX1gKTtcbn1cblxuY29uc3QgVEVNUExBVEVfSVNTVUVfUFJFRklYOiBSZWNvcmQ8UGx1Z2luVGVtcGxhdGVJc3N1ZVsna2luZCddLCBzdHJpbmc+ID0ge1xuICAndGVtcGxhdGUnOiAndGVtcGxhdGUgJyxcbiAgJ3VuZGVjbGFyZWQnOiAnY29udHJhY3Q6ICcsXG4gICd0eXBlLW1pc21hdGNoJzogJ2NvbnRyYWN0OiAnLFxufTtcblxuLyoqIEV2ZXJ5IHByb2JsZW0gdGhlIHVwbG9hZCB3b3VsZCByZWZ1c2U6IHJlYWRpbmcsIHNjaGVtYSwgYnVpbGQgdHlwZSwgdGVtcGxhdGVzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhY2thZ2VQcm9ibGVtcyhwa2c6IFBsdWdpblBhY2thZ2UpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIHJldHVybiBbLi4ucGtnLnByb2JsZW1zLCAuLi5hd2FpdCB0ZW1wbGF0ZVByb2JsZW1zKHBrZy5yYXdTcGVjKV07XG59XG5cbi8qKlxuICogVGhlIGNhdGFsb2cgZmllbGRzIGFzIHRoZSBzZXJ2ZXIgd2lsbCBERVRFQ1QgdGhlbSAoc3BlYyDihpIgUkVBRE1FIOKGkiB0aGVcbiAqIHBsdWdpbidzIG93biBEb2NrZXJmaWxlIGxhYmVscyDihpIgZGVyaXZlZCksIHdpdGggZWFjaCB2YWx1ZSdzIHNvdXJjZSBhbmQgYW55XG4gKiB2YWxpZGF0aW9uIGVycm9yIOKAlCB0aGUgc2FtZSBhcGktY29yZSBkZXRlY3Rpb24gdGhlIHVwbG9hZCBydW5zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0UGFja2FnZUNhdGFsb2cocGtnOiBQbHVnaW5QYWNrYWdlKTogRGV0ZWN0ZWRGaWVsZFtdIHtcbiAgLy8gRGV0ZWN0aW9uIHJlYWRzIG9ubHkgdGhlIGRlc2NyaXB0aXZlIGtleXMuIEEgc3BlYyB0aGF0IGZhaWxlZCB0aGUgc2NoZW1hXG4gIC8vIHN0aWxsIGhhcyB0aGVtIGluIHRoZSByYXcgZG9jdW1lbnQsIGFuZCBlYWNoIGlzIHJlLXZhbGlkYXRlZCBwZXIgZmllbGQuXG4gIGNvbnN0IHNwZWMgPSAocGtnLnNwZWMgPz8gcGtnLnJhd1NwZWMpIGFzIFBhcmFtZXRlcnM8dHlwZW9mIGRldGVjdENhdGFsb2dNZXRhZGF0YT5bMF1bJ3NwZWMnXTtcbiAgcmV0dXJuIGRldGVjdENhdGFsb2dNZXRhZGF0YSh7IHNwZWMsIHJlYWRtZU1kOiBwa2cucmVhZG1lTWQsIGRvY2tlcmZpbGVDb250ZW50OiBwa2cuZG9ja2VyZmlsZUNvbnRlbnQgfSk7XG59XG5cbi8qKiBIdW1hbi1yZWFkYWJsZSBzb3VyY2UgYmFkZ2UgKHRoZSB1cGxvYWQgZGlhbG9nJ3Mgd29yZGluZykuICovXG5leHBvcnQgY29uc3QgU09VUkNFX0xBQkVMUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgc3BlYzogJ1NwZWMnLCByZWFkbWU6ICdSRUFETUUnLCBkb2NrZXJmaWxlOiAnRG9ja2VyZmlsZSBsYWJlbCcsIGRlcml2ZWQ6ICdHZW5lcmF0ZWQnLCB1c2VyOiAnRWRpdGVkJyxcbn07XG5cbi8qKiBBIG9uZS1saW5lIHJlbmRlcmluZyBvZiBhIGNhdGFsb2cgdmFsdWUuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Q2F0YWxvZ1ZhbHVlKHZhbHVlOiB1bmtub3duLCBtYXggPSA4MCk6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gJyhlbXB0eSknO1xuICBsZXQgdGV4dDogc3RyaW5nO1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHt0ZXh0ID0gdmFsdWUuam9pbignLCAnKTt9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCBpY29uID0gdmFsdWUgYXMgeyBrZXk/OiBzdHJpbmc7IGJhZGdlPzogc3RyaW5nIH07XG4gICAgdGV4dCA9IGljb24ua2V5ID8gYCR7aWNvbi5rZXl9JHtpY29uLmJhZGdlID8gYCAoYmFkZ2U6ICR7aWNvbi5iYWRnZX0pYCA6ICcnfWAgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH0gZWxzZSB7dGV4dCA9IFN0cmluZyh2YWx1ZSk7fVxuICBjb25zdCBmbGF0ID0gdGV4dC5yZXBsYWNlKC9cXHMrL2csICcgJykudHJpbSgpO1xuICByZXR1cm4gZmxhdC5sZW5ndGggPiBtYXggPyBgJHtmbGF0LnNsaWNlKDAsIG1heCAtIDEpfeKApmAgOiBmbGF0O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-resolver.d.ts","
|
|
1
|
+
{"version":3,"file":"plugin-resolver.d.ts","sources":["../../src/utils/plugin-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAC6D,KAAK,aAAa,EAErF,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqH5C,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE;IAAvD,YAAqB,QAAQ,EAAE,SAAS,aAAa,EAAE,EAKtD;CACF;AAmBD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAG9E;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAOlF;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,CAAC,EAAE,aAAa,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqElC"}
|
|
@@ -254,4 +254,4 @@ export async function resolvePluginsForProps(client, props, warningSink) {
|
|
|
254
254
|
throw new PluginResolutionError(fatal);
|
|
255
255
|
return resolved;
|
|
256
256
|
}
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsdWdpbi1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUNMLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUNoRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEdBQy9FLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFXakQ7Ozs7R0FJRztBQUNILFNBQVMsUUFBUSxDQUFDLEdBQWM7SUFDOUIsT0FBTyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEtBQThCO0lBQ3ZELE1BQU0sSUFBSSxHQUFnQixFQUFFLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFFdkMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFZLEVBQVEsRUFBRTtRQUNsQyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLEdBQWdCLENBQUM7UUFDM0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNwQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsd0VBQXdFO1FBQ3hFLDJFQUEyRTtRQUMzRSxNQUFNLElB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VUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLFlBQVksQ0FBQyxXQUFXLEtBQUssNEJBQTRCLEdBQUcsNENBQTRDLENBQUMsQ0FBQztRQUM1RyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVKLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgRXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQge1xuICBjb2xsZWN0UGx1Z2luU3RlcHMsIGV4YWN0UGluTm90Rm91bmRNZXNzYWdlLCBsb29rdXBOb3RGb3VuZFN0YXRlLCB0eXBlIExvb2t1cFdhcm5pbmcsIHR5cGUgTG9va3VwV2FybmluZ1NldmVyaXR5LFxuICBwbHVnaW5BcnRpZmFjdEFsaWFzLCBwbHVnaW5Mb29rdXBGaWx0ZXIsIHN1bW1hcml6ZUxvb2t1cFdhcm5pbmdzLCB1bndyYXBMb29rdXAsXG59IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUnO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBBcGlDbGllbnQgfSBmcm9tICcuL2FwaS1jbGllbnQuanMnO1xuaW1wb3J0IHsgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuXG4vKiogTWluaW1hbCBwbHVnaW4gcmVmZXJlbmNlIHNoYXBlIOKAlCBtYXRjaGVzIFBsdWdpbk9wdGlvbnMgZnJvbSBwaXBlbGluZS1jb3JlLiAqL1xuaW50ZXJmYWNlIFBsdWdpblJlZiB7XG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFB1Ymxpc2hlciBoYW5kbGUgb2YgYW4gaW5zdGFsbGVkIGxpc3RpbmcuICovXG4gIHB1Ymxpc2hlcj86IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIGZpbHRlcj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIENhY2hlIGtleSBtYXRjaGluZyBgUGx1Z2luTG9va3VwLm5vcm1hbGl6ZSgpYDogdGhlIGV4cGxpY2l0IGFsaWFzIHdoZW4gc2V0LFxuICogb3RoZXJ3aXNlIGBbPHB1Ymxpc2hlcj4tXTxuYW1lPi1hbGlhc2Ag4oCUIHBpcGVsaW5lLWNvcmUnc1xuICogYHBsdWdpbkFydGlmYWN0QWxpYXNgLCB0aGUgb25lIHJ1bGUgZXZlcnkgY29uc3VtZXIgb2YgdGhpcyBtYXAgdXNlcy5cbiAqL1xuZnVuY3Rpb24gY2FjaGVLZXkocmVmOiBQbHVnaW5SZWYpOiBzdHJpbmcge1xuICByZXR1cm4gcGx1Z2luQXJ0aWZhY3RBbGlhcyhyZWYpO1xufVxuXG4vKipcbiAqIFdhbGsgdGhlIHBpcGVsaW5lIHByb3BzIHRyZWUgdG8gY29sbGVjdCBldmVyeSBwbHVnaW4gcmVmZXJlbmNlLiBQbHVnaW5zXG4gKiBhcHBlYXIgYXQgYHN5bnRoLnBsdWdpbmAgYW5kIGF0IGBzdGFnZXNbXS5zdGVwc1tdLnBsdWdpbmAuIEVudHJpZXMgYXJlXG4gKiBkZS1kdXBsaWNhdGVkIGJ5IGBjYWNoZUtleSgpYCDigJQgdGhlIHNhbWUga2V5IGBQbHVnaW5Mb29rdXAucGx1Z2luKClgIHVzZXMsXG4gKiBzbyB0aGUgcmVzb2x2ZWQtcGx1Z2lucyBtYXAgbG9va3VwcyBtYXRjaCBkb3duc3RyZWFtLlxuICovXG5mdW5jdGlvbiBjb2xsZWN0UGx1Z2luUmVmcyhwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQbHVnaW5SZWZbXSB7XG4gIGNvbnN0IHJlZnM6IFBsdWdpblJlZltdID0gW107XG4gIGNvbnN0IHNlZW4gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gIGNvbnN0IHB1c2ggPSAocmF3OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgaWYgKCFyYXcgfHwgdHlwZW9mIHJhdyAhPT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBjb25zdCByID0gcmF3IGFzIFBsdWdpblJlZjtcbiAgICBpZiAoIXIubmFtZSkgcmV0dXJuO1xuICAgIGNvbnN0IGtleSA9IGNhY2hlS2V5KHIpO1xuICAgIC8vIFRoZSBuYW1lIHRoZSBsb29rdXAgd2lsbCBUQVJHRVQg4oCUIGFuIGV4cGxpY2l0IGBmaWx0ZXIubmFtZWAgd2lucyAoc2VlXG4gICAgLy8gYmVsb3cpLCBzbyB0d28gcmVmcyB0aGF0IHJlc29sdmUgdG8gdGhlIHNhbWUgcGx1Z2luIGFyZSBub3QgYSBjb2xsaXNpb24uXG4gICAgY29uc3QgbmFtZSA9IChyLmZpbHRlcj8ubmFtZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/IHIubmFtZTtcbiAgICBjb25zdCB0YXJnZXQgPSByLnB1Ymxpc2hlciA/IGAke3IucHVibGlzaGVyfS8ke25hbWV9YCA6IG5hbWU7XG4gICAgY29uc3QgaG9sZGVyID0gc2Vlbi5nZXQoa2V5KTtcbiAgICBpZiAoaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE9uZSBhbGlhcyBjYW4gb25seSBldmVyIG1lYW4gb25lIHBsdWdpbi4gRGVkdXBsaWNhdGluZyBvbiB0aGUgYWxpYXNcbiAgICAgIC8vIGFsb25lIGtlcHQgdGhlIEZJUlNUIHBsdWdpbiBhbmQgc2lsZW50bHkgZHJvcHBlZCB0aGUgc2Vjb25kLCBzbyBhIHN0ZXBcbiAgICAgIC8vIGRlY2xhcmluZyBgeyBuYW1lOiAnbWF2ZW4tYnVpbGQnLCBhbGlhczogJ2J1aWxkJyB9YCBhZnRlciBhbm90aGVyXG4gICAgICAvLyBkZWNsYXJpbmcgYHsgbmFtZTogJ25vZGVqcy1idWlsZCcsIGFsaWFzOiAnYnVpbGQnIH1gIHJhbiBub2RlanMtYnVpbGQnc1xuICAgICAgLy8gaW1hZ2UgYW5kIGNvbW1hbmRzIOKAlCBubyBlcnJvciwganVzdCB0aGUgd3JvbmcgYnVpbGQuXG4gICAgICBpZiAoaG9sZGVyICE9PSB0YXJnZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBQbHVnaW4gYWxpYXMgXCIke2tleX1cIiBpcyB1c2VkIGZvciB0d28gZGlmZmVyZW50IHBsdWdpbnMgKFwiJHtob2xkZXJ9XCIgYW5kIFwiJHt0YXJnZXR9XCIpLiBgXG4gICAgICAgICAgKyAnR2l2ZSBlYWNoIHBsdWdpbiBpdHMgb3duIGFsaWFzLicsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNlZW4uc2V0KGtleSwgdGFyZ2V0KTtcbiAgICByZWZzLnB1c2gocik7XG4gIH07XG5cbiAgY29uc3Qgc3ludGggPSBwcm9wcy5zeW50aCBhcyB7IHBsdWdpbj86IHVua25vd24gfSB8IHVuZGVmaW5lZDtcbiAgcHVzaChzeW50aD8ucGx1Z2luKTtcblxuICBjb25zdCBzdGFnZXMgPSBwcm9wcy5zdGFnZXMgYXMgQXJyYXk8eyBzdGVwcz86IEFycmF5PHsgcGx1Z2luPzogdW5rbm93biB9PiB9PiB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBzdGFnZSBvZiBzdGFnZXMgPz8gW10pIHtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2Ygc3RhZ2Uuc3RlcHMgPz8gW10pIHtcbiAgICAgIHB1c2goc3RlcC5wbHVnaW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWZzO1xufVxuXG4vKipcbiAqIExvb2t1cCByZWZ1c2FscyB0aGF0IG11c3QgU1RPUCB0aGUgc3ludGggcmF0aGVyIHRoYW4gZmFsbCBiYWNrIHRvXG4gKiBkZXBsb3ktdGltZSByZXNvbHV0aW9uOiBhbiBpbWFnZSB3aG9zZSBzaWduYXR1cmUgZG9lc24ndCB2ZXJpZnksIGEgbGlzdGluZ1xuICogdGhlIG9yZyBjYW4ndCB1c2UgKG5vdCBpbnN0YWxsZWQsIGJsb2NrZWQgYnkgaXRzIGFsbG93L2RlbnkgcG9saWN5LCB5YW5rZWRcbiAqIG9yIHN1c3BlbmRlZCksIGFuZCBhbiBvcmcgcGx1Z2luIHRoYXQgd2FzIGRlbGV0ZWQuIEZhbGxpbmcgYmFjayB3b3VsZFxuICogcXVpZXRseSB0dXJuIGVhY2ggaW50byBhbiB1bnJlc29sdmVkIHN0ZXAgdGhhdCBmYWlscyBhdCBydW4gdGltZSBpbnN0ZWFkIG9mXG4gKiBub3cuIFZ1bG5lcmFiaWxpdHkgc3RhdGUgaXMgTkVWRVIgb25lIG9mIHRoZXNlOiBpdCBhcnJpdmVzIGFzIGdyYWRlZFxuICogd2FybmluZ3MgYmVzaWRlIGEgcmVzb2x2ZWQgcGx1Z2luLlxuICovXG5jb25zdCBGQVRBTF9MT09LVVBfQ09ERVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICBFcnJvckNvZGUuSU1BR0VfVkVSSUZJQ0FUSU9OX0ZBSUxFRCxcbiAgRXJyb3JDb2RlLlBMVUdJTl9OT1RfSU5TVEFMTEVELFxuICBFcnJvckNvZGUuUExVR0lOX0JMT0NLRURfQllfUE9MSUNZLFxuICBFcnJvckNvZGUuUExVR0lOX1VOQVZBSUxBQkxFLFxuICAvLyBUaGUgb3JnJ3Mgb3duIHBsdWdpbiB3YXMgZGVsZXRlZDogdGhlIGxvb2t1cCByZWZ1c2VzIGl0IHJhdGhlciB0aGFuIGZhbGxcbiAgLy8gdGhyb3VnaCB0byBhIHNhbWUtbmFtZSBsaXN0aW5nLiAoUGx1Z2luIHNlcnZpY2UgY29kZTsgbWF0Y2hlZCBhcyBhIHN0cmluZy4pXG4gICdQTFVHSU5fREVMRVRFRCcsXG5dO1xuXG4vKiogVGhlIGVycm9yIGNvZGUgb2YgYSBwbHVnaW4gc2VydmljZSBhbnN3ZXIsIHdoZW4gaXQgaXMgb25lIG9mIHtAbGluayBGQVRBTF9MT09LVVBfQ09ERVN9LiAqL1xuZnVuY3Rpb24gZmF0YWxMb29rdXBDb2RlKGVycjogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBkYXRhID0gKGVyciBhcyB7IHJlc3BvbnNlPzogeyBkYXRhPzogdW5rbm93biB9IH0gfCB1bmRlZmluZWQpPy5yZXNwb25zZT8uZGF0YTtcbiAgY29uc3QgY29kZSA9IGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnID8gKGRhdGEgYXMgeyBjb2RlPzogdW5rbm93biB9KS5jb2RlIDogdW5kZWZpbmVkO1xuICByZXR1cm4gdHlwZW9mIGNvZGUgPT09ICdzdHJpbmcnICYmIEZBVEFMX0xPT0tVUF9DT0RFUy5pbmNsdWRlcyhjb2RlKSA/IGNvZGUgOiBudWxsO1xufVxuXG4vKiogV2hldGhlciB0aGUgcGx1Z2luIHNlcnZpY2UgYW5zd2VyZWQgXCJubyBzdWNoIHBsdWdpbi92ZXJzaW9uXCIgKDQwNCBOT1RfRk9VTkQpLiAqL1xuZnVuY3Rpb24gaXNOb3RGb3VuZChlcnI6IHVua25vd24pOiBib29sZWFuIHtcbiAgY29uc3QgcmVzcG9uc2UgPSAoZXJyIGFzIHsgcmVzcG9uc2U/OiB7IHN0YXR1cz86IHVua25vd247IGRhdGE/OiB1bmtub3duIH0gfSB8IHVuZGVmaW5lZCk/LnJlc3BvbnNlO1xuICBjb25zdCBjb2RlID0gcmVzcG9uc2U/LmRhdGEgJiYgdHlwZW9mIHJlc3BvbnNlLmRhdGEgPT09ICdvYmplY3QnID8gKHJlc3BvbnNlLmRhdGEgYXMgeyBjb2RlPzogdW5rbm93biB9KS5jb2RlIDogdW5kZWZpbmVkO1xuICByZXR1cm4gcmVzcG9uc2U/LnN0YXR1cyA9PT0gNDA0IHx8IGNvZGUgPT09IEVycm9yQ29kZS5OT1RfRk9VTkQ7XG59XG5cbi8qKlxuICogVGhlIHZlcnNpb24gYSByZWZlcmVuY2UgUElOUyDigJQgb25lIGV4YWN0IGB4LnkuelstcHJlXWAsIG5vdCBhIHJhbmdlIG9yXG4gKiBgbGF0ZXN0YC4gQSBwaW4gbmFtZXMgYSB2ZXJzaW9uIHRoYXQgbXVzdCBleGlzdDogaWYgaXQgZG9lc24ndCAobmV2ZXJcbiAqIHB1Ymxpc2hlZCwgb3IgcmVmdXNlZCBieSB0aGUgYnVpbGQncyB2dWxuZXJhYmlsaXR5IGdhdGUsIHdoaWNoIHNhdmVzXG4gKiBub3RoaW5nKSwgdGhlcmUgaXMgbm8gb3V0YWdlIHRvIHJpZGUgb3V0IGFuZCBub3RoaW5nIGZvciB0aGUgZGVwbG95LXRpbWVcbiAqIGxvb2t1cCB0byBmaW5kIGVpdGhlci5cbiAqL1xuZnVuY3Rpb24gZXhhY3RWZXJzaW9uUGluKHJlZjogUGx1Z2luUmVmKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHZlcnNpb24gPSByZWYuZmlsdGVyPy52ZXJzaW9uO1xuICByZXR1cm4gdHlwZW9mIHZlcnNpb24gPT09ICdzdHJpbmcnICYmIC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bMC05QS1aYS16Li1dKyk/JC8udGVzdCh2ZXJzaW9uKSA/IHZlcnNpb24gOiBudWxsO1xufVxuXG4vKiogT25lIHBsdWdpbiB0aGUgc3ludGggY291bGQgbm90IHVzZSwgYXMge0BsaW5rIFBsdWdpblJlc29sdXRpb25FcnJvcn0gcmVwb3J0cyBpdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luUmVmdXNhbCB7XG4gIC8qKiBgWzxwdWJsaXNoZXI+L108bmFtZT5gIG9mIHRoZSByZWZlcmVuY2UuICovXG4gIHJlYWRvbmx5IHBsdWdpbjogc3RyaW5nO1xuICAvKiogVGhlIHBsdWdpbiBzZXJ2aWNlJ3MgZXJyb3IgY29kZSwgb3IgYSBsb2NhbCBvbmUgKGBQTFVHSU5fVkVSU0lPTl9OT1RfRk9VTkRgKS4gKi9cbiAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRXZlcnkgZmF0YWwgcmVmdXNhbCBvZiBvbmUgcHJlLXJlc29sdXRpb24gcGFzcy4gQ2FycmllcyB0aGUgc3RydWN0dXJlZCBsaXN0XG4gKiBhcyB3ZWxsIGFzIHRoZSBodW1hbiBtZXNzYWdlLCBzbyB0aGUgc3ludGggY2FuIGVtaXQgYSBtYWNoaW5lLXJlYWRhYmxlXG4gKiBmYWlsdXJlIGxpbmUgKGBQQl9TWU5USF9GQUlMVVJFYCkgdGhlIGV4ZWN1dGlvbiBldmVudHMgcGljayB1cC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpblJlc29sdXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcmVmdXNhbHM6IHJlYWRvbmx5IFBsdWdpblJlZnVzYWxbXSkge1xuICAgIHN1cGVyKHJlZnVzYWxzLmxlbmd0aCA9PT0gMVxuICAgICAgPyByZWZ1c2Fsc1swXSEubWVzc2FnZVxuICAgICAgOiBgJHtyZWZ1c2Fscy5sZW5ndGh9IHBsdWdpbnMgY2FuJ3QgYmUgdXNlZDpcXG4ke3JlZnVzYWxzLm1hcCgocikgPT4gYCAgLSAke3IubWVzc2FnZX1gKS5qb2luKCdcXG4nKX1gKTtcbiAgICB0aGlzLm5hbWUgPSAnUGx1Z2luUmVzb2x1dGlvbkVycm9yJztcbiAgfVxufVxuXG4vKipcbiAqIFdoeSBhbiBleGFjdCBwaW4gd2FzIG5vdCBmb3VuZCwgcGhyYXNlZCBmcm9tIHRoZSA0MDQncyBgZGV0YWlscy5zdGF0ZWBcbiAqIChgZGVsZXRlZGAgLyBgaW5hY3RpdmVgIC8gYHlhbmtlZGAgLyBgbWlzc2luZ2ApLiBXaXRob3V0IGEgc3RhdGUgdGhlIGFuc3dlclxuICogY2Fubm90IHRlbGwgdGhlIGNhc2VzIGFwYXJ0LCBzbyB0aGUgbWVzc2FnZSBuYW1lcyB0aGUgdHdvIGxpa2VsaWVzdC5cbiAqIFNoYXJlZCB3aXRoIHRoZSBkZXBsb3ktdGltZSBMYW1iZGEncyBDbG91ZEZvcm1hdGlvbiByZWFzb24gKHBpcGVsaW5lLWNvcmUpLlxuICovXG5mdW5jdGlvbiBwaW5Ob3RGb3VuZE1lc3NhZ2UobGFiZWw6IHN0cmluZywgcGluOiBzdHJpbmcsIGVycj86IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gZXhhY3RQaW5Ob3RGb3VuZE1lc3NhZ2UobGFiZWwsIHBpbiwgbG9va3VwTm90Rm91bmRTdGF0ZShlcnIpKTtcbn1cblxuY29uc3QgU0VWRVJJVFlfU1RZTEU6IFJlY29yZDxMb29rdXBXYXJuaW5nU2V2ZXJpdHksIChzOiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gIGluZm86IHBpY28uY3lhbixcbiAgd2FybmluZzogcGljby55ZWxsb3csXG4gIGVycm9yOiBwaWNvLnJlZCxcbiAgY3JpdGljYWw6ICh0KSA9PiBwaWNvLmJvbGQocGljby5yZWQodCkpLFxufTtcblxuLyoqIFByaW50IG9uZSBsb29rdXAgd2FybmluZywgcHJlZml4ZWQgYW5kIGNvbG91cmVkIGJ5IGl0cyBzZXZlcml0eS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludExvb2t1cFdhcm5pbmcobGFiZWw6IHN0cmluZywgd2FybmluZzogTG9va3VwV2FybmluZyk6IHZvaWQge1xuICBjb25zdCB0YWcgPSBTRVZFUklUWV9TVFlMRVt3YXJuaW5nLnNldmVyaXR5XShgWyR7d2FybmluZy5zZXZlcml0eS50b1VwcGVyQ2FzZSgpfV1gKTtcbiAgcHJpbnRXYXJuaW5nKGAke3RhZ30gUGx1Z2luIFwiJHtsYWJlbH1cIjogJHt3YXJuaW5nLm1lc3NhZ2V9YCk7XG59XG5cbi8qKiBQcmludCB0aGUgb25lLWxpbmUgc2V2ZXJpdHkgc3VtbWFyeSBvZiBhIHN5bnRoJ3MgbG9va3VwIHdhcm5pbmdzIChub3RoaW5nIHdoZW4gbm9uZSkuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMb29rdXBXYXJuaW5nU3VtbWFyeSh3YXJuaW5nczogcmVhZG9ubHkgTG9va3VwV2FybmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IGxpbmUgPSBzdW1tYXJpemVMb29rdXBXYXJuaW5ncyh3YXJuaW5ncyk7XG4gIGlmICghbGluZSkgcmV0dXJuO1xuICBjb25zdCB3b3JzdCA9IHdhcm5pbmdzLnNvbWUoKHcpID0+IHcuc2V2ZXJpdHkgPT09ICdjcml0aWNhbCcpID8gJ2NyaXRpY2FsJ1xuICAgIDogd2FybmluZ3Muc29tZSgodykgPT4gdy5zZXZlcml0eSA9PT0gJ2Vycm9yJykgPyAnZXJyb3InXG4gICAgICA6IHdhcm5pbmdzLnNvbWUoKHcpID0+IHcuc2V2ZXJpdHkgPT09ICd3YXJuaW5nJykgPyAnd2FybmluZycgOiAnaW5mbyc7XG4gIHByaW50V2FybmluZyhTRVZFUklUWV9TVFlMRVt3b3JzdF0obGluZSkpO1xufVxuXG4vKiogVGhlIHBsdWdpbiBzZXJ2aWNlJ3Mgb3duIHJlZnVzYWwgbWVzc2FnZSwgd2hlbiB0aGUgYW5zd2VyIGNhcnJpZXMgb25lLiAqL1xuZnVuY3Rpb24gc2VydmljZU1lc3NhZ2UoZXJyOiB1bmtub3duKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IGRhdGEgPSAoZXJyIGFzIHsgcmVzcG9uc2U/OiB7IGRhdGE/OiB1bmtub3duIH0gfSB8IHVuZGVmaW5lZCk/LnJlc3BvbnNlPy5kYXRhO1xuICBjb25zdCBtZXNzYWdlID0gZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgPyAoZGF0YSBhcyB7IG1lc3NhZ2U/OiB1bmtub3duIH0pLm1lc3NhZ2UgOiB1bmRlZmluZWQ7XG4gIHJldHVybiB0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgbWVzc2FnZS5sZW5ndGggPiAwID8gbWVzc2FnZSA6IG51bGw7XG59XG5cbi8qKlxuICogUHJlLXJlc29sdmUgcGx1Z2lucyBieSBjYWxsaW5nIHRoZSBzYW1lIGBQT1NUIC9hcGkvcGx1Z2lucy9sb29rdXBgIGVuZHBvaW50XG4gKiB0aGUgZGVwbG95LXRpbWUgY3VzdG9tIHJlc291cmNlIExhbWJkYSB1c2VzLiBSZXR1cm5pbmcgdGhlIGZ1bGwgUGx1Z2luXG4gKiByZWNvcmQgYXQgc3ludGggdGltZSBpcyB3aGF0IGFsbG93cyB0aGUgcmVzdWx0aW5nIENGTiB0ZW1wbGF0ZSB0byBzaGlwXG4gKiB3aXRoIHJlYWwgQ29kZUJ1aWxkIGltYWdlIFVSSXMgKGA8aG9zdD4vPG5zPi88bmFtZT46PHZlcnNpb24+YCkgcmF0aGVyIHRoYW5cbiAqIHRoZSBgYXdzL2NvZGVidWlsZC9zdGFuZGFyZDo3LjBgIGZhbGxiYWNrIHRoYXQgdGhlIHN5bnRoLXRpbWUgdG9rZW4gcGF0aFxuICogZm9yY2VzLlxuICpcbiAqIEZhaWx1cmVzIGFyZSBub24tZmF0YWw6IGEgbWlzc2luZyBwbHVnaW4gb3IgdW5yZWFjaGFibGUgQVBJIGxvZ3MgYSB3YXJuaW5nXG4gKiBhbmQgZmFsbHMgdGhyb3VnaCB0byB0aGUgZGVwbG95LXRpbWUgY3VzdG9tIHJlc291cmNlIHBhdGggc28gcGFydGlhbFxuICogcGxhdGZvcm0gb3V0YWdlcyBkb24ndCBibG9jayBzeW50aC9kZXBsb3kuIFRoZSBleGNlcHRpb25zIGFib3J0IHRoZSBzeW50aDpcbiAqIHRoZSB7QGxpbmsgRkFUQUxfTE9PS1VQX0NPREVTfSByZWZ1c2FscywgYW5kIGFuIGV4YWN0IHZlcnNpb24gcGluIHRoYXQgZG9lc1xuICogbm90IGV4aXN0LlxuICpcbiAqIEV2ZXJ5IHJlZmVyZW5jZSBpcyBsb29rZWQgdXAgYmVmb3JlIGFueXRoaW5nIGlzIHRocm93biwgYW5kIEFMTCBmYXRhbFxuICogcmVmdXNhbHMgYXJlIHJlcG9ydGVkIHRvZ2V0aGVyLiBTdG9wcGluZyBhdCB0aGUgZmlyc3QgbWVhbnQgYSBwaXBlbGluZSB3aXRoXG4gKiB0aHJlZSByZWZ1c2VkIHBsdWdpbnMgdG9vayB0aHJlZSBzeW50aCBhdHRlbXB0cyB0byBsZWFybiBhYm91dCBhbGwgdGhyZWUuXG4gKlxuICogRXZlcnkgbG9va3VwIHdhcm5pbmcgaXMgcHJpbnRlZCwgZ3JhZGVkIGJ5IHNldmVyaXR5LCBhbmQgYXBwZW5kZWQgdG9cbiAqIGB3YXJuaW5nU2lua2Agd2hlbiBnaXZlbiAodGhlIHN5bnRoIHByaW50cyBhIG9uZS1saW5lIHN1bW1hcnkgYXQgaXRzIGVuZCkuXG4gKiBBIHdhcm5pbmcgbmV2ZXIgZmFpbHMgdGhlIHN5bnRoIOKAlCB2dWxuZXJhYmlsaXR5IHN0YXRlIGlzIHJlcG9ydGVkLCBub3RcbiAqIGVuZm9yY2VkLlxuICpcbiAqIFdoZW4gdGhlIHByb3BzIGNhcnJ5IGEgYHBpcGVsaW5lSWRgLCBlYWNoIGxvb2t1cCBhbHNvIHNlbmRzXG4gKiBgY29udGV4dDogeyBwaXBlbGluZUlkLCBzdGVwS2V5cyB9YCDigJQgdGhlIGxhYmVsIChgcGx1Z2luU3RlcExhYmVsYDogYHN5bnRoYCBvclxuICogYDxzdGFnZT4vPGFsaWFzID8/IG5hbWU+YCkgb2YgRVZFUlkgc3RlcCB0aGUgZGUtZHVwbGljYXRlZCByZWZlcmVuY2Ugc2VydmVzIOKAlFxuICogc28gdGhlIHBsdWdpbiBzZXJ2aWNlIGNhbiByZWNvcmQgdGhlIHdhcm5pbmdzIGl0IHJldHVybnMgYWdhaW5zdCBlYWNoIG9mXG4gKiB0aG9zZSBwaXBlbGluZSBzdGVwcywgbm90IG9ubHkgcHJpbnQgdGhlbSBpbnRvIHRoaXMgc3ludGgncyBsb2cuXG4gKlxuICogS2V5ZWQgYnkgYGFsaWFzIHx8IG5hbWVgIHRvIG1hdGNoIGBQbHVnaW5Mb29rdXAucGx1Z2luKClgLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVBsdWdpbnNGb3JQcm9wcyhcbiAgY2xpZW50OiBBcGlDbGllbnQsXG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgd2FybmluZ1Npbms/OiBMb29rdXBXYXJuaW5nW10sXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IHJlZnMgPSBjb2xsZWN0UGx1Z2luUmVmcyhwcm9wcyk7XG4gIGlmIChyZWZzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHt9O1xuXG4gIGNvbnN0IHBpcGVsaW5lSWQgPSB0eXBlb2YgcHJvcHMucGlwZWxpbmVJZCA9PT0gJ3N0cmluZycgJiYgcHJvcHMucGlwZWxpbmVJZC5sZW5ndGggPiAwID8gcHJvcHMucGlwZWxpbmVJZCA6IHVuZGVmaW5lZDtcbiAgLy8gT25lIGxvb2t1cCBwZXIgYWxpYXMgbWF5IHNlcnZlIHNldmVyYWwgc3RlcHM6IHRoZSBsYWJlbHMgb2YgZWFjaCwgYnkgYWxpYXMuXG4gIGNvbnN0IHN0ZXBLZXlzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuICBmb3IgKGNvbnN0IHN0ZXAgb2YgY29sbGVjdFBsdWdpblN0ZXBzKHByb3BzKSkge1xuICAgIGNvbnN0IGtleSA9IGNhY2hlS2V5KHN0ZXApO1xuICAgIHN0ZXBLZXlzLnNldChrZXksIFsuLi4oc3RlcEtleXMuZ2V0KGtleSkgPz8gW10pLCBzdGVwLmxhYmVsXSk7XG4gIH1cbiAgY29uc3QgcmVzb2x2ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGNvbnN0IGZhdGFsOiBQbHVnaW5SZWZ1c2FsW10gPSBbXTtcblxuICBhd2FpdCBQcm9taXNlLmFsbChyZWZzLm1hcChhc3luYyAocmVmKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gY2FjaGVLZXkocmVmKTtcbiAgICBjb25zdCBsYWJlbCA9IHJlZi5wdWJsaXNoZXIgPyBgJHtyZWYucHVibGlzaGVyfS8ke3JlZi5uYW1lfWAgOiByZWYubmFtZTtcbiAgICAvLyBUaGUgcGx1Z2luIE5BTUUgbGl2ZXMgb24gdGhlIHJlZiAoYSBzaWJsaW5nIG9mIGBmaWx0ZXJgKSwgTk9UIGluc2lkZSB0aGVcbiAgICAvLyBmaWx0ZXIgb2JqZWN0IOKAlCBidXQgdGhlIGxvb2t1cCBtYXRjaGVzIG9uIHRoZSBmaWx0ZXIuIEEgZmlsdGVyIHdpdGhvdXRcbiAgICAvLyBgbmFtZWAgKGUuZy4gYHt2ZXJzaW9uLCB2aXNpYmlsaXR5LCBpc0FjdGl2ZSwgaXNEZWZhdWx0fWApIG1hdGNoZXMgQU5ZXG4gICAgLy8gcGx1Z2luIHdpdGggdGhvc2UgYXR0cmlidXRlcywgYW5kIHRoZSBlbmRwb2ludCByZXR1cm5zIGFuIGFyYml0cmFyeSBvbmVcbiAgICAvLyAoc2VlbjogYGRvY2tlcmZpbGUtbXVsdGktcHJvdmlkZXJgKS4gVGhhdCBtYWRlIHRoZSBzeW50aCBhbmQgZXZlcnkgc3RlcFxuICAgIC8vIHJlc29sdmUgdG8gdGhlIFdST05HIHBsdWdpbi4gU28gd2hlbiB0aGUgZmlsdGVyIG9taXRzIGBuYW1lYCwgZmFsbCBiYWNrIHRvXG4gICAgLy8gdGhlIHJlZidzIHBsdWdpbiBuYW1lOyBhbiBleHBsaWNpdCBmaWx0ZXIgYG5hbWVgIHN0aWxsIHRha2VzIHByZWNlZGVuY2UuXG4gICAgLy8gU2hhcmVkIHdpdGggdGhlIHBpcGVsaW5lIHNlcnZpY2UncyBjb250cmFjdCBjaGVjayAoc2FtZSBmaWx0ZXIsIHNhbWUgcGx1Z2luKS5cbiAgICBjb25zdCBmaWx0ZXIgPSBwbHVnaW5Mb29rdXBGaWx0ZXIocmVmKTtcbiAgICBjb25zdCBwaW4gPSBleGFjdFZlcnNpb25QaW4ocmVmKTtcbiAgICBjb25zdCByZWZ1c2UgPSAoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkID0+IHsgZmF0YWwucHVzaCh7IHBsdWdpbjogbGFiZWwsIGNvZGUsIG1lc3NhZ2UgfSk7IH07XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGNsaWVudC5wb3N0PHVua25vd24+KCcvYXBpL3BsdWdpbnMvbG9va3VwJywge1xuICAgICAgICBmaWx0ZXIsXG4gICAgICAgIC4uLihwaXBlbGluZUlkICYmIHN0ZXBLZXlzLmhhcyhrZXkpID8geyBjb250ZXh0OiB7IHBpcGVsaW5lSWQsIHN0ZXBLZXlzOiBzdGVwS2V5cy5nZXQoa2V5KSB9IH0gOiB7fSksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgcGx1Z2luLCB3YXJuaW5ncyB9ID0gdW53cmFwTG9va3VwKHJlcyk7XG4gICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2Ygd2FybmluZ3MpIHtcbiAgICAgICAgcHJpbnRMb29rdXBXYXJuaW5nKGxhYmVsLCB3YXJuaW5nKTtcbiAgICAgICAgd2FybmluZ1Npbms/LnB1c2god2FybmluZyk7XG4gICAgICB9XG4gICAgICBpZiAocGx1Z2luKSB7XG4gICAgICAgIHJlc29sdmVkW2tleV0gPSBwbHVnaW47XG4gICAgICB9IGVsc2UgaWYgKHBpbikge1xuICAgICAgICByZWZ1c2UoJ1BMVUdJTl9WRVJTSU9OX05PVF9GT1VORCcsIHBpbk5vdEZvdW5kTWVzc2FnZShsYWJlbCwgcGluKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmludFdhcm5pbmcoYFBsdWdpbiBcIiR7bGFiZWx9XCIgbG9va3VwIHJldHVybmVkIG5vIHJlY29yZCDigJQgZmFsbGluZyBiYWNrIHRvIGRlcGxveS10aW1lIHJlc29sdXRpb25gKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIEEgcGx1Z2luIHdob3NlIGltYWdlIHNpZ25hdHVyZSBkb2Vzbid0IHZlcmlmeSwgb3IgYSBsaXN0aW5nIHRoZSBvcmdcbiAgICAgIC8vIGNhbid0IHVzZSwgaXMgTk9UIGFuIG91dGFnZSB0byByaWRlIG91dDogZmFsbGluZyBiYWNrIHdvdWxkIHF1aWV0bHlcbiAgICAgIC8vIHR1cm4gaXQgaW50byBhbiB1bnJlc29sdmVkIHN0ZXAuIFN0b3AuXG4gICAgICBjb25zdCBjb2RlID0gZmF0YWxMb29rdXBDb2RlKGVycik7XG4gICAgICBpZiAoY29kZSA9PT0gRXJyb3JDb2RlLklNQUdFX1ZFUklGSUNBVElPTl9GQUlMRUQpIHtcbiAgICAgICAgcmVmdXNlKGNvZGUsIGBQbHVnaW4gXCIke2xhYmVsfVwiIGltYWdlIGZhaWxlZCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uOiAke2Vycm9yTWVzc2FnZShlcnIpfWApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29kZSkge1xuICAgICAgICByZWZ1c2UoY29kZSwgYFBsdWdpbiBcIiR7bGFiZWx9XCIgY2FuJ3QgYmUgdXNlZCAoJHtjb2RlfSk6ICR7c2VydmljZU1lc3NhZ2UoZXJyKSA/PyBlcnJvck1lc3NhZ2UoZXJyKX1gKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHBpbiAmJiBpc05vdEZvdW5kKGVycikpIHtcbiAgICAgICAgcmVmdXNlKCdQTFVHSU5fVkVSU0lPTl9OT1RfRk9VTkQnLCBwaW5Ob3RGb3VuZE1lc3NhZ2UobGFiZWwsIHBpbiwgZXJyKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1zZyA9IGVycm9yTWVzc2FnZShlcnIpO1xuICAgICAgcHJpbnRXYXJuaW5nKGBQbHVnaW4gXCIke2xhYmVsfVwiIHByZS1yZXNvbHV0aW9uIGZhaWxlZCAoJHttc2d9KSDigJQgZmFsbGluZyBiYWNrIHRvIGRlcGxveS10aW1lIHJlc29sdXRpb25gKTtcbiAgICB9XG4gIH0pKTtcblxuICBpZiAoZmF0YWwubGVuZ3RoID4gMCkgdGhyb3cgbmV3IFBsdWdpblJlc29sdXRpb25FcnJvcihmYXRhbCk7XG4gIHJldHVybiByZXNvbHZlZDtcbn1cbiJdfQ==
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXJlc29sdmVyLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGx1Z2luLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQ2hFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLFlBQVksR0FDL0UsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVdqRDs7OztHQUlHO0FBQ0gsU0FBUyxRQUFRLENBQUMsR0FBYztJQUM5QixPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsaUJBQWlCLENBQUMsS0FBOEI7SUFDdkQsTUFBTSxJQUFJLEdBQWdCLEVBQUUsQ0FBQztJQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUV2QyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQVksRUFBUSxFQUFFO1FBQ2xDLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtZQUFFLE9BQU87UUFDNUMsTUFBTSxDQUFDLEdBQUcsR0FBZ0IsQ0FBQztRQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4Qix3RUFBd0U7UUFDeEUsMkVBQTJFO1FBQzNFLE1BQU0sSUFBSSxHQUFJLENBQUMsQ0FB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QUFDLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLDBCQUEwQixFQUFFLGtCQUFrQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEUsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsWUFBWSxDQUFDLFdBQVcsS0FBSyw0QkFBNEIsR0FBRyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQzVHLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRUosSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBFcnJvckNvZGUsIGVycm9yTWVzc2FnZSB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7XG4gIGNvbGxlY3RQbHVnaW5TdGVwcywgZXhhY3RQaW5Ob3RGb3VuZE1lc3NhZ2UsIGxvb2t1cE5vdEZvdW5kU3RhdGUsIHR5cGUgTG9va3VwV2FybmluZywgdHlwZSBMb29rdXBXYXJuaW5nU2V2ZXJpdHksXG4gIHBsdWdpbkFydGlmYWN0QWxpYXMsIHBsdWdpbkxvb2t1cEZpbHRlciwgc3VtbWFyaXplTG9va3VwV2FybmluZ3MsIHVud3JhcExvb2t1cCxcbn0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtY29yZSc7XG5pbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJztcbmltcG9ydCB7IEFwaUNsaWVudCB9IGZyb20gJy4vYXBpLWNsaWVudC5qcyc7XG5pbXBvcnQgeyBwcmludFdhcm5pbmcgfSBmcm9tICcuL291dHB1dC11dGlscy5qcyc7XG5cbi8qKiBNaW5pbWFsIHBsdWdpbiByZWZlcmVuY2Ugc2hhcGUg4oCUIG1hdGNoZXMgUGx1Z2luT3B0aW9ucyBmcm9tIHBpcGVsaW5lLWNvcmUuICovXG5pbnRlcmZhY2UgUGx1Z2luUmVmIHtcbiAgbmFtZTogc3RyaW5nO1xuICAvKiogUHVibGlzaGVyIGhhbmRsZSBvZiBhbiBpbnN0YWxsZWQgbGlzdGluZy4gKi9cbiAgcHVibGlzaGVyPzogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgZmlsdGVyPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogQ2FjaGUga2V5IG1hdGNoaW5nIGBQbHVnaW5Mb29rdXAubm9ybWFsaXplKClgOiB0aGUgZXhwbGljaXQgYWxpYXMgd2hlbiBzZXQsXG4gKiBvdGhlcndpc2UgYFs8cHVibGlzaGVyPi1dPG5hbWU+LWFsaWFzYCDigJQgcGlwZWxpbmUtY29yZSdzXG4gKiBgcGx1Z2luQXJ0aWZhY3RBbGlhc2AsIHRoZSBvbmUgcnVsZSBldmVyeSBjb25zdW1lciBvZiB0aGlzIG1hcCB1c2VzLlxuICovXG5mdW5jdGlvbiBjYWNoZUtleShyZWY6IFBsdWdpblJlZik6IHN0cmluZyB7XG4gIHJldHVybiBwbHVnaW5BcnRpZmFjdEFsaWFzKHJlZik7XG59XG5cbi8qKlxuICogV2FsayB0aGUgcGlwZWxpbmUgcHJvcHMgdHJlZSB0byBjb2xsZWN0IGV2ZXJ5IHBsdWdpbiByZWZlcmVuY2UuIFBsdWdpbnNcbiAqIGFwcGVhciBhdCBgc3ludGgucGx1Z2luYCBhbmQgYXQgYHN0YWdlc1tdLnN0ZXBzW10ucGx1Z2luYC4gRW50cmllcyBhcmVcbiAqIGRlLWR1cGxpY2F0ZWQgYnkgYGNhY2hlS2V5KClgIOKAlCB0aGUgc2FtZSBrZXkgYFBsdWdpbkxvb2t1cC5wbHVnaW4oKWAgdXNlcyxcbiAqIHNvIHRoZSByZXNvbHZlZC1wbHVnaW5zIG1hcCBsb29rdXBzIG1hdGNoIGRvd25zdHJlYW0uXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RQbHVnaW5SZWZzKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFBsdWdpblJlZltdIHtcbiAgY29uc3QgcmVmczogUGx1Z2luUmVmW10gPSBbXTtcbiAgY29uc3Qgc2VlbiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgY29uc3QgcHVzaCA9IChyYXc6IHVua25vd24pOiB2b2lkID0+IHtcbiAgICBpZiAoIXJhdyB8fCB0eXBlb2YgcmF3ICE9PSAnb2JqZWN0JykgcmV0dXJuO1xuICAgIGNvbnN0IHIgPSByYXcgYXMgUGx1Z2luUmVmO1xuICAgIGlmICghci5uYW1lKSByZXR1cm47XG4gICAgY29uc3Qga2V5ID0gY2FjaGVLZXkocik7XG4gICAgLy8gVGhlIG5hbWUgdGhlIGxvb2t1cCB3aWxsIFRBUkdFVCDigJQgYW4gZXhwbGljaXQgYGZpbHRlci5uYW1lYCB3aW5zIChzZWVcbiAgICAvLyBiZWxvdyksIHNvIHR3byByZWZzIHRoYXQgcmVzb2x2ZSB0byB0aGUgc2FtZSBwbHVnaW4gYXJlIG5vdCBhIGNvbGxpc2lvbi5cbiAgICBjb25zdCBuYW1lID0gKHIuZmlsdGVyPy5uYW1lIGFzIHN0cmluZyB8IHVuZGVmaW5lZCkgPz8gci5uYW1lO1xuICAgIGNvbnN0IHRhcmdldCA9IHIucHVibGlzaGVyID8gYCR7ci5wdWJsaXNoZXJ9LyR7bmFtZX1gIDogbmFtZTtcbiAgICBjb25zdCBob2xkZXIgPSBzZWVuLmdldChrZXkpO1xuICAgIGlmIChob2xkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gT25lIGFsaWFzIGNhbiBvbmx5IGV2ZXIgbWVhbiBvbmUgcGx1Z2luLiBEZWR1cGxpY2F0aW5nIG9uIHRoZSBhbGlhc1xuICAgICAgLy8gYWxvbmUga2VwdCB0aGUgRklSU1QgcGx1Z2luIGFuZCBzaWxlbnRseSBkcm9wcGVkIHRoZSBzZWNvbmQsIHNvIGEgc3RlcFxuICAgICAgLy8gZGVjbGFyaW5nIGB7IG5hbWU6ICdtYXZlbi1idWlsZCcsIGFsaWFzOiAnYnVpbGQnIH1gIGFmdGVyIGFub3RoZXJcbiAgICAgIC8vIGRlY2xhcmluZyBgeyBuYW1lOiAnbm9kZWpzLWJ1aWxkJywgYWxpYXM6ICdidWlsZCcgfWAgcmFuIG5vZGVqcy1idWlsZCdzXG4gICAgICAvLyBpbWFnZSBhbmQgY29tbWFuZHMg4oCUIG5vIGVycm9yLCBqdXN0IHRoZSB3cm9uZyBidWlsZC5cbiAgICAgIGlmIChob2xkZXIgIT09IHRhcmdldCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFBsdWdpbiBhbGlhcyBcIiR7a2V5fVwiIGlzIHVzZWQgZm9yIHR3byBkaWZmZXJlbnQgcGx1Z2lucyAoXCIke2hvbGRlcn1cIiBhbmQgXCIke3RhcmdldH1cIikuIGBcbiAgICAgICAgICArICdHaXZlIGVhY2ggcGx1Z2luIGl0cyBvd24gYWxpYXMuJyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2Vlbi5zZXQoa2V5LCB0YXJnZXQpO1xuICAgIHJlZnMucHVzaChyKTtcbiAgfTtcblxuICBjb25zdCBzeW50aCA9IHByb3BzLnN5bnRoIGFzIHsgcGx1Z2luPzogdW5rbm93biB9IHwgdW5kZWZpbmVkO1xuICBwdXNoKHN5bnRoPy5wbHVnaW4pO1xuXG4gIGNvbnN0IHN0YWdlcyA9IHByb3BzLnN0YWdlcyBhcyBBcnJheTx7IHN0ZXBzPzogQXJyYXk8eyBwbHVnaW4/OiB1bmtub3duIH0+IH0+IHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcyA/PyBbXSkge1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiBzdGFnZS5zdGVwcyA/PyBbXSkge1xuICAgICAgcHVzaChzdGVwLnBsdWdpbik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlZnM7XG59XG5cbi8qKlxuICogTG9va3VwIHJlZnVzYWxzIHRoYXQgbXVzdCBTVE9QIHRoZSBzeW50aCByYXRoZXIgdGhhbiBmYWxsIGJhY2sgdG9cbiAqIGRlcGxveS10aW1lIHJlc29sdXRpb246IGFuIGltYWdlIHdob3NlIHNpZ25hdHVyZSBkb2Vzbid0IHZlcmlmeSwgYSBsaXN0aW5nXG4gKiB0aGUgb3JnIGNhbid0IHVzZSAobm90IGluc3RhbGxlZCwgYmxvY2tlZCBieSBpdHMgYWxsb3cvZGVueSBwb2xpY3ksIHlhbmtlZFxuICogb3Igc3VzcGVuZGVkKSwgYW5kIGFuIG9yZyBwbHVnaW4gdGhhdCB3YXMgZGVsZXRlZC4gRmFsbGluZyBiYWNrIHdvdWxkXG4gKiBxdWlldGx5IHR1cm4gZWFjaCBpbnRvIGFuIHVucmVzb2x2ZWQgc3RlcCB0aGF0IGZhaWxzIGF0IHJ1biB0aW1lIGluc3RlYWQgb2ZcbiAqIG5vdy4gVnVsbmVyYWJpbGl0eSBzdGF0ZSBpcyBORVZFUiBvbmUgb2YgdGhlc2U6IGl0IGFycml2ZXMgYXMgZ3JhZGVkXG4gKiB3YXJuaW5ncyBiZXNpZGUgYSByZXNvbHZlZCBwbHVnaW4uXG4gKi9cbmNvbnN0IEZBVEFMX0xPT0tVUF9DT0RFUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbXG4gIEVycm9yQ29kZS5JTUFHRV9WRVJJRklDQVRJT05fRkFJTEVELFxuICBFcnJvckNvZGUuUExVR0lOX05PVF9JTlNUQUxMRUQsXG4gIEVycm9yQ29kZS5QTFVHSU5fQkxPQ0tFRF9CWV9QT0xJQ1ksXG4gIEVycm9yQ29kZS5QTFVHSU5fVU5BVkFJTEFCTEUsXG4gIC8vIFRoZSBvcmcncyBvd24gcGx1Z2luIHdhcyBkZWxldGVkOiB0aGUgbG9va3VwIHJlZnVzZXMgaXQgcmF0aGVyIHRoYW4gZmFsbFxuICAvLyB0aHJvdWdoIHRvIGEgc2FtZS1uYW1lIGxpc3RpbmcuIChQbHVnaW4gc2VydmljZSBjb2RlOyBtYXRjaGVkIGFzIGEgc3RyaW5nLilcbiAgJ1BMVUdJTl9ERUxFVEVEJyxcbl07XG5cbi8qKiBUaGUgZXJyb3IgY29kZSBvZiBhIHBsdWdpbiBzZXJ2aWNlIGFuc3dlciwgd2hlbiBpdCBpcyBvbmUgb2Yge0BsaW5rIEZBVEFMX0xPT0tVUF9DT0RFU30uICovXG5mdW5jdGlvbiBmYXRhbExvb2t1cENvZGUoZXJyOiB1bmtub3duKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IGRhdGEgPSAoZXJyIGFzIHsgcmVzcG9uc2U/OiB7IGRhdGE/OiB1bmtub3duIH0gfSB8IHVuZGVmaW5lZCk/LnJlc3BvbnNlPy5kYXRhO1xuICBjb25zdCBjb2RlID0gZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgPyAoZGF0YSBhcyB7IGNvZGU/OiB1bmtub3duIH0pLmNvZGUgOiB1bmRlZmluZWQ7XG4gIHJldHVybiB0eXBlb2YgY29kZSA9PT0gJ3N0cmluZycgJiYgRkFUQUxfTE9PS1VQX0NPREVTLmluY2x1ZGVzKGNvZGUpID8gY29kZSA6IG51bGw7XG59XG5cbi8qKiBXaGV0aGVyIHRoZSBwbHVnaW4gc2VydmljZSBhbnN3ZXJlZCBcIm5vIHN1Y2ggcGx1Z2luL3ZlcnNpb25cIiAoNDA0IE5PVF9GT1VORCkuICovXG5mdW5jdGlvbiBpc05vdEZvdW5kKGVycjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBjb25zdCByZXNwb25zZSA9IChlcnIgYXMgeyByZXNwb25zZT86IHsgc3RhdHVzPzogdW5rbm93bjsgZGF0YT86IHVua25vd24gfSB9IHwgdW5kZWZpbmVkKT8ucmVzcG9uc2U7XG4gIGNvbnN0IGNvZGUgPSByZXNwb25zZT8uZGF0YSAmJiB0eXBlb2YgcmVzcG9uc2UuZGF0YSA9PT0gJ29iamVjdCcgPyAocmVzcG9uc2UuZGF0YSBhcyB7IGNvZGU/OiB1bmtub3duIH0pLmNvZGUgOiB1bmRlZmluZWQ7XG4gIHJldHVybiByZXNwb25zZT8uc3RhdHVzID09PSA0MDQgfHwgY29kZSA9PT0gRXJyb3JDb2RlLk5PVF9GT1VORDtcbn1cblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBhIHJlZmVyZW5jZSBQSU5TIOKAlCBvbmUgZXhhY3QgYHgueS56Wy1wcmVdYCwgbm90IGEgcmFuZ2Ugb3JcbiAqIGBsYXRlc3RgLiBBIHBpbiBuYW1lcyBhIHZlcnNpb24gdGhhdCBtdXN0IGV4aXN0OiBpZiBpdCBkb2Vzbid0IChuZXZlclxuICogcHVibGlzaGVkLCBvciByZWZ1c2VkIGJ5IHRoZSBidWlsZCdzIHZ1bG5lcmFiaWxpdHkgZ2F0ZSwgd2hpY2ggc2F2ZXNcbiAqIG5vdGhpbmcpLCB0aGVyZSBpcyBubyBvdXRhZ2UgdG8gcmlkZSBvdXQgYW5kIG5vdGhpbmcgZm9yIHRoZSBkZXBsb3ktdGltZVxuICogbG9va3VwIHRvIGZpbmQgZWl0aGVyLlxuICovXG5mdW5jdGlvbiBleGFjdFZlcnNpb25QaW4ocmVmOiBQbHVnaW5SZWYpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgdmVyc2lvbiA9IHJlZi5maWx0ZXI/LnZlcnNpb247XG4gIHJldHVybiB0eXBlb2YgdmVyc2lvbiA9PT0gJ3N0cmluZycgJiYgL15cXGQrXFwuXFxkK1xcLlxcZCsoLVswLTlBLVphLXouLV0rKT8kLy50ZXN0KHZlcnNpb24pID8gdmVyc2lvbiA6IG51bGw7XG59XG5cbi8qKiBPbmUgcGx1Z2luIHRoZSBzeW50aCBjb3VsZCBub3QgdXNlLCBhcyB7QGxpbmsgUGx1Z2luUmVzb2x1dGlvbkVycm9yfSByZXBvcnRzIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5SZWZ1c2FsIHtcbiAgLyoqIGBbPHB1Ymxpc2hlcj4vXTxuYW1lPmAgb2YgdGhlIHJlZmVyZW5jZS4gKi9cbiAgcmVhZG9ubHkgcGx1Z2luOiBzdHJpbmc7XG4gIC8qKiBUaGUgcGx1Z2luIHNlcnZpY2UncyBlcnJvciBjb2RlLCBvciBhIGxvY2FsIG9uZSAoYFBMVUdJTl9WRVJTSU9OX05PVF9GT1VORGApLiAqL1xuICByZWFkb25seSBjb2RlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVyeSBmYXRhbCByZWZ1c2FsIG9mIG9uZSBwcmUtcmVzb2x1dGlvbiBwYXNzLiBDYXJyaWVzIHRoZSBzdHJ1Y3R1cmVkIGxpc3RcbiAqIGFzIHdlbGwgYXMgdGhlIGh1bWFuIG1lc3NhZ2UsIHNvIHRoZSBzeW50aCBjYW4gZW1pdCBhIG1hY2hpbmUtcmVhZGFibGVcbiAqIGZhaWx1cmUgbGluZSAoYFBCX1NZTlRIX0ZBSUxVUkVgKSB0aGUgZXhlY3V0aW9uIGV2ZW50cyBwaWNrIHVwLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luUmVzb2x1dGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSByZWZ1c2FsczogcmVhZG9ubHkgUGx1Z2luUmVmdXNhbFtdKSB7XG4gICAgc3VwZXIocmVmdXNhbHMubGVuZ3RoID09PSAxXG4gICAgICA/IHJlZnVzYWxzWzBdIS5tZXNzYWdlXG4gICAgICA6IGAke3JlZnVzYWxzLmxlbmd0aH0gcGx1Z2lucyBjYW4ndCBiZSB1c2VkOlxcbiR7cmVmdXNhbHMubWFwKChyKSA9PiBgICAtICR7ci5tZXNzYWdlfWApLmpvaW4oJ1xcbicpfWApO1xuICAgIHRoaXMubmFtZSA9ICdQbHVnaW5SZXNvbHV0aW9uRXJyb3InO1xuICB9XG59XG5cbi8qKlxuICogV2h5IGFuIGV4YWN0IHBpbiB3YXMgbm90IGZvdW5kLCBwaHJhc2VkIGZyb20gdGhlIDQwNCdzIGBkZXRhaWxzLnN0YXRlYFxuICogKGBkZWxldGVkYCAvIGBpbmFjdGl2ZWAgLyBgeWFua2VkYCAvIGBtaXNzaW5nYCkuIFdpdGhvdXQgYSBzdGF0ZSB0aGUgYW5zd2VyXG4gKiBjYW5ub3QgdGVsbCB0aGUgY2FzZXMgYXBhcnQsIHNvIHRoZSBtZXNzYWdlIG5hbWVzIHRoZSB0d28gbGlrZWxpZXN0LlxuICogU2hhcmVkIHdpdGggdGhlIGRlcGxveS10aW1lIExhbWJkYSdzIENsb3VkRm9ybWF0aW9uIHJlYXNvbiAocGlwZWxpbmUtY29yZSkuXG4gKi9cbmZ1bmN0aW9uIHBpbk5vdEZvdW5kTWVzc2FnZShsYWJlbDogc3RyaW5nLCBwaW46IHN0cmluZywgZXJyPzogdW5rbm93bik6IHN0cmluZyB7XG4gIHJldHVybiBleGFjdFBpbk5vdEZvdW5kTWVzc2FnZShsYWJlbCwgcGluLCBsb29rdXBOb3RGb3VuZFN0YXRlKGVycikpO1xufVxuXG5jb25zdCBTRVZFUklUWV9TVFlMRTogUmVjb3JkPExvb2t1cFdhcm5pbmdTZXZlcml0eSwgKHM6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgaW5mbzogcGljby5jeWFuLFxuICB3YXJuaW5nOiBwaWNvLnllbGxvdyxcbiAgZXJyb3I6IHBpY28ucmVkLFxuICBjcml0aWNhbDogKHQpID0+IHBpY28uYm9sZChwaWNvLnJlZCh0KSksXG59O1xuXG4vKiogUHJpbnQgb25lIGxvb2t1cCB3YXJuaW5nLCBwcmVmaXhlZCBhbmQgY29sb3VyZWQgYnkgaXRzIHNldmVyaXR5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByaW50TG9va3VwV2FybmluZyhsYWJlbDogc3RyaW5nLCB3YXJuaW5nOiBMb29rdXBXYXJuaW5nKTogdm9pZCB7XG4gIGNvbnN0IHRhZyA9IFNFVkVSSVRZX1NUWUxFW3dhcm5pbmcuc2V2ZXJpdHldKGBbJHt3YXJuaW5nLnNldmVyaXR5LnRvVXBwZXJDYXNlKCl9XWApO1xuICBwcmludFdhcm5pbmcoYCR7dGFnfSBQbHVnaW4gXCIke2xhYmVsfVwiOiAke3dhcm5pbmcubWVzc2FnZX1gKTtcbn1cblxuLyoqIFByaW50IHRoZSBvbmUtbGluZSBzZXZlcml0eSBzdW1tYXJ5IG9mIGEgc3ludGgncyBsb29rdXAgd2FybmluZ3MgKG5vdGhpbmcgd2hlbiBub25lKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludExvb2t1cFdhcm5pbmdTdW1tYXJ5KHdhcm5pbmdzOiByZWFkb25seSBMb29rdXBXYXJuaW5nW10pOiB2b2lkIHtcbiAgY29uc3QgbGluZSA9IHN1bW1hcml6ZUxvb2t1cFdhcm5pbmdzKHdhcm5pbmdzKTtcbiAgaWYgKCFsaW5lKSByZXR1cm47XG4gIGNvbnN0IHdvcnN0ID0gd2FybmluZ3Muc29tZSgodykgPT4gdy5zZXZlcml0eSA9PT0gJ2NyaXRpY2FsJykgPyAnY3JpdGljYWwnXG4gICAgOiB3YXJuaW5ncy5zb21lKCh3KSA9PiB3LnNldmVyaXR5ID09PSAnZXJyb3InKSA/ICdlcnJvcidcbiAgICAgIDogd2FybmluZ3Muc29tZSgodykgPT4gdy5zZXZlcml0eSA9PT0gJ3dhcm5pbmcnKSA/ICd3YXJuaW5nJyA6ICdpbmZvJztcbiAgcHJpbnRXYXJuaW5nKFNFVkVSSVRZX1NUWUxFW3dvcnN0XShsaW5lKSk7XG59XG5cbi8qKiBUaGUgcGx1Z2luIHNlcnZpY2UncyBvd24gcmVmdXNhbCBtZXNzYWdlLCB3aGVuIHRoZSBhbnN3ZXIgY2FycmllcyBvbmUuICovXG5mdW5jdGlvbiBzZXJ2aWNlTWVzc2FnZShlcnI6IHVua25vd24pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgZGF0YSA9IChlcnIgYXMgeyByZXNwb25zZT86IHsgZGF0YT86IHVua25vd24gfSB9IHwgdW5kZWZpbmVkKT8ucmVzcG9uc2U/LmRhdGE7XG4gIGNvbnN0IG1lc3NhZ2UgPSBkYXRhICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyA/IChkYXRhIGFzIHsgbWVzc2FnZT86IHVua25vd24gfSkubWVzc2FnZSA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlLmxlbmd0aCA+IDAgPyBtZXNzYWdlIDogbnVsbDtcbn1cblxuLyoqXG4gKiBQcmUtcmVzb2x2ZSBwbHVnaW5zIGJ5IGNhbGxpbmcgdGhlIHNhbWUgYFBPU1QgL2FwaS9wbHVnaW5zL2xvb2t1cGAgZW5kcG9pbnRcbiAqIHRoZSBkZXBsb3ktdGltZSBjdXN0b20gcmVzb3VyY2UgTGFtYmRhIHVzZXMuIFJldHVybmluZyB0aGUgZnVsbCBQbHVnaW5cbiAqIHJlY29yZCBhdCBzeW50aCB0aW1lIGlzIHdoYXQgYWxsb3dzIHRoZSByZXN1bHRpbmcgQ0ZOIHRlbXBsYXRlIHRvIHNoaXBcbiAqIHdpdGggcmVhbCBDb2RlQnVpbGQgaW1hZ2UgVVJJcyAoYDxob3N0Pi88bnM+LzxuYW1lPjo8dmVyc2lvbj5gKSByYXRoZXIgdGhhblxuICogdGhlIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjcuMGAgZmFsbGJhY2sgdGhhdCB0aGUgc3ludGgtdGltZSB0b2tlbiBwYXRoXG4gKiBmb3JjZXMuXG4gKlxuICogRmFpbHVyZXMgYXJlIG5vbi1mYXRhbDogYSBtaXNzaW5nIHBsdWdpbiBvciB1bnJlYWNoYWJsZSBBUEkgbG9ncyBhIHdhcm5pbmdcbiAqIGFuZCBmYWxscyB0aHJvdWdoIHRvIHRoZSBkZXBsb3ktdGltZSBjdXN0b20gcmVzb3VyY2UgcGF0aCBzbyBwYXJ0aWFsXG4gKiBwbGF0Zm9ybSBvdXRhZ2VzIGRvbid0IGJsb2NrIHN5bnRoL2RlcGxveS4gVGhlIGV4Y2VwdGlvbnMgYWJvcnQgdGhlIHN5bnRoOlxuICogdGhlIHtAbGluayBGQVRBTF9MT09LVVBfQ09ERVN9IHJlZnVzYWxzLCBhbmQgYW4gZXhhY3QgdmVyc2lvbiBwaW4gdGhhdCBkb2VzXG4gKiBub3QgZXhpc3QuXG4gKlxuICogRXZlcnkgcmVmZXJlbmNlIGlzIGxvb2tlZCB1cCBiZWZvcmUgYW55dGhpbmcgaXMgdGhyb3duLCBhbmQgQUxMIGZhdGFsXG4gKiByZWZ1c2FscyBhcmUgcmVwb3J0ZWQgdG9nZXRoZXIuIFN0b3BwaW5nIGF0IHRoZSBmaXJzdCBtZWFudCBhIHBpcGVsaW5lIHdpdGhcbiAqIHRocmVlIHJlZnVzZWQgcGx1Z2lucyB0b29rIHRocmVlIHN5bnRoIGF0dGVtcHRzIHRvIGxlYXJuIGFib3V0IGFsbCB0aHJlZS5cbiAqXG4gKiBFdmVyeSBsb29rdXAgd2FybmluZyBpcyBwcmludGVkLCBncmFkZWQgYnkgc2V2ZXJpdHksIGFuZCBhcHBlbmRlZCB0b1xuICogYHdhcm5pbmdTaW5rYCB3aGVuIGdpdmVuICh0aGUgc3ludGggcHJpbnRzIGEgb25lLWxpbmUgc3VtbWFyeSBhdCBpdHMgZW5kKS5cbiAqIEEgd2FybmluZyBuZXZlciBmYWlscyB0aGUgc3ludGgg4oCUIHZ1bG5lcmFiaWxpdHkgc3RhdGUgaXMgcmVwb3J0ZWQsIG5vdFxuICogZW5mb3JjZWQuXG4gKlxuICogV2hlbiB0aGUgcHJvcHMgY2FycnkgYSBgcGlwZWxpbmVJZGAsIGVhY2ggbG9va3VwIGFsc28gc2VuZHNcbiAqIGBjb250ZXh0OiB7IHBpcGVsaW5lSWQsIHN0ZXBLZXlzIH1gIOKAlCB0aGUgbGFiZWwgKGBwbHVnaW5TdGVwTGFiZWxgOiBgc3ludGhgIG9yXG4gKiBgPHN0YWdlPi88YWxpYXMgPz8gbmFtZT5gKSBvZiBFVkVSWSBzdGVwIHRoZSBkZS1kdXBsaWNhdGVkIHJlZmVyZW5jZSBzZXJ2ZXMg4oCUXG4gKiBzbyB0aGUgcGx1Z2luIHNlcnZpY2UgY2FuIHJlY29yZCB0aGUgd2FybmluZ3MgaXQgcmV0dXJucyBhZ2FpbnN0IGVhY2ggb2ZcbiAqIHRob3NlIHBpcGVsaW5lIHN0ZXBzLCBub3Qgb25seSBwcmludCB0aGVtIGludG8gdGhpcyBzeW50aCdzIGxvZy5cbiAqXG4gKiBLZXllZCBieSBgYWxpYXMgfHwgbmFtZWAgdG8gbWF0Y2ggYFBsdWdpbkxvb2t1cC5wbHVnaW4oKWAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlUGx1Z2luc0ZvclByb3BzKFxuICBjbGllbnQ6IEFwaUNsaWVudCxcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB3YXJuaW5nU2luaz86IExvb2t1cFdhcm5pbmdbXSxcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgY29uc3QgcmVmcyA9IGNvbGxlY3RQbHVnaW5SZWZzKHByb3BzKTtcbiAgaWYgKHJlZnMubGVuZ3RoID09PSAwKSByZXR1cm4ge307XG5cbiAgY29uc3QgcGlwZWxpbmVJZCA9IHR5cGVvZiBwcm9wcy5waXBlbGluZUlkID09PSAnc3RyaW5nJyAmJiBwcm9wcy5waXBlbGluZUlkLmxlbmd0aCA+IDAgPyBwcm9wcy5waXBlbGluZUlkIDogdW5kZWZpbmVkO1xuICAvLyBPbmUgbG9va3VwIHBlciBhbGlhcyBtYXkgc2VydmUgc2V2ZXJhbCBzdGVwczogdGhlIGxhYmVscyBvZiBlYWNoLCBieSBhbGlhcy5cbiAgY29uc3Qgc3RlcEtleXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nW10+KCk7XG4gIGZvciAoY29uc3Qgc3RlcCBvZiBjb2xsZWN0UGx1Z2luU3RlcHMocHJvcHMpKSB7XG4gICAgY29uc3Qga2V5ID0gY2FjaGVLZXkoc3RlcCk7XG4gICAgc3RlcEtleXMuc2V0KGtleSwgWy4uLihzdGVwS2V5cy5nZXQoa2V5KSA/PyBbXSksIHN0ZXAubGFiZWxdKTtcbiAgfVxuICBjb25zdCByZXNvbHZlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgY29uc3QgZmF0YWw6IFBsdWdpblJlZnVzYWxbXSA9IFtdO1xuXG4gIGF3YWl0IFByb21pc2UuYWxsKHJlZnMubWFwKGFzeW5jIChyZWYpID0+IHtcbiAgICBjb25zdCBrZXkgPSBjYWNoZUtleShyZWYpO1xuICAgIGNvbnN0IGxhYmVsID0gcmVmLnB1Ymxpc2hlciA/IGAke3JlZi5wdWJsaXNoZXJ9LyR7cmVmLm5hbWV9YCA6IHJlZi5uYW1lO1xuICAgIC8vIFRoZSBwbHVnaW4gTkFNRSBsaXZlcyBvbiB0aGUgcmVmIChhIHNpYmxpbmcgb2YgYGZpbHRlcmApLCBOT1QgaW5zaWRlIHRoZVxuICAgIC8vIGZpbHRlciBvYmplY3Qg4oCUIGJ1dCB0aGUgbG9va3VwIG1hdGNoZXMgb24gdGhlIGZpbHRlci4gQSBmaWx0ZXIgd2l0aG91dFxuICAgIC8vIGBuYW1lYCAoZS5nLiBge3ZlcnNpb24sIHZpc2liaWxpdHksIGlzQWN0aXZlLCBpc0RlZmF1bHR9YCkgbWF0Y2hlcyBBTllcbiAgICAvLyBwbHVnaW4gd2l0aCB0aG9zZSBhdHRyaWJ1dGVzLCBhbmQgdGhlIGVuZHBvaW50IHJldHVybnMgYW4gYXJiaXRyYXJ5IG9uZVxuICAgIC8vIChzZWVuOiBgZG9ja2VyZmlsZS1tdWx0aS1wcm92aWRlcmApLiBUaGF0IG1hZGUgdGhlIHN5bnRoIGFuZCBldmVyeSBzdGVwXG4gICAgLy8gcmVzb2x2ZSB0byB0aGUgV1JPTkcgcGx1Z2luLiBTbyB3aGVuIHRoZSBmaWx0ZXIgb21pdHMgYG5hbWVgLCBmYWxsIGJhY2sgdG9cbiAgICAvLyB0aGUgcmVmJ3MgcGx1Z2luIG5hbWU7IGFuIGV4cGxpY2l0IGZpbHRlciBgbmFtZWAgc3RpbGwgdGFrZXMgcHJlY2VkZW5jZS5cbiAgICAvLyBTaGFyZWQgd2l0aCB0aGUgcGlwZWxpbmUgc2VydmljZSdzIGNvbnRyYWN0IGNoZWNrIChzYW1lIGZpbHRlciwgc2FtZSBwbHVnaW4pLlxuICAgIGNvbnN0IGZpbHRlciA9IHBsdWdpbkxvb2t1cEZpbHRlcihyZWYpO1xuICAgIGNvbnN0IHBpbiA9IGV4YWN0VmVyc2lvblBpbihyZWYpO1xuICAgIGNvbnN0IHJlZnVzZSA9IChjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQgPT4geyBmYXRhbC5wdXNoKHsgcGx1Z2luOiBsYWJlbCwgY29kZSwgbWVzc2FnZSB9KTsgfTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgY2xpZW50LnBvc3Q8dW5rbm93bj4oJy9hcGkvcGx1Z2lucy9sb29rdXAnLCB7XG4gICAgICAgIGZpbHRlcixcbiAgICAgICAgLi4uKHBpcGVsaW5lSWQgJiYgc3RlcEtleXMuaGFzKGtleSkgPyB7IGNvbnRleHQ6IHsgcGlwZWxpbmVJZCwgc3RlcEtleXM6IHN0ZXBLZXlzLmdldChrZXkpIH0gfSA6IHt9KSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgeyBwbHVnaW4sIHdhcm5pbmdzIH0gPSB1bndyYXBMb29rdXAocmVzKTtcbiAgICAgIGZvciAoY29uc3Qgd2FybmluZyBvZiB3YXJuaW5ncykge1xuICAgICAgICBwcmludExvb2t1cFdhcm5pbmcobGFiZWwsIHdhcm5pbmcpO1xuICAgICAgICB3YXJuaW5nU2luaz8ucHVzaCh3YXJuaW5nKTtcbiAgICAgIH1cbiAgICAgIGlmIChwbHVnaW4pIHtcbiAgICAgICAgcmVzb2x2ZWRba2V5XSA9IHBsdWdpbjtcbiAgICAgIH0gZWxzZSBpZiAocGluKSB7XG4gICAgICAgIHJlZnVzZSgnUExVR0lOX1ZFUlNJT05fTk9UX0ZPVU5EJywgcGluTm90Rm91bmRNZXNzYWdlKGxhYmVsLCBwaW4pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByaW50V2FybmluZyhgUGx1Z2luIFwiJHtsYWJlbH1cIiBsb29rdXAgcmV0dXJuZWQgbm8gcmVjb3JkIOKAlCBmYWxsaW5nIGJhY2sgdG8gZGVwbG95LXRpbWUgcmVzb2x1dGlvbmApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gQSBwbHVnaW4gd2hvc2UgaW1hZ2Ugc2lnbmF0dXJlIGRvZXNuJ3QgdmVyaWZ5LCBvciBhIGxpc3RpbmcgdGhlIG9yZ1xuICAgICAgLy8gY2FuJ3QgdXNlLCBpcyBOT1QgYW4gb3V0YWdlIHRvIHJpZGUgb3V0OiBmYWxsaW5nIGJhY2sgd291bGQgcXVpZXRseVxuICAgICAgLy8gdHVybiBpdCBpbnRvIGFuIHVucmVzb2x2ZWQgc3RlcC4gU3RvcC5cbiAgICAgIGNvbnN0IGNvZGUgPSBmYXRhbExvb2t1cENvZGUoZXJyKTtcbiAgICAgIGlmIChjb2RlID09PSBFcnJvckNvZGUuSU1BR0VfVkVSSUZJQ0FUSU9OX0ZBSUxFRCkge1xuICAgICAgICByZWZ1c2UoY29kZSwgYFBsdWdpbiBcIiR7bGFiZWx9XCIgaW1hZ2UgZmFpbGVkIHNpZ25hdHVyZSB2ZXJpZmljYXRpb246ICR7ZXJyb3JNZXNzYWdlKGVycil9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChjb2RlKSB7XG4gICAgICAgIHJlZnVzZShjb2RlLCBgUGx1Z2luIFwiJHtsYWJlbH1cIiBjYW4ndCBiZSB1c2VkICgke2NvZGV9KTogJHtzZXJ2aWNlTWVzc2FnZShlcnIpID8/IGVycm9yTWVzc2FnZShlcnIpfWApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAocGluICYmIGlzTm90Rm91bmQoZXJyKSkge1xuICAgICAgICByZWZ1c2UoJ1BMVUdJTl9WRVJTSU9OX05PVF9GT1VORCcsIHBpbk5vdEZvdW5kTWVzc2FnZShsYWJlbCwgcGluLCBlcnIpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgbXNnID0gZXJyb3JNZXNzYWdlKGVycik7XG4gICAgICBwcmludFdhcm5pbmcoYFBsdWdpbiBcIiR7bGFiZWx9XCIgcHJlLXJlc29sdXRpb24gZmFpbGVkICgke21zZ30pIOKAlCBmYWxsaW5nIGJhY2sgdG8gZGVwbG95LXRpbWUgcmVzb2x1dGlvbmApO1xuICAgIH1cbiAgfSkpO1xuXG4gIGlmIChmYXRhbC5sZW5ndGggPiAwKSB0aHJvdyBuZXcgUGx1Z2luUmVzb2x1dGlvbkVycm9yKGZhdGFsKTtcbiAgcmV0dXJuIHJlc29sdmVkO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-scan.d.ts","
|
|
1
|
+
{"version":3,"file":"plugin-scan.d.ts","sources":["../../src/utils/plugin-scan.ts"],"names":[],"mappings":"AAaA,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,UAAU,YAAI,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAClG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAU3F;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAkBlE"}
|