@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
|
@@ -292,4 +292,4 @@ export function newPlugin(program) {
|
|
|
292
292
|
}
|
|
293
293
|
});
|
|
294
294
|
}
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9uZXctcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQ0wsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUNsSCxlQUFlLEVBQUUsb0JBQW9CLEdBQ3RDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBaUNsSSxpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFVLEVBQUUsQ0FDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFdkYsK0RB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QzlGLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUU7YUFDaEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBQTFVHSU5fQkFTRV9JTUFHRVMsIFBMVUdJTl9DQVRFR09SSUVTLCBQTFVHSU5fQ09NUFVURV9UWVBFUywgUExVR0lOX05BTUVfUEFUVEVSTiwgUExVR0lOX1NVTU1BUllfTUFYLCBQTFVHSU5fVFlQRVMsXG4gIGlzQWxsb3dlZFNwZHhJZCwgdmFsaWRhdGVDYXRhbG9nRmllbGQsIHR5cGUgUGx1Z2luQmFzZUltYWdlLFxufSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IENVUkFURURfSUNPTl9LRVlTIH0gZnJvbSAnLi4vY29uZmlnL3BsdWdpbi1jYXRhbG9nLWFzc2V0cy5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEluZm8sIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBwcmludFdhcm5pbmcsIGZpbGVFeGlzdHMsIGVuc3VyZU91dHB1dERpcmVjdG9yeSB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3UGx1Z2luT3B0aW9ucyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICBiYXNlPzogc3RyaW5nO1xuICBzdW1tYXJ5Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgbGljZW5zZT86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBjb21wdXRlPzogc3RyaW5nO1xuICBkaXI/OiBzdHJpbmc7XG4gIGZvcmNlPzogYm9vbGVhbjtcbiAgbGlzdEJhc2VzPzogYm9vbGVhbjtcbn1cblxuLyoqIEEgdmFsaWRhdGVkIHNjYWZmb2xkIHJlcXVlc3QuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWZmb2xkSW5wdXQge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGJhc2U6IFBsdWdpbkJhc2VJbWFnZTtcbiAgc3VtbWFyeTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBsaWNlbnNlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZyB8IG51bGw7XG4gIGF1dGhvcjogc3RyaW5nO1xuICBwbHVnaW5UeXBlOiBzdHJpbmc7XG4gIGNvbXB1dGVUeXBlOiBzdHJpbmc7XG4gIHllYXI6IG51bWJlcjtcbn1cblxuLyoqIGBteS1saW50ZXJgIOKGkiBgTXkgTGludGVyYC4gKi9cbmV4cG9ydCBjb25zdCBkaXNwbGF5TmFtZU9mID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBuYW1lLnNwbGl0KCctJykuZmlsdGVyKEJvb2xlYW4pLm1hcCh3ID0+IHdbMF0hLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpKS5qb2luKCcgJyk7XG5cbi8qKiBZQU1MIGRvdWJsZS1xdW90ZWQgc2NhbGFyIChKU09OIHN0cmluZ3MgYXJlIHZhbGlkIFlBTUwpLiAqL1xuY29uc3QgcSA9IChzOiBzdHJpbmcpOiBzdHJpbmcgPT4gSlNPTi5zdHJpbmdpZnkocyk7XG5cbi8qKiBWYWxpZGF0ZSB0aGUgZmxhZ3MgaW50byBhIHNjYWZmb2xkIHJlcXVlc3QgKHRocm93cyBWYWxpZGF0aW9uRXJyb3IpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTY2FmZm9sZElucHV0KG9wdGlvbnM6IE5ld1BsdWdpbk9wdGlvbnMsIG5vdyA9IG5ldyBEYXRlKCkpOiBTY2FmZm9sZElucHV0IHtcbiAgY29uc3QgbmFtZSA9IG9wdGlvbnMubmFtZSA/PyAnJztcbiAgaWYgKCFuYW1lIHx8ICFQTFVHSU5fTkFNRV9QQVRURVJOLnRlc3QobmFtZSkgfHwgbmFtZS5sZW5ndGggPiA2NCkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJy0tbmFtZSBtdXN0IGJlIDEtNjQgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgaHlwaGVucycsICduYW1lJywgbmFtZSk7XG4gIH1cbiAgY29uc3QgY2F0ZWdvcnkgPSBvcHRpb25zLmNhdGVnb3J5ID8/ICcnO1xuICBpZiAoIShQTFVHSU5fQ0FURUdPUklFUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMoY2F0ZWdvcnkpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS1jYXRlZ29yeSBtdXN0IGJlIG9uZSBvZjogJHtQTFVHSU5fQ0FURUdPUklFUy5qb2luKCcsICcpfWAsICdjYXRlZ29yeScsIGNhdGVnb3J5KTtcbiAgfVxuICBjb25zdCBiYXNlID0gUExVR0lOX0JBU0VfSU1BR0VTLmZpbmQoYiA9PiBiLmtleSA9PT0gKG9wdGlvbnMuYmFzZSA/PyAncGx1Z2luJykpO1xuICBpZiAoIWJhc2UpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tYmFzZSBtdXN0IGJlIG9uZSBvZjogJHtQTFVHSU5fQkFTRV9JTUFHRVMubWFwKGIgPT4gYi5rZXkpLmpvaW4oJywgJyl9IChzZWUgLS1saXN0LWJhc2VzKWAsICdiYXNlJywgb3B0aW9ucy5iYXNlKTtcbiAgY29uc3QgcGx1Z2luVHlwZSA9IG9wdGlvbnMudHlwZSA/PyAnQ29kZUJ1aWxkU3RlcCc7XG4gIGlmICghKFBMVUdJTl9UWVBFUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMocGx1Z2luVHlwZSkpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tdHlwZSBtdXN0IGJlIG9uZSBvZjogJHtQTFVHSU5fVFlQRVMuam9pbignLCAnKX1gLCAndHlwZScsIHBsdWdpblR5cGUpO1xuICBjb25zdCBjb21wdXRlVHlwZSA9IG9wdGlvbnMuY29tcHV0ZSA/PyAnU01BTEwnO1xuICBpZiAoIShQTFVHSU5fQ09NUFVURV9UWVBFUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMoY29tcHV0ZVR5cGUpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLWNvbXB1dGUgbXVzdCBiZSBvbmUgb2Y6ICR7UExVR0lOX0NPTVBVVEVfVFlQRVMuam9pbignLCAnKX1gLCAnY29tcHV0ZScsIGNvbXB1dGVUeXBlKTtcbiAgY29uc3QgbGljZW5zZSA9IG9wdGlvbnMubGljZW5zZSA/PyAnQXBhY2hlLTIuMCc7XG4gIGlmICghaXNBbGxvd2VkU3BkeElkKGxpY2Vuc2UpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCctLWxpY2Vuc2UgbXVzdCBiZSBhIHN1cHBvcnRlZCBTUERYIGlkZW50aWZpZXIgKGUuZy4gQXBhY2hlLTIuMCwgTUlUKScsICdsaWNlbnNlJywgbGljZW5zZSk7XG4gIGNvbnN0IGljb24gPSBvcHRpb25zLmljb24gJiYgb3B0aW9ucy5pY29uICE9PSAnbm9uZScgPyBvcHRpb25zLmljb24gOiBudWxsO1xuICBpZiAoaWNvbiAhPT0gbnVsbCAmJiAhQ1VSQVRFRF9JQ09OX0tFWVMuaW5jbHVkZXMoaWNvbikpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLWljb24gbXVzdCBiZSBhIGN1cmF0ZWQga2V5ICgke0NVUkFURURfSUNPTl9LRVlTLmpvaW4oJywgJyl9KSBvciBub25lYCwgJ2ljb24nLCBpY29uKTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXkgPSBkaXNwbGF5TmFtZU9mKG5hbWUpO1xuICBjb25zdCBzdW1tYXJ5ID0gb3B0aW9ucy5zdW1tYXJ5ID8/IGAke2Rpc3BsYXl9IGFzIGEgcGlwZWxpbmUgc3RlcC5gO1xuICBjb25zdCBkZXNjcmlwdGlvbiA9IG9wdGlvbnMuZGVzY3JpcHRpb25cbiAgICA/PyBgJHtkaXNwbGF5fSBydW5zIGFzIGEgQ29kZUJ1aWxkIHN0ZXAgaW4geW91ciBwaXBlbGluZS4gUmVwbGFjZSB0aGlzIHdpdGggd2hhdCB0aGUgcGx1Z2luIGNoZWNrcyBvciBidWlsZHMsIHdoYXQgaXQgcmVhZHMgZnJvbSB0aGUgd29ya3NwYWNlIGFuZCB3aGF0IGl0IHdyaXRlcy5gO1xuICBmb3IgKGNvbnN0IFtmaWVsZCwgdmFsdWVdIG9mIFtbJ3N1bW1hcnknLCBzdW1tYXJ5XSwgWydkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uXV0gYXMgY29uc3QpIHtcbiAgICBjb25zdCBjaGVja2VkID0gdmFsaWRhdGVDYXRhbG9nRmllbGQoZmllbGQsIHZhbHVlKTtcbiAgICBpZiAoIWNoZWNrZWQub2spIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tJHtmaWVsZH0gJHtjaGVja2VkLmVycm9yfSR7ZmllbGQgPT09ICdzdW1tYXJ5JyA/IGAgKG1heCAke1BMVUdJTl9TVU1NQVJZX01BWH0pYCA6ICcnfWAsIGZpZWxkLCB2YWx1ZSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIGNhdGVnb3J5LFxuICAgIGJhc2UsXG4gICAgc3VtbWFyeSxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBsaWNlbnNlLFxuICAgIGljb24sXG4gICAgcGx1Z2luVHlwZSxcbiAgICBjb21wdXRlVHlwZSxcbiAgICBhdXRob3I6IG9wdGlvbnMuYXV0aG9yID8/IGBUaGUgJHtuYW1lfSBhdXRob3JzYCxcbiAgICB5ZWFyOiBub3cuZ2V0VVRDRnVsbFllYXIoKSxcbiAgfTtcbn1cblxuY29uc3QgTUlUX1RFWFQgPSAoeWVhcjogbnVtYmVyLCBhdXRob3I6IHN0cmluZyk6IHN0cmluZyA9PiBgTUlUIExpY2Vuc2VcblxuQ29weXJpZ2h0IChjKSAke3llYXJ9ICR7YXV0aG9yfVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG5gO1xuXG4vKiogTElDRU5TRTogdGhlIE1JVCB0ZXh0IGluIGZ1bGwsIGVsc2UgdGhlIFNQRFggbm90aWNlIChBcGFjaGUtMi4wJ3Mgb3duIHJlY29tbWVuZGVkIGZvcm0pLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpY2Vuc2VUZXh0KGlucHV0OiBQaWNrPFNjYWZmb2xkSW5wdXQsICdsaWNlbnNlJyB8ICd5ZWFyJyB8ICdhdXRob3InPik6IHN0cmluZyB7XG4gIGlmIChpbnB1dC5saWNlbnNlID09PSAnTUlUJykgcmV0dXJuIE1JVF9URVhUKGlucHV0LnllYXIsIGlucHV0LmF1dGhvcik7XG4gIGlmIChpbnB1dC5saWNlbnNlID09PSAnQXBhY2hlLTIuMCcpIHtcbiAgICByZXR1cm4gYENvcHlyaWdodCAke2lucHV0LnllYXJ9ICR7aW5wdXQuYXV0aG9yfVxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmA7XG4gIH1cbiAgcmV0dXJuIGBDb3B5cmlnaHQgJHtpbnB1dC55ZWFyfSAke2lucHV0LmF1dGhvcn1cblxuVGhpcyBwbHVnaW4gaXMgbGljZW5zZWQgdW5kZXIgJHtpbnB1dC5saWNlbnNlfS5cbkZ1bGwgdGV4dDogaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy8ke2lucHV0LmxpY2Vuc2V9Lmh0bWxcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6ICR7aW5wdXQubGljZW5zZX1cbmA7XG59XG5cbi8qKiBLZXl3b3JkczogdGhlIGNhdGVnb3J5IHBsdXMgdGhlIG5hbWUncyB3b3JkcyAo4omkIDEwLCBlYWNoIOKJpCAzMiwgbm8gZHVwbGljYXRlcykuICovXG5leHBvcnQgZnVuY3Rpb24gc2NhZmZvbGRLZXl3b3JkcyhuYW1lOiBzdHJpbmcsIGNhdGVnb3J5OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbLi4ubmV3IFNldChbY2F0ZWdvcnksIC4uLm5hbWUuc3BsaXQoJy0nKV0uZmlsdGVyKHcgPT4gdy5sZW5ndGggPj0gMiAmJiB3Lmxlbmd0aCA8PSAzMikpXS5zbGljZSgwLCAxMCk7XG59XG5cbmZ1bmN0aW9uIGRvY2tlcmZpbGVUZXh0KGlucHV0OiBTY2FmZm9sZElucHV0KTogc3RyaW5nIHtcbiAgY29uc3QgZGlzcGxheSA9IGRpc3BsYXlOYW1lT2YoaW5wdXQubmFtZSk7XG4gIHJldHVybiBgIyAke2Rpc3BsYXl9IOKAlCAke2lucHV0LnN1bW1hcnl9XG4jXG4jIFRoaW4gbGF5ZXIgb3ZlciAke2lucHV0LmJhc2UuaW1hZ2V9IChkZXBsb3kvcGx1Z2lucy9fYmFzZS8ke2lucHV0LmJhc2UuZGlyfTpcbiMgJHtpbnB1dC5iYXNlLnByb3ZpZGVzfSkuIEFkZCBPTkxZIHRoaXMgcGx1Z2luJ3Mgb3duIHRvb2wsIHBpbm5lZC4gUnVsZXNcbiMgKGRlcGxveS9wbHVnaW5zL1JFQURNRS5tZCwgZW5mb3JjZWQgYnkgdGVzdC1wbHVnaW5zLnNoIGFuZCBcXGBwbHVnaW4gdmFsaWRhdGVcXGApOlxuIyAgIC0gZXZlcnkgZG93bmxvYWQgZ29lcyB0aHJvdWdoIGZldGNoLXZlcmlmaWVkIHdpdGggYSBwaW5uZWQgdmVyc2lvbiBhbmQgYVxuIyAgICAgcGlubmVkIHBlci1hcmNoaXRlY3R1cmUgZGlnZXN0OyBuZXZlciBhIHJvbGxpbmcgVVJMLCBuZXZlciBjdXJsIHwgc2g7XG4jICAgLSBzd2l0Y2ggdG8gcm9vdCBvbmx5IGZvciB0aGUgc3RlcHMgdGhhdCBuZWVkIGl0LCBhbmQgZW5kIGFzIFVTRVIgMTAwMDoxMDAwO1xuIyAgIC0gYSB0b29sIHRoYXQgc2hpcHMgc2V2ZXJhbCB2ZXJzaW9ucyBwdXRzIHRoZW0gdW5kZXIgL29wdC88dG9vbD4vdmVyc2lvbnNcbiMgICAgIHdpdGggdGhlIGFjdGl2ZSBvbmUgc3ltbGlua2VkIGZyb20gYSB1aWQtMTAwMC1vd25lZCAvb3B0Lzx0b29sPi9iaW4uXG5cbkZST00gJHtpbnB1dC5iYXNlLmltYWdlfVxuXG4jIOKUgOKUgOKUgCBUb29sIGluc3RhbGwgKHVuY29tbWVudCBhbmQgZmlsbCBpbikg4pSA4pSA4pSAXG4jIFRha2UgZWFjaCBkaWdlc3QgZnJvbSB0aGUgdmVuZG9yJ3MgcHVibGlzaGVkIGNoZWNrc3VtIGZpbGUuXG4jIFVTRVIgcm9vdFxuIyBBUkcgVE9PTF9WRVJTSU9OPTEuMi4zXG4jIEFSRyBUT09MX1NIQTI1Nl9BTUQ2ND08c2hhMjU2IG9mIHRoZSBsaW51eC1hbWQ2NCBhc3NldD5cbiMgQVJHIFRPT0xfU0hBMjU2X0FSTTY0PTxzaGEyNTYgb2YgdGhlIGxpbnV4LWFybTY0IGFzc2V0PlxuIyBSVU4gc2V0IC1ldXg7IFxcXFxcbiMgICAgIGNhc2UgXCIkKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpXCIgaW4gXFxcXFxuIyAgICAgICBhbWQ2NCkgYXJjaD1hbWQ2NDsgc3VtPVwiXFwke1RPT0xfU0hBMjU2X0FNRDY0fVwiIDs7IFxcXFxcbiMgICAgICAgYXJtNjQpIGFyY2g9YXJtNjQ7IHN1bT1cIlxcJHtUT09MX1NIQTI1Nl9BUk02NH1cIiA7OyBcXFxcXG4jICAgICAgICopIGVjaG8gXCJ1bnN1cHBvcnRlZCBhcmNoaXRlY3R1cmU6ICQoZHBrZyAtLXByaW50LWFyY2hpdGVjdHVyZSlcIiA+JjI7IGV4aXQgMSA7OyBcXFxcXG4jICAgICBlc2FjOyBcXFxcXG4jICAgICBmZXRjaC12ZXJpZmllZCBcImh0dHBzOi8vZXhhbXBsZS5jb20vdG9vbC92XFwke1RPT0xfVkVSU0lPTn0vdG9vbC1saW51eC1cXCR7YXJjaH0udGFyLmd6XCIgXCIkc3VtXCIgL3RtcC90b29sLnRhci5nejsgXFxcXFxuIyAgICAgaW5zdGFsbCAtZCAvb3B0L3Rvb2wvYmluOyBcXFxcXG4jICAgICB0YXIgLXh6ZiAvdG1wL3Rvb2wudGFyLmd6IC1DIC9vcHQvdG9vbC9iaW47IFxcXFxcbiMgICAgIHJtIC1mIC90bXAvdG9vbC50YXIuZ3o7IFxcXFxcbiMgICAgIGNobW9kIC1SIGErclggL29wdC90b29sXG4jIEVOViBQQVRIPVwiL29wdC90b29sL2JpbjpcXCR7UEFUSH1cIlxuXG5XT1JLRElSIC9hcHBcblVTRVIgMTAwMDoxMDAwXG5DTUQgW1wiYmFzaFwiXVxuYDtcbn1cblxuZnVuY3Rpb24gc3BlY1RleHQoaW5wdXQ6IFNjYWZmb2xkSW5wdXQpOiBzdHJpbmcge1xuICBjb25zdCBvdXQgPSBgJHtpbnB1dC5uYW1lfS1yZXBvcnRzYDtcbiAgY29uc3QgaXNBcHByb3ZhbCA9IGlucHV0LnBsdWdpblR5cGUgPT09ICdNYW51YWxBcHByb3ZhbFN0ZXAnO1xuICBjb25zdCBsaW5lcyA9IFtcbiAgICBgbmFtZTogJHtpbnB1dC5uYW1lfWAsXG4gICAgYHN1bW1hcnk6ICR7cShpbnB1dC5zdW1tYXJ5KX1gLFxuICAgIGBkZXNjcmlwdGlvbjogJHtxKGlucHV0LmRlc2NyaXB0aW9uKX1gLFxuICAgICdrZXl3b3JkczonLFxuICAgIC4uLnNjYWZmb2xkS2V5d29yZHMoaW5wdXQubmFtZSwgaW5wdXQuY2F0ZWdvcnkpLm1hcChrID0+IGAgIC0gJHtrfWApLFxuICAgIGBjYXRlZ29yeTogJHtpbnB1dC5jYXRlZ29yeX1gLFxuICAgICd2ZXJzaW9uOiAwLjEuMCcsXG4gICAgYHBsdWdpblR5cGU6ICR7aW5wdXQucGx1Z2luVHlwZX1gLFxuICAgIGBjb21wdXRlVHlwZTogJHtpbnB1dC5jb21wdXRlVHlwZX1gLFxuICAgIGB0aW1lb3V0OiAke2lzQXBwcm92YWwgPyAwIDogMTB9YCxcbiAgICAnZmFpbHVyZUJlaGF2aW9yOiBmYWlsJyxcbiAgICAnc2VjcmV0czogW10nLFxuICBdO1xuICBpZiAoIWlzQXBwcm92YWwpIHtcbiAgICBsaW5lcy5wdXNoKFxuICAgICAgYHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6ICR7b3V0fWAsXG4gICAgICAnZG9ja2VyZmlsZTogRG9ja2VyZmlsZScsXG4gICAgICAnaW5zdGFsbENvbW1hbmRzOicsXG4gICAgICBgICAtIG1rZGlyIC1wICR7b3V0fWAsXG4gICAgICAnY29tbWFuZHM6JyxcbiAgICAgICcgICMgUmVwbGFjZSB3aXRoIHRoZSByZWFsIHRvb2wgaW52b2NhdGlvbi4gcnVuLWxvZ2dlZCAoZnJvbSB0aGUgYmFzZSBpbWFnZSknLFxuICAgICAgJyAgIyBzdHJlYW1zIG91dHB1dCB0byB0aGUgY29uc29sZSBBTkQgdGhlIGxvZywgYW5kIGV4aXRzIHdpdGggdGhlIGNvbW1hbmRcXCdzJyxcbiAgICAgICcgICMgb3duIHN0YXR1cywgc28gYSBmYWlsdXJlIGlzIG5ldmVyIG1hc2tlZC4nLFxuICAgICAgJyAgLSB8JyxcbiAgICAgICcgICAgc2V0IC1lJyxcbiAgICAgIGAgICAgZWNobyBcIlJ1bm5pbmcgJHtpbnB1dC5uYW1lfSBpbiAkKHB3ZClcImAsXG4gICAgICBgICAgIHJ1bi1sb2dnZWQgJHtvdXR9LyR7aW5wdXQubmFtZX0ubG9nIC0tIGVjaG8gXCIke2lucHV0Lm5hbWV9IHJhblwiYCxcbiAgICAgICcjIFJ1biBhZ2FpbnN0IHRoZSBidWlsdCBpbWFnZSBieSB0ZXN0LXBsdWdpbnMuc2ggLS1idWlsZCBhbmQgYHBsdWdpbiB0ZXN0YC4nLFxuICAgICAgYHNtb2tlVGVzdDogJHtxKGlucHV0LmJhc2Uuc21va2VUZXN0KX1gLFxuICAgICk7XG4gIH1cbiAgbGluZXMucHVzaChcbiAgICAnJyxcbiAgICAnIyDilIDilIDilIAgQ2F0YWxvZyBtZXRhZGF0YSDilIDilIDilIAnLFxuICAgIGBsaWNlbnNlOiAke2lucHV0LmxpY2Vuc2V9YCxcbiAgICBpbnB1dC5pY29uXG4gICAgICA/IGBpY29uOiAke2lucHV0Lmljb259ICAjIGN1cmF0ZWQga2V5cyBhcmUgZm9yIE9mZmljaWFsIGFuZCBWZXJpZmllZCBsaXN0aW5nczsgQ29tbXVuaXR5IGxpc3RpbmdzIHVwbG9hZCBhbiBpY29uYFxuICAgICAgOiAnIyBpY29uOiBub25lIOKAlCBhIENvbW11bml0eSBsaXN0aW5nIHVwbG9hZHMgYSByYXN0ZXIgaWNvbiBvciBzaG93cyBpdHMgbW9ub2dyYW0nLFxuICAgICdjaGFuZ2Vsb2c6IHwnLFxuICAgICcgIDAuMS4wOiBJbml0aWFsIHJlbGVhc2UuJyxcbiAgICAnJyxcbiAgKTtcbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiByZWFkbWVUZXh0KGlucHV0OiBTY2FmZm9sZElucHV0LCByZWxEaXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRpc3BsYXkgPSBkaXNwbGF5TmFtZU9mKGlucHV0Lm5hbWUpO1xuICByZXR1cm4gYCMgJHtkaXNwbGF5fVxuXG4ke2lucHV0LmRlc2NyaXB0aW9ufVxuXG4jIyBVc2UgaXQgaW4gYSBwaXBlbGluZVxuXG5cXGBcXGBcXGB5YW1sXG5zdGVwczpcbiAgLSBwbHVnaW46IHsgbmFtZTogJHtpbnB1dC5uYW1lfSB9XG5cXGBcXGBcXGBcblxuJHtpbnB1dC5wbHVnaW5UeXBlID09PSAnTWFudWFsQXBwcm92YWxTdGVwJyA/ICcnIDogYFRoZSBzdGVwIHdyaXRlcyBpdHMgcmVzdWx0cyB0byBcXGAke2lucHV0Lm5hbWV9LXJlcG9ydHMvXFxgIChpdHMgcHJpbWFyeSBvdXRwdXQpLlxuXG5gfSMjIERldmVsb3BcblxuXFxgXFxgXFxgYmFzaFxucGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gdmFsaWRhdGUgLS1kaXIgJHtyZWxEaXJ9ICAgIyB0aGUgc2VydmVyJ3Mgc2NoZW1hICsgY2F0YWxvZyByZXBvcnRcbnBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIHRlc3QgLS1kaXIgJHtyZWxEaXJ9IC0td29ya3NwYWNlIC4vc2FtcGxlLWFwcFxucGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gcHVibGlzaCAtLWRpciAke3JlbERpcn0gICAgIyBwcmUtZmxpZ2h0LCBhY2NlcHQgb3IgZWRpdCBtZXRhZGF0YSwgc3VibWl0XG5cXGBcXGBcXGBcblxuVGhlIGltYWdlIGJ1aWxkcyBGUk9NIFxcYCR7aW5wdXQuYmFzZS5pbWFnZX1cXGA7IGJ1aWxkIHRoZSBiYXNlcyBmaXJzdCB3aXRoXG5cXGBkZXBsb3kvYmluL2J1aWxkLXBsdWdpbi1pbWFnZXMuc2hcXGAsIG9yIHBhc3MgXFxgLS1pbWFnZVxcYCB0byBcXGBwbHVnaW4gdGVzdFxcYC5cblxuIyMgTGljZW5zZVxuXG4ke2lucHV0LmxpY2Vuc2V9IOKAlCBzZWUgW0xJQ0VOU0VdKExJQ0VOU0UpLlxuYDtcbn1cblxuLyoqIEV2ZXJ5IGZpbGUgb2YgYSBuZXcgcGx1Z2luLCBrZXllZCBieSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBwbHVnaW4gZGlyZWN0b3J5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjYWZmb2xkRmlsZXMoaW5wdXQ6IFNjYWZmb2xkSW5wdXQsIHJlbERpciA9IGAuLyR7aW5wdXQubmFtZX1gKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IGlzQXBwcm92YWwgPSBpbnB1dC5wbHVnaW5UeXBlID09PSAnTWFudWFsQXBwcm92YWxTdGVwJztcbiAgY29uc3QgZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ2NvbmZpZy55YW1sJzogaXNBcHByb3ZhbFxuICAgICAgPyAncGx1Z2luU3BlYzogcGx1Z2luLXNwZWMueWFtbFxcbmJ1aWxkVHlwZTogbWV0YWRhdGFfb25seVxcbidcbiAgICAgIDogJ3BsdWdpblNwZWM6IHBsdWdpbi1zcGVjLnlhbWxcXG5idWlsZFR5cGU6IGJ1aWxkX2ltYWdlXFxuZG9ja2VyZmlsZTogRG9ja2VyZmlsZVxcbicsXG4gICAgJ3BsdWdpbi1zcGVjLnlhbWwnOiBzcGVjVGV4dChpbnB1dCksXG4gICAgJ1JFQURNRS5tZCc6IHJlYWRtZVRleHQoaW5wdXQsIHJlbERpciksXG4gICAgJ0xJQ0VOU0UnOiBsaWNlbnNlVGV4dChpbnB1dCksXG4gIH07XG4gIGlmICghaXNBcHByb3ZhbCkgZmlsZXMuRG9ja2VyZmlsZSA9IGRvY2tlcmZpbGVUZXh0KGlucHV0KTtcbiAgcmV0dXJuIGZpbGVzO1xufVxuXG4vKiogUHJpbnQgdGhlIGF2YWlsYWJsZSBwbHVnaW4gYmFzZXMuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRCYXNlcygpOiB2b2lkIHtcbiAgcHJpbnRTZWN0aW9uKCdQbHVnaW4gYmFzZSBpbWFnZXMnLCAnZGVwbG95L3BsdWdpbnMvX2Jhc2UnKTtcbiAgZm9yIChjb25zdCBiIG9mIFBMVUdJTl9CQVNFX0lNQUdFUykgY29uc29sZS5sb2coYCAgJHtiLmtleS5wYWRFbmQoOCl9ICR7Yi5pbWFnZS5wYWRFbmQoMjgpfSAke2IucHJvdmlkZXN9YCk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYHBsdWdpbiBuZXdgIOKAlCBzY2FmZm9sZCBhIHBsdWdpbiBGUk9NIGEgYHBsdWdpbi08ZWNvPi1iYXNlYCBpbWFnZTpcbiAqIGEgRG9ja2VyZmlsZSB0aGF0IGZvbGxvd3MgdGhlIGNhdGFsb2cgcnVsZXMsIGEgc3BlYyB3aXRoIGNhdGFsb2cgbWV0YWRhdGEsIGFcbiAqIFJFQURNRSwgYSBjaGFuZ2Vsb2cgZW50cnkgYW5kIGEgTElDRU5TRS4gSXQgcGFzc2VzIGBwbHVnaW4gdmFsaWRhdGVgIGFuZFxuICogdGVzdC1wbHVnaW5zLnNoJ3Mgc3RhdGljIGNoZWNrcyBhcyBnZW5lcmF0ZWQuXG4gKlxuICogVXNhZ2U6XG4gKiAgIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIG5ldyAtLWxpc3QtYmFzZXNcbiAqICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gbmV3IC0tbmFtZSBteS1saW50ZXIgLS1jYXRlZ29yeSBxdWFsaXR5IC0tYmFzZSBub2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXdQbHVnaW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ25ldycpXG4gICAgLmRlc2NyaXB0aW9uKCdTY2FmZm9sZCBhIHBsdWdpbiBmcm9tIGEgcGx1Z2luLTxlY28+LWJhc2UgaW1hZ2UgKERvY2tlcmZpbGUsIHNwZWMsIFJFQURNRSwgTElDRU5TRSknKVxuICAgIC5vcHRpb24oJy0tbmFtZSA8bmFtZT4nLCAnUGx1Z2luIG5hbWUgKGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMpJylcbiAgICAub3B0aW9uKCctLWNhdGVnb3J5IDxjYXRlZ29yeT4nLCBgQ2F0ZWdvcnk6ICR7UExVR0lOX0NBVEVHT1JJRVMuam9pbignIHwgJyl9YClcbiAgICAub3B0aW9uKCctLWJhc2UgPGVjbz4nLCBgQmFzZSBpbWFnZTogJHtQTFVHSU5fQkFTRV9JTUFHRVMubWFwKGIgPT4gYi5rZXkpLmpvaW4oJyB8ICcpfWAsICdwbHVnaW4nKVxuICAgIC5vcHRpb24oJy0tc3VtbWFyeSA8dGV4dD4nLCBgQ2F0YWxvZyBvbmUtbGluZXIgKOKJpCAke1BMVUdJTl9TVU1NQVJZX01BWH0pYClcbiAgICAub3B0aW9uKCctLWRlc2NyaXB0aW9uIDx0ZXh0PicsICdDYXRhbG9nIGRlc2NyaXB0aW9uJylcbiAgICAub3B0aW9uKCctLWxpY2Vuc2UgPHNwZHg+JywgJ1NQRFggbGljZW5zZSBpZCcsICdBcGFjaGUtMi4wJylcbiAgICAub3B0aW9uKCctLWljb24gPGtleT4nLCAnQ3VyYXRlZCBpY29uIGtleSAoT2ZmaWNpYWwvVmVyaWZpZWQgbGlzdGluZ3Mgb25seSksIG9yIG5vbmUnLCAnbm9uZScpXG4gICAgLm9wdGlvbignLS1hdXRob3IgPG5hbWU+JywgJ0NvcHlyaWdodCBob2xkZXIgZm9yIExJQ0VOU0UnKVxuICAgIC5vcHRpb24oJy0tdHlwZSA8dHlwZT4nLCBgUGx1Z2luIHR5cGU6ICR7UExVR0lOX1RZUEVTLmpvaW4oJyB8ICcpfWAsICdDb2RlQnVpbGRTdGVwJylcbiAgICAub3B0aW9uKCctLWNvbXB1dGUgPGNvbXB1dGU+JywgYENvbXB1dGUgdHlwZTogJHtQTFVHSU5fQ09NUFVURV9UWVBFUy5qb2luKCcgfCAnKX1gLCAnU01BTEwnKVxuICAgIC5vcHRpb24oJy0tZGlyIDxwYXRoPicsICdUYXJnZXQgZGlyZWN0b3J5IChkZWZhdWx0IC4vPG5hbWU+KScpXG4gICAgLm9wdGlvbignLS1mb3JjZScsICdPdmVyd3JpdGUgYW4gZXhpc3RpbmcgZGlyZWN0b3J5JywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1saXN0LWJhc2VzJywgJ0xpc3QgdGhlIGF2YWlsYWJsZSBiYXNlIGltYWdlcyBhbmQgZXhpdCcsIGZhbHNlKVxuICAgIC5hY3Rpb24oKG9wdGlvbnM6IE5ld1BsdWdpbk9wdGlvbnMpID0+IHtcbiAgICAgIGlmIChvcHRpb25zLmxpc3RCYXNlcykge1xuICAgICAgICBwcmludEJhc2VzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdOZXcgUGx1Z2luJyk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHJlc29sdmVTY2FmZm9sZElucHV0KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCByZWxEaXIgPSBvcHRpb25zLmRpciA/PyBgLi8ke2lucHV0Lm5hbWV9YDtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5yZXNvbHZlKHJlbERpcik7XG4gICAgICAgIGlmIChmaWxlRXhpc3RzKHRhcmdldERpcikgJiYgIW9wdGlvbnMuZm9yY2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBEaXJlY3RvcnkgYWxyZWFkeSBleGlzdHM6ICR7dGFyZ2V0RGlyfSAodXNlIC0tZm9yY2UgdG8gb3ZlcndyaXRlKWApO1xuICAgICAgICB9XG4gICAgICAgIGVuc3VyZU91dHB1dERpcmVjdG9yeSh0YXJnZXREaXIpO1xuICAgICAgICBjb25zdCBmaWxlcyA9IHNjYWZmb2xkRmlsZXMoaW5wdXQsIHJlbERpcik7XG4gICAgICAgIGZvciAoY29uc3QgW2ZpbGUsIGNvbnRlbnRdIG9mIE9iamVjdC5lbnRyaWVzKGZpbGVzKSkgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4odGFyZ2V0RGlyLCBmaWxlKSwgY29udGVudCwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgaWYgKGlucHV0Lmljb24pIHByaW50V2FybmluZygnQ3VyYXRlZCBpY29ucyBhcmUgcmVzZXJ2ZWQgZm9yIE9mZmljaWFsIGxpc3RpbmdzIGFuZCBWZXJpZmllZCBwdWJsaXNoZXJzIHdobyBvd24gdGhlIG1hcms7IGEgQ29tbXVuaXR5IGxpc3Rpbmcgd2l0aCBvbmUgaXMgcmVmdXNlZCBhdCBzdWJtaXQnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdTY2FmZm9sZGVkIHBsdWdpbicsIHRhcmdldERpcik7XG4gICAgICAgIHByaW50SW5mbygnQ3JlYXRlZCBmaWxlcycsIHsgZmlsZXM6IE9iamVjdC5rZXlzKGZpbGVzKSwgYmFzZTogaW5wdXQuYmFzZS5pbWFnZSB9KTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdQbHVnaW4gc2NhZmZvbGQgY3JlYXRlZCDigJQgbmV4dDogcGx1Z2luIHZhbGlkYXRlLCBwbHVnaW4gdGVzdCwgcGx1Z2luIHB1Ymxpc2gnLCB7IGV4ZWN1dGlvbklkLCBkaXI6IHRhcmdldERpciB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnIsIGVyciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciA/IEVSUk9SX0NPREVTLlZBTElEQVRJT04gOiBFUlJPUl9DT0RFUy5HRU5FUkFMLCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncGx1Z2luIG5ldycsIGV4ZWN1dGlvbklkIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXBsdWdpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL25ldy1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFDTCxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQ2xILGVBQWUsRUFBRSxvQkFBb0IsR0FDdEMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFpQ2xJLGlDQUFpQztBQUNqQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUV2RiwrREFBK0Q7QUFDL0QsTUFBTSxD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QU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTthQUNoRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIFBMVUdJTl9CQVNFX0lNQUdFUywgUExVR0lOX0NBVEVHT1JJRVMsIFBMVUdJTl9DT01QVVRFX1RZUEVTLCBQTFVHSU5fTkFNRV9QQVRURVJOLCBQTFVHSU5fU1VNTUFSWV9NQVgsIFBMVUdJTl9UWVBFUyxcbiAgaXNBbGxvd2VkU3BkeElkLCB2YWxpZGF0ZUNhdGFsb2dGaWVsZCwgdHlwZSBQbHVnaW5CYXNlSW1hZ2UsXG59IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgQ1VSQVRFRF9JQ09OX0tFWVMgfSBmcm9tICcuLi9jb25maWcvcGx1Z2luLWNhdGFsb2ctYXNzZXRzLmpzJztcbmltcG9ydCB7IHByaW50Q29tbWFuZEhlYWRlciB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZywgZmlsZUV4aXN0cywgZW5zdXJlT3V0cHV0RGlyZWN0b3J5IH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZXdQbHVnaW5PcHRpb25zIHtcbiAgbmFtZT86IHN0cmluZztcbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGJhc2U/OiBzdHJpbmc7XG4gIHN1bW1hcnk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBsaWNlbnNlPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBhdXRob3I/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNvbXB1dGU/OiBzdHJpbmc7XG4gIGRpcj86IHN0cmluZztcbiAgZm9yY2U/OiBib29sZWFuO1xuICBsaXN0QmFzZXM/OiBib29sZWFuO1xufVxuXG4vKiogQSB2YWxpZGF0ZWQgc2NhZmZvbGQgcmVxdWVzdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NhZmZvbGRJbnB1dCB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgYmFzZTogUGx1Z2luQmFzZUltYWdlO1xuICBzdW1tYXJ5OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxpY2Vuc2U6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nIHwgbnVsbDtcbiAgYXV0aG9yOiBzdHJpbmc7XG4gIHBsdWdpblR5cGU6IHN0cmluZztcbiAgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgeWVhcjogbnVtYmVyO1xufVxuXG4vKiogYG15LWxpbnRlcmAg4oaSIGBNeSBMaW50ZXJgLiAqL1xuZXhwb3J0IGNvbnN0IGRpc3BsYXlOYW1lT2YgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIG5hbWUuc3BsaXQoJy0nKS5maWx0ZXIoQm9vbGVhbikubWFwKHcgPT4gd1swXSEudG9VcHBlckNhc2UoKSArIHcuc2xpY2UoMSkpLmpvaW4oJyAnKTtcblxuLyoqIFlBTUwgZG91YmxlLXF1b3RlZCBzY2FsYXIgKEpTT04gc3RyaW5ncyBhcmUgdmFsaWQgWUFNTCkuICovXG5jb25zdCBxID0gKHM6IHN0cmluZyk6IHN0cmluZyA9PiBKU09OLnN0cmluZ2lmeShzKTtcblxuLyoqIFZhbGlkYXRlIHRoZSBmbGFncyBpbnRvIGEgc2NhZmZvbGQgcmVxdWVzdCAodGhyb3dzIFZhbGlkYXRpb25FcnJvcikuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNjYWZmb2xkSW5wdXQob3B0aW9uczogTmV3UGx1Z2luT3B0aW9ucywgbm93ID0gbmV3IERhdGUoKSk6IFNjYWZmb2xkSW5wdXQge1xuICBjb25zdCBuYW1lID0gb3B0aW9ucy5uYW1lID8/ICcnO1xuICBpZiAoIW5hbWUgfHwgIVBMVUdJTl9OQU1FX1BBVFRFUk4udGVzdChuYW1lKSB8fCBuYW1lLmxlbmd0aCA+IDY0KSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignLS1uYW1lIG11c3QgYmUgMS02NCBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBoeXBoZW5zJywgJ25hbWUnLCBuYW1lKTtcbiAgfVxuICBjb25zdCBjYXRlZ29yeSA9IG9wdGlvbnMuY2F0ZWdvcnkgPz8gJyc7XG4gIGlmICghKFBMVUdJTl9DQVRFR09SSUVTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhjYXRlZ29yeSkpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLWNhdGVnb3J5IG11c3QgYmUgb25lIG9mOiAke1BMVUdJTl9DQVRFR09SSUVTLmpvaW4oJywgJyl9YCwgJ2NhdGVnb3J5JywgY2F0ZWdvcnkpO1xuICB9XG4gIGNvbnN0IGJhc2UgPSBQTFVHSU5fQkFTRV9JTUFHRVMuZmluZChiID0+IGIua2V5ID09PSAob3B0aW9ucy5iYXNlID8/ICdwbHVnaW4nKSk7XG4gIGlmICghYmFzZSkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS1iYXNlIG11c3QgYmUgb25lIG9mOiAke1BMVUdJTl9CQVNFX0lNQUdFUy5tYXAoYiA9PiBiLmtleSkuam9pbignLCAnKX0gKHNlZSAtLWxpc3QtYmFzZXMpYCwgJ2Jhc2UnLCBvcHRpb25zLmJhc2UpO1xuICBjb25zdCBwbHVnaW5UeXBlID0gb3B0aW9ucy50eXBlID8/ICdDb2RlQnVpbGRTdGVwJztcbiAgaWYgKCEoUExVR0lOX1RZUEVTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhwbHVnaW5UeXBlKSkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS10eXBlIG11c3QgYmUgb25lIG9mOiAke1BMVUdJTl9UWVBFUy5qb2luKCcsICcpfWAsICd0eXBlJywgcGx1Z2luVHlwZSk7XG4gIGNvbnN0IGNvbXB1dGVUeXBlID0gb3B0aW9ucy5jb21wdXRlID8/ICdTTUFMTCc7XG4gIGlmICghKFBMVUdJTl9DT01QVVRFX1RZUEVTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhjb21wdXRlVHlwZSkpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tY29tcHV0ZSBtdXN0IGJlIG9uZSBvZjogJHtQTFVHSU5fQ09NUFVURV9UWVBFUy5qb2luKCcsICcpfWAsICdjb21wdXRlJywgY29tcHV0ZVR5cGUpO1xuICBjb25zdCBsaWNlbnNlID0gb3B0aW9ucy5saWNlbnNlID8/ICdBcGFjaGUtMi4wJztcbiAgaWYgKCFpc0FsbG93ZWRTcGR4SWQobGljZW5zZSkpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJy0tbGljZW5zZSBtdXN0IGJlIGEgc3VwcG9ydGVkIFNQRFggaWRlbnRpZmllciAoZS5nLiBBcGFjaGUtMi4wLCBNSVQpJywgJ2xpY2Vuc2UnLCBsaWNlbnNlKTtcbiAgY29uc3QgaWNvbiA9IG9wdGlvbnMuaWNvbiAmJiBvcHRpb25zLmljb24gIT09ICdub25lJyA/IG9wdGlvbnMuaWNvbiA6IG51bGw7XG4gIGlmIChpY29uICE9PSBudWxsICYmICFDVVJBVEVEX0lDT05fS0VZUy5pbmNsdWRlcyhpY29uKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0taWNvbiBtdXN0IGJlIGEgY3VyYXRlZCBrZXkgKCR7Q1VSQVRFRF9JQ09OX0tFWVMuam9pbignLCAnKX0pIG9yIG5vbmVgLCAnaWNvbicsIGljb24pO1xuICB9XG5cbiAgY29uc3QgZGlzcGxheSA9IGRpc3BsYXlOYW1lT2YobmFtZSk7XG4gIGNvbnN0IHN1bW1hcnkgPSBvcHRpb25zLnN1bW1hcnkgPz8gYCR7ZGlzcGxheX0gYXMgYSBwaXBlbGluZSBzdGVwLmA7XG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gb3B0aW9ucy5kZXNjcmlwdGlvblxuICAgID8/IGAke2Rpc3BsYXl9IHJ1bnMgYXMgYSBDb2RlQnVpbGQgc3RlcCBpbiB5b3VyIHBpcGVsaW5lLiBSZXBsYWNlIHRoaXMgd2l0aCB3aGF0IHRoZSBwbHVnaW4gY2hlY2tzIG9yIGJ1aWxkcywgd2hhdCBpdCByZWFkcyBmcm9tIHRoZSB3b3Jrc3BhY2UgYW5kIHdoYXQgaXQgd3JpdGVzLmA7XG4gIGZvciAoY29uc3QgW2ZpZWxkLCB2YWx1ZV0gb2YgW1snc3VtbWFyeScsIHN1bW1hcnldLCBbJ2Rlc2NyaXB0aW9uJywgZGVzY3JpcHRpb25dXSBhcyBjb25zdCkge1xuICAgIGNvbnN0IGNoZWNrZWQgPSB2YWxpZGF0ZUNhdGFsb2dGaWVsZChmaWVsZCwgdmFsdWUpO1xuICAgIGlmICghY2hlY2tlZC5vaykgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS0ke2ZpZWxkfSAke2NoZWNrZWQuZXJyb3J9JHtmaWVsZCA9PT0gJ3N1bW1hcnknID8gYCAobWF4ICR7UExVR0lOX1NVTU1BUllfTUFYfSlgIDogJyd9YCwgZmllbGQsIHZhbHVlKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgY2F0ZWdvcnksXG4gICAgYmFzZSxcbiAgICBzdW1tYXJ5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGxpY2Vuc2UsXG4gICAgaWNvbixcbiAgICBwbHVnaW5UeXBlLFxuICAgIGNvbXB1dGVUeXBlLFxuICAgIGF1dGhvcjogb3B0aW9ucy5hdXRob3IgPz8gYFRoZSAke25hbWV9IGF1dGhvcnNgLFxuICAgIHllYXI6IG5vdy5nZXRVVENGdWxsWWVhcigpLFxuICB9O1xufVxuXG5jb25zdCBNSVRfVEVYVCA9ICh5ZWFyOiBudW1iZXIsIGF1dGhvcjogc3RyaW5nKTogc3RyaW5nID0+IGBNSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpICR7eWVhcn0gJHthdXRob3J9XG5cblBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbm9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbmluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG5jb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG5JTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG5TT0ZUV0FSRS5cbmA7XG5cbi8qKiBMSUNFTlNFOiB0aGUgTUlUIHRleHQgaW4gZnVsbCwgZWxzZSB0aGUgU1BEWCBub3RpY2UgKEFwYWNoZS0yLjAncyBvd24gcmVjb21tZW5kZWQgZm9ybSkuICovXG5leHBvcnQgZnVuY3Rpb24gbGljZW5zZVRleHQoaW5wdXQ6IFBpY2s8U2NhZmZvbGRJbnB1dCwgJ2xpY2Vuc2UnIHwgJ3llYXInIHwgJ2F1dGhvcic+KTogc3RyaW5nIHtcbiAgaWYgKGlucHV0LmxpY2Vuc2UgPT09ICdNSVQnKSByZXR1cm4gTUlUX1RFWFQoaW5wdXQueWVhciwgaW5wdXQuYXV0aG9yKTtcbiAgaWYgKGlucHV0LmxpY2Vuc2UgPT09ICdBcGFjaGUtMi4wJykge1xuICAgIHJldHVybiBgQ29weXJpZ2h0ICR7aW5wdXQueWVhcn0gJHtpbnB1dC5hdXRob3J9XG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuYDtcbiAgfVxuICByZXR1cm4gYENvcHlyaWdodCAke2lucHV0LnllYXJ9ICR7aW5wdXQuYXV0aG9yfVxuXG5UaGlzIHBsdWdpbiBpcyBsaWNlbnNlZCB1bmRlciAke2lucHV0LmxpY2Vuc2V9LlxuRnVsbCB0ZXh0OiBodHRwczovL3NwZHgub3JnL2xpY2Vuc2VzLyR7aW5wdXQubGljZW5zZX0uaHRtbFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogJHtpbnB1dC5saWNlbnNlfVxuYDtcbn1cblxuLyoqIEtleXdvcmRzOiB0aGUgY2F0ZWdvcnkgcGx1cyB0aGUgbmFtZSdzIHdvcmRzICjiiaQgMTAsIGVhY2gg4omkIDMyLCBubyBkdXBsaWNhdGVzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY2FmZm9sZEtleXdvcmRzKG5hbWU6IHN0cmluZywgY2F0ZWdvcnk6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFsuLi5uZXcgU2V0KFtjYXRlZ29yeSwgLi4ubmFtZS5zcGxpdCgnLScpXS5maWx0ZXIodyA9PiB3Lmxlbmd0aCA+PSAyICYmIHcubGVuZ3RoIDw9IDMyKSldLnNsaWNlKDAsIDEwKTtcbn1cblxuZnVuY3Rpb24gZG9ja2VyZmlsZVRleHQoaW5wdXQ6IFNjYWZmb2xkSW5wdXQpOiBzdHJpbmcge1xuICBjb25zdCBkaXNwbGF5ID0gZGlzcGxheU5hbWVPZihpbnB1dC5uYW1lKTtcbiAgcmV0dXJuIGAjICR7ZGlzcGxheX0g4oCUICR7aW5wdXQuc3VtbWFyeX1cbiNcbiMgVGhpbiBsYXllciBvdmVyICR7aW5wdXQuYmFzZS5pbWFnZX0gKGRlcGxveS9wbHVnaW5zL19iYXNlLyR7aW5wdXQuYmFzZS5kaXJ9OlxuIyAke2lucHV0LmJhc2UucHJvdmlkZXN9KS4gQWRkIE9OTFkgdGhpcyBwbHVnaW4ncyBvd24gdG9vbCwgcGlubmVkLiBSdWxlc1xuIyAoZGVwbG95L3BsdWdpbnMvUkVBRE1FLm1kLCBlbmZvcmNlZCBieSB0ZXN0LXBsdWdpbnMuc2ggYW5kIFxcYHBsdWdpbiB2YWxpZGF0ZVxcYCk6XG4jICAgLSBldmVyeSBkb3dubG9hZCBnb2VzIHRocm91Z2ggZmV0Y2gtdmVyaWZpZWQgd2l0aCBhIHBpbm5lZCB2ZXJzaW9uIGFuZCBhXG4jICAgICBwaW5uZWQgcGVyLWFyY2hpdGVjdHVyZSBkaWdlc3Q7IG5ldmVyIGEgcm9sbGluZyBVUkwsIG5ldmVyIGN1cmwgfCBzaDtcbiMgICAtIHN3aXRjaCB0byByb290IG9ubHkgZm9yIHRoZSBzdGVwcyB0aGF0IG5lZWQgaXQsIGFuZCBlbmQgYXMgVVNFUiAxMDAwOjEwMDA7XG4jICAgLSBhIHRvb2wgdGhhdCBzaGlwcyBzZXZlcmFsIHZlcnNpb25zIHB1dHMgdGhlbSB1bmRlciAvb3B0Lzx0b29sPi92ZXJzaW9uc1xuIyAgICAgd2l0aCB0aGUgYWN0aXZlIG9uZSBzeW1saW5rZWQgZnJvbSBhIHVpZC0xMDAwLW93bmVkIC9vcHQvPHRvb2w+L2Jpbi5cblxuRlJPTSAke2lucHV0LmJhc2UuaW1hZ2V9XG5cbiMg4pSA4pSA4pSAIFRvb2wgaW5zdGFsbCAodW5jb21tZW50IGFuZCBmaWxsIGluKSDilIDilIDilIBcbiMgVGFrZSBlYWNoIGRpZ2VzdCBmcm9tIHRoZSB2ZW5kb3IncyBwdWJsaXNoZWQgY2hlY2tzdW0gZmlsZS5cbiMgVVNFUiByb290XG4jIEFSRyBUT09MX1ZFUlNJT049MS4yLjNcbiMgQVJHIFRPT0xfU0hBMjU2X0FNRDY0PTxzaGEyNTYgb2YgdGhlIGxpbnV4LWFtZDY0IGFzc2V0PlxuIyBBUkcgVE9PTF9TSEEyNTZfQVJNNjQ9PHNoYTI1NiBvZiB0aGUgbGludXgtYXJtNjQgYXNzZXQ+XG4jIFJVTiBzZXQgLWV1eDsgXFxcXFxuIyAgICAgY2FzZSBcIiQoZHBrZyAtLXByaW50LWFyY2hpdGVjdHVyZSlcIiBpbiBcXFxcXG4jICAgICAgIGFtZDY0KSBhcmNoPWFtZDY0OyBzdW09XCJcXCR7VE9PTF9TSEEyNTZfQU1ENjR9XCIgOzsgXFxcXFxuIyAgICAgICBhcm02NCkgYXJjaD1hcm02NDsgc3VtPVwiXFwke1RPT0xfU0hBMjU2X0FSTTY0fVwiIDs7IFxcXFxcbiMgICAgICAgKikgZWNobyBcInVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTogJChkcGtnIC0tcHJpbnQtYXJjaGl0ZWN0dXJlKVwiID4mMjsgZXhpdCAxIDs7IFxcXFxcbiMgICAgIGVzYWM7IFxcXFxcbiMgICAgIGZldGNoLXZlcmlmaWVkIFwiaHR0cHM6Ly9leGFtcGxlLmNvbS90b29sL3ZcXCR7VE9PTF9WRVJTSU9OfS90b29sLWxpbnV4LVxcJHthcmNofS50YXIuZ3pcIiBcIiRzdW1cIiAvdG1wL3Rvb2wudGFyLmd6OyBcXFxcXG4jICAgICBpbnN0YWxsIC1kIC9vcHQvdG9vbC9iaW47IFxcXFxcbiMgICAgIHRhciAteHpmIC90bXAvdG9vbC50YXIuZ3ogLUMgL29wdC90b29sL2JpbjsgXFxcXFxuIyAgICAgcm0gLWYgL3RtcC90b29sLnRhci5nejsgXFxcXFxuIyAgICAgY2htb2QgLVIgYStyWCAvb3B0L3Rvb2xcbiMgRU5WIFBBVEg9XCIvb3B0L3Rvb2wvYmluOlxcJHtQQVRIfVwiXG5cbldPUktESVIgL2FwcFxuVVNFUiAxMDAwOjEwMDBcbkNNRCBbXCJiYXNoXCJdXG5gO1xufVxuXG5mdW5jdGlvbiBzcGVjVGV4dChpbnB1dDogU2NhZmZvbGRJbnB1dCk6IHN0cmluZyB7XG4gIGNvbnN0IG91dCA9IGAke2lucHV0Lm5hbWV9LXJlcG9ydHNgO1xuICBjb25zdCBpc0FwcHJvdmFsID0gaW5wdXQucGx1Z2luVHlwZSA9PT0gJ01hbnVhbEFwcHJvdmFsU3RlcCc7XG4gIGNvbnN0IGxpbmVzID0gW1xuICAgIGBuYW1lOiAke2lucHV0Lm5hbWV9YCxcbiAgICBgc3VtbWFyeTogJHtxKGlucHV0LnN1bW1hcnkpfWAsXG4gICAgYGRlc2NyaXB0aW9uOiAke3EoaW5wdXQuZGVzY3JpcHRpb24pfWAsXG4gICAgJ2tleXdvcmRzOicsXG4gICAgLi4uc2NhZmZvbGRLZXl3b3JkcyhpbnB1dC5uYW1lLCBpbnB1dC5jYXRlZ29yeSkubWFwKGsgPT4gYCAgLSAke2t9YCksXG4gICAgYGNhdGVnb3J5OiAke2lucHV0LmNhdGVnb3J5fWAsXG4gICAgJ3ZlcnNpb246IDAuMS4wJyxcbiAgICBgcGx1Z2luVHlwZTogJHtpbnB1dC5wbHVnaW5UeXBlfWAsXG4gICAgYGNvbXB1dGVUeXBlOiAke2lucHV0LmNvbXB1dGVUeXBlfWAsXG4gICAgYHRpbWVvdXQ6ICR7aXNBcHByb3ZhbCA/IDAgOiAxMH1gLFxuICAgICdmYWlsdXJlQmVoYXZpb3I6IGZhaWwnLFxuICAgICdzZWNyZXRzOiBbXScsXG4gIF07XG4gIGlmICghaXNBcHByb3ZhbCkge1xuICAgIGxpbmVzLnB1c2goXG4gICAgICBgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJHtvdXR9YCxcbiAgICAgICdkb2NrZXJmaWxlOiBEb2NrZXJmaWxlJyxcbiAgICAgICdpbnN0YWxsQ29tbWFuZHM6JyxcbiAgICAgIGAgIC0gbWtkaXIgLXAgJHtvdXR9YCxcbiAgICAgICdjb21tYW5kczonLFxuICAgICAgJyAgIyBSZXBsYWNlIHdpdGggdGhlIHJlYWwgdG9vbCBpbnZvY2F0aW9uLiBydW4tbG9nZ2VkIChmcm9tIHRoZSBiYXNlIGltYWdlKScsXG4gICAgICAnICAjIHN0cmVhbXMgb3V0cHV0IHRvIHRoZSBjb25zb2xlIEFORCB0aGUgbG9nLCBhbmQgZXhpdHMgd2l0aCB0aGUgY29tbWFuZFxcJ3MnLFxuICAgICAgJyAgIyBvd24gc3RhdHVzLCBzbyBhIGZhaWx1cmUgaXMgbmV2ZXIgbWFza2VkLicsXG4gICAgICAnICAtIHwnLFxuICAgICAgJyAgICBzZXQgLWUnLFxuICAgICAgYCAgICBlY2hvIFwiUnVubmluZyAke2lucHV0Lm5hbWV9IGluICQocHdkKVwiYCxcbiAgICAgIGAgICAgcnVuLWxvZ2dlZCAke291dH0vJHtpbnB1dC5uYW1lfS5sb2cgLS0gZWNobyBcIiR7aW5wdXQubmFtZX0gcmFuXCJgLFxuICAgICAgJyMgUnVuIGFnYWluc3QgdGhlIGJ1aWx0IGltYWdlIGJ5IHRlc3QtcGx1Z2lucy5zaCAtLWJ1aWxkIGFuZCBgcGx1Z2luIHRlc3RgLicsXG4gICAgICBgc21va2VUZXN0OiAke3EoaW5wdXQuYmFzZS5zbW9rZVRlc3QpfWAsXG4gICAgKTtcbiAgfVxuICBsaW5lcy5wdXNoKFxuICAgICcnLFxuICAgICcjIOKUgOKUgOKUgCBDYXRhbG9nIG1ldGFkYXRhIOKUgOKUgOKUgCcsXG4gICAgYGxpY2Vuc2U6ICR7aW5wdXQubGljZW5zZX1gLFxuICAgIGlucHV0Lmljb25cbiAgICAgID8gYGljb246ICR7aW5wdXQuaWNvbn0gICMgY3VyYXRlZCBrZXlzIGFyZSBmb3IgT2ZmaWNpYWwgYW5kIFZlcmlmaWVkIGxpc3RpbmdzOyBDb21tdW5pdHkgbGlzdGluZ3MgdXBsb2FkIGFuIGljb25gXG4gICAgICA6ICcjIGljb246IG5vbmUg4oCUIGEgQ29tbXVuaXR5IGxpc3RpbmcgdXBsb2FkcyBhIHJhc3RlciBpY29uIG9yIHNob3dzIGl0cyBtb25vZ3JhbScsXG4gICAgJ2NoYW5nZWxvZzogfCcsXG4gICAgJyAgMC4xLjA6IEluaXRpYWwgcmVsZWFzZS4nLFxuICAgICcnLFxuICApO1xuICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG59XG5cbmZ1bmN0aW9uIHJlYWRtZVRleHQoaW5wdXQ6IFNjYWZmb2xkSW5wdXQsIHJlbERpcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGlzcGxheSA9IGRpc3BsYXlOYW1lT2YoaW5wdXQubmFtZSk7XG4gIHJldHVybiBgIyAke2Rpc3BsYXl9XG5cbiR7aW5wdXQuZGVzY3JpcHRpb259XG5cbiMjIFVzZSBpdCBpbiBhIHBpcGVsaW5lXG5cblxcYFxcYFxcYHlhbWxcbnN0ZXBzOlxuICAtIHBsdWdpbjogeyBuYW1lOiAke2lucHV0Lm5hbWV9IH1cblxcYFxcYFxcYFxuXG4ke2lucHV0LnBsdWdpblR5cGUgPT09ICdNYW51YWxBcHByb3ZhbFN0ZXAnID8gJycgOiBgVGhlIHN0ZXAgd3JpdGVzIGl0cyByZXN1bHRzIHRvIFxcYCR7aW5wdXQubmFtZX0tcmVwb3J0cy9cXGAgKGl0cyBwcmltYXJ5IG91dHB1dCkuXG5cbmB9IyMgRGV2ZWxvcFxuXG5cXGBcXGBcXGBiYXNoXG5waXBlbGluZS1tYW5hZ2VyIHBsdWdpbiB2YWxpZGF0ZSAtLWRpciAke3JlbERpcn0gICAjIHRoZSBzZXJ2ZXIncyBzY2hlbWEgKyBjYXRhbG9nIHJlcG9ydFxucGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gdGVzdCAtLWRpciAke3JlbERpcn0gLS13b3Jrc3BhY2UgLi9zYW1wbGUtYXBwXG5waXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBwdWJsaXNoIC0tZGlyICR7cmVsRGlyfSAgICAjIHByZS1mbGlnaHQsIGFjY2VwdCBvciBlZGl0IG1ldGFkYXRhLCBzdWJtaXRcblxcYFxcYFxcYFxuXG5UaGUgaW1hZ2UgYnVpbGRzIEZST00gXFxgJHtpbnB1dC5iYXNlLmltYWdlfVxcYDsgYnVpbGQgdGhlIGJhc2VzIGZpcnN0IHdpdGhcblxcYGRlcGxveS9iaW4vYnVpbGQtcGx1Z2luLWltYWdlcy5zaFxcYCwgb3IgcGFzcyBcXGAtLWltYWdlXFxgIHRvIFxcYHBsdWdpbiB0ZXN0XFxgLlxuXG4jIyBMaWNlbnNlXG5cbiR7aW5wdXQubGljZW5zZX0g4oCUIHNlZSBbTElDRU5TRV0oTElDRU5TRSkuXG5gO1xufVxuXG4vKiogRXZlcnkgZmlsZSBvZiBhIG5ldyBwbHVnaW4sIGtleWVkIGJ5IHBhdGggcmVsYXRpdmUgdG8gdGhlIHBsdWdpbiBkaXJlY3RvcnkuICovXG5leHBvcnQgZnVuY3Rpb24gc2NhZmZvbGRGaWxlcyhpbnB1dDogU2NhZmZvbGRJbnB1dCwgcmVsRGlyID0gYC4vJHtpbnB1dC5uYW1lfWApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgaXNBcHByb3ZhbCA9IGlucHV0LnBsdWdpblR5cGUgPT09ICdNYW51YWxBcHByb3ZhbFN0ZXAnO1xuICBjb25zdCBmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnY29uZmlnLnlhbWwnOiBpc0FwcHJvdmFsXG4gICAgICA/ICdwbHVnaW5TcGVjOiBwbHVnaW4tc3BlYy55YW1sXFxuYnVpbGRUeXBlOiBtZXRhZGF0YV9vbmx5XFxuJ1xuICAgICAgOiAncGx1Z2luU3BlYzogcGx1Z2luLXNwZWMueWFtbFxcbmJ1aWxkVHlwZTogYnVpbGRfaW1hZ2VcXG5kb2NrZXJmaWxlOiBEb2NrZXJmaWxlXFxuJyxcbiAgICAncGx1Z2luLXNwZWMueWFtbCc6IHNwZWNUZXh0KGlucHV0KSxcbiAgICAnUkVBRE1FLm1kJzogcmVhZG1lVGV4dChpbnB1dCwgcmVsRGlyKSxcbiAgICAnTElDRU5TRSc6IGxpY2Vuc2VUZXh0KGlucHV0KSxcbiAgfTtcbiAgaWYgKCFpc0FwcHJvdmFsKSBmaWxlcy5Eb2NrZXJmaWxlID0gZG9ja2VyZmlsZVRleHQoaW5wdXQpO1xuICByZXR1cm4gZmlsZXM7XG59XG5cbi8qKiBQcmludCB0aGUgYXZhaWxhYmxlIHBsdWdpbiBiYXNlcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludEJhc2VzKCk6IHZvaWQge1xuICBwcmludFNlY3Rpb24oJ1BsdWdpbiBiYXNlIGltYWdlcycsICdkZXBsb3kvcGx1Z2lucy9fYmFzZScpO1xuICBmb3IgKGNvbnN0IGIgb2YgUExVR0lOX0JBU0VfSU1BR0VTKSBjb25zb2xlLmxvZyhgICAke2Iua2V5LnBhZEVuZCg4KX0gJHtiLmltYWdlLnBhZEVuZCgyOCl9ICR7Yi5wcm92aWRlc31gKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBgcGx1Z2luIG5ld2Ag4oCUIHNjYWZmb2xkIGEgcGx1Z2luIEZST00gYSBgcGx1Z2luLTxlY28+LWJhc2VgIGltYWdlOlxuICogYSBEb2NrZXJmaWxlIHRoYXQgZm9sbG93cyB0aGUgY2F0YWxvZyBydWxlcywgYSBzcGVjIHdpdGggY2F0YWxvZyBtZXRhZGF0YSwgYVxuICogUkVBRE1FLCBhIGNoYW5nZWxvZyBlbnRyeSBhbmQgYSBMSUNFTlNFLiBJdCBwYXNzZXMgYHBsdWdpbiB2YWxpZGF0ZWAgYW5kXG4gKiB0ZXN0LXBsdWdpbnMuc2gncyBzdGF0aWMgY2hlY2tzIGFzIGdlbmVyYXRlZC5cbiAqXG4gKiBVc2FnZTpcbiAqICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gbmV3IC0tbGlzdC1iYXNlc1xuICogICBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBuZXcgLS1uYW1lIG15LWxpbnRlciAtLWNhdGVnb3J5IHF1YWxpdHkgLS1iYXNlIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5ld1BsdWdpbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHByb2dyYW1cbiAgICAuY29tbWFuZCgnbmV3JylcbiAgICAuZGVzY3JpcHRpb24oJ1NjYWZmb2xkIGEgcGx1Z2luIGZyb20gYSBwbHVnaW4tPGVjbz4tYmFzZSBpbWFnZSAoRG9ja2VyZmlsZSwgc3BlYywgUkVBRE1FLCBMSUNFTlNFKScpXG4gICAgLm9wdGlvbignLS1uYW1lIDxuYW1lPicsICdQbHVnaW4gbmFtZSAobG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucyknKVxuICAgIC5vcHRpb24oJy0tY2F0ZWdvcnkgPGNhdGVnb3J5PicsIGBDYXRlZ29yeTogJHtQTFVHSU5fQ0FURUdPUklFUy5qb2luKCcgfCAnKX1gKVxuICAgIC5vcHRpb24oJy0tYmFzZSA8ZWNvPicsIGBCYXNlIGltYWdlOiAke1BMVUdJTl9CQVNFX0lNQUdFUy5tYXAoYiA9PiBiLmtleSkuam9pbignIHwgJyl9YCwgJ3BsdWdpbicpXG4gICAgLm9wdGlvbignLS1zdW1tYXJ5IDx0ZXh0PicsIGBDYXRhbG9nIG9uZS1saW5lciAo4omkICR7UExVR0lOX1NVTU1BUllfTUFYfSlgKVxuICAgIC5vcHRpb24oJy0tZGVzY3JpcHRpb24gPHRleHQ+JywgJ0NhdGFsb2cgZGVzY3JpcHRpb24nKVxuICAgIC5vcHRpb24oJy0tbGljZW5zZSA8c3BkeD4nLCAnU1BEWCBsaWNlbnNlIGlkJywgJ0FwYWNoZS0yLjAnKVxuICAgIC5vcHRpb24oJy0taWNvbiA8a2V5PicsICdDdXJhdGVkIGljb24ga2V5IChPZmZpY2lhbC9WZXJpZmllZCBsaXN0aW5ncyBvbmx5KSwgb3Igbm9uZScsICdub25lJylcbiAgICAub3B0aW9uKCctLWF1dGhvciA8bmFtZT4nLCAnQ29weXJpZ2h0IGhvbGRlciBmb3IgTElDRU5TRScpXG4gICAgLm9wdGlvbignLS10eXBlIDx0eXBlPicsIGBQbHVnaW4gdHlwZTogJHtQTFVHSU5fVFlQRVMuam9pbignIHwgJyl9YCwgJ0NvZGVCdWlsZFN0ZXAnKVxuICAgIC5vcHRpb24oJy0tY29tcHV0ZSA8Y29tcHV0ZT4nLCBgQ29tcHV0ZSB0eXBlOiAke1BMVUdJTl9DT01QVVRFX1RZUEVTLmpvaW4oJyB8ICcpfWAsICdTTUFMTCcpXG4gICAgLm9wdGlvbignLS1kaXIgPHBhdGg+JywgJ1RhcmdldCBkaXJlY3RvcnkgKGRlZmF1bHQgLi88bmFtZT4pJylcbiAgICAub3B0aW9uKCctLWZvcmNlJywgJ092ZXJ3cml0ZSBhbiBleGlzdGluZyBkaXJlY3RvcnknLCBmYWxzZSlcbiAgICAub3B0aW9uKCctLWxpc3QtYmFzZXMnLCAnTGlzdCB0aGUgYXZhaWxhYmxlIGJhc2UgaW1hZ2VzIGFuZCBleGl0JywgZmFsc2UpXG4gICAgLmFjdGlvbigob3B0aW9uczogTmV3UGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgaWYgKG9wdGlvbnMubGlzdEJhc2VzKSB7XG4gICAgICAgIHByaW50QmFzZXMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ05ldyBQbHVnaW4nKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gcmVzb2x2ZVNjYWZmb2xkSW5wdXQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHJlbERpciA9IG9wdGlvbnMuZGlyID8/IGAuLyR7aW5wdXQubmFtZX1gO1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLnJlc29sdmUocmVsRGlyKTtcbiAgICAgICAgaWYgKGZpbGVFeGlzdHModGFyZ2V0RGlyKSAmJiAhb3B0aW9ucy5mb3JjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYERpcmVjdG9yeSBhbHJlYWR5IGV4aXN0czogJHt0YXJnZXREaXJ9ICh1c2UgLS1mb3JjZSB0byBvdmVyd3JpdGUpYCk7XG4gICAgICAgIH1cbiAgICAgICAgZW5zdXJlT3V0cHV0RGlyZWN0b3J5KHRhcmdldERpcik7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gc2NhZmZvbGRGaWxlcyhpbnB1dCwgcmVsRGlyKTtcbiAgICAgICAgZm9yIChjb25zdCBbZmlsZSwgY29udGVudF0gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0YXJnZXREaXIsIGZpbGUpLCBjb250ZW50LCAndXRmLTgnKTtcblxuICAgICAgICBpZiAoaW5wdXQuaWNvbikgcHJpbnRXYXJuaW5nKCdDdXJhdGVkIGljb25zIGFyZSByZXNlcnZlZCBmb3IgT2ZmaWNpYWwgbGlzdGluZ3MgYW5kIFZlcmlmaWVkIHB1Ymxpc2hlcnMgd2hvIG93biB0aGUgbWFyazsgYSBDb21tdW5pdHkgbGlzdGluZyB3aXRoIG9uZSBpcyByZWZ1c2VkIGF0IHN1Ym1pdCcpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1NjYWZmb2xkZWQgcGx1Z2luJywgdGFyZ2V0RGlyKTtcbiAgICAgICAgcHJpbnRJbmZvKCdDcmVhdGVkIGZpbGVzJywgeyBmaWxlczogT2JqZWN0LmtleXMoZmlsZXMpLCBiYXNlOiBpbnB1dC5iYXNlLmltYWdlIH0pO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1BsdWdpbiBzY2FmZm9sZCBjcmVhdGVkIOKAlCBuZXh0OiBwbHVnaW4gdmFsaWRhdGUsIHBsdWdpbiB0ZXN0LCBwbHVnaW4gcHVibGlzaCcsIHsgZXhlY3V0aW9uSWQsIGRpcjogdGFyZ2V0RGlyIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVyciwgZXJyIGluc3RhbmNlb2YgVmFsaWRhdGlvbkVycm9yID8gRVJST1JfQ09ERVMuVkFMSURBVElPTiA6IEVSUk9SX0NPREVTLkdFTkVSQUwsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdwbHVnaW4gbmV3JywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-export.d.ts","
|
|
1
|
+
{"version":3,"file":"org-export.d.ts","sources":["../../src/commands/org-export.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6EhD"}
|
|
@@ -97,4 +97,4 @@ export function orgExport(program) {
|
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWV4cG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9vcmctZXhwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFDOUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUcsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBZ0I7SUFDeEMsY0FBYyxDQUFDLE9BQU87U0FDbkIsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLENBQUMsOERBQThELENBQUM7U0FDM0UsY0FBYyxDQUFDLGVBQWUsRUFBRSwyQkFBMkIsQ0FBQztTQUM1RCxNQUFNLENBQUMscUJBQXFCLEVBQUUseURBQXlELENBQUMsQ0FBQztTQUN6RixNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJELElBQUks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LENBQUMsQ0FBQztZQUM3QyxZQUFZLENBQUMsOEJBQThCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTthQUNuRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudCwgcHJpbnRDb21tYW5kSGVhZGVyLCBwcmludEV4ZWN1dGlvblN1bW1hcnksIHByaW50U3NsV2FybmluZywgdmFsaWRhdGVFbnRpdHlJZCwgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgZ3JlZW4gfSA9IHBpY287XG5cbi8qKlxuICogQ0xJICBgcGlwZWxpbmUtbWFuYWdlciBvcmcgZXhwb3J0IC0taWQgPG9yZ0lkPiAtLW91dHB1dCA8ZmlsZT5gLlxuICpcbiAqIEZldGNoZXMgdGhlIEdEUFIgcG9ydGFiaWxpdHkgZHVtcCBmcm9tIGBHRVQgL2FwaS9vcmdhbml6YXRpb24vOmlkL2V4cG9ydGBcbiAqIG9uIHRoZSBwbGF0Zm9ybSBzZXJ2aWNlIGFuZCB3cml0ZXMgaXQgdG8gZGlzayAob3Igc3Rkb3V0KS4gVGhlIGVuZHBvaW50XG4gKiBpcyBnYXRlZCBzZXJ2ZXItc2lkZSAqIOKAoiBTeXN0ZW0gYWRtaW5zIChhZG1pbi9vd25lciBpbiB0aGUgYHN5c3RlbWAgb3JnKSBtYXkgZXhwb3J0IGFueSBvcmcuXG4gKiDigKIgT3JnIGFkbWlucyAvIG93bmVycyBtYXkgZXhwb3J0IE9OTFkgdGhlaXIgb3duIG9yZy5cbiAqIOKAoiBFdmVyeXRoaW5nIGVsc2UgZ2V0cyA0MDMuXG4gKlxuICogVGhlIENMSSBpdHNlbGYgZG9lcyBubyByb2xlIGNoZWNraW5nICB0aGUgY2FsbGVyJ3MgUExBVEZPUk1fVE9LRU4gZHJpdmVzXG4gKiB3aGF0IHRoZSBzZXJ2ZXIgYWNjZXB0cy4gUnVuIGBwaXBlbGluZS1tYW5hZ2VyIHN0YXR1c2AgZmlyc3QgdG8gY29uZmlybVxuICogdGhlIHRva2VuJ3Mgcm9sZSArIG9yZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogIyBTeXNhZG1pbjogYW55IG9yZ1xuICogcGlwZWxpbmUtbWFuYWdlciBvcmcgZXhwb3J0IC0taWQgb3JnLWFjbWUgLS1vdXRwdXQgYWNtZS5qc29uXG4gKlxuICogIyBPcmcgYWRtaW46IG93biBvcmcgb25seSAoc2VydmVyIHJlamVjdHMgb3RoZXIgaWRzIHdpdGggNDAzKVxuICogcGlwZWxpbmUtbWFuYWdlciBvcmcgZXhwb3J0IC0taWQgb3JnLWFjbWUgLS1vdXRwdXQgYWNtZS5qc29uXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9yZ0V4cG9ydChwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKHByb2dyYW1cbiAgICAuY29tbWFuZCgnZXhwb3J0JylcbiAgICAuZGVzY3JpcHRpb24oJ0V4cG9ydCBhbiBvcmdhbml6YXRpb25cXCdzIGRhdGEgYXMgSlNPTiAoR0RQUiBwb3J0YWJpbGl0eSwgKS4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLWksIC0taWQgPGlkPicsICdPcmdhbml6YXRpb24gSUQgdG8gZXhwb3J0JylcbiAgICAub3B0aW9uKCctbywgLS1vdXRwdXQgPGZpbGU+JywgJ091dHB1dCBmaWxlIHBhdGggKGRlZmF1bHQ6IG9yZy08aWQ+LWV4cG9ydC5qc29uIGluIENXRCknKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignT3JnIEV4cG9ydCcpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICAgIGNvbnN0IG9yZ0lkID0gdmFsaWRhdGVFbnRpdHlJZChvcHRpb25zLmlkLCAnT3JnYW5pemF0aW9uJyk7XG4gICAgICAgIGNvbnN0IG91dHB1dFBhdGggPSBvcHRpb25zLm91dHB1dFxuICAgICAgICAgID8gcGF0aC5yZXNvbHZlKG9wdGlvbnMub3V0cHV0KVxuICAgICAgICAgIDogcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGBvcmctJHtvcmdJZH0tZXhwb3J0Lmpzb25gKTtcblxuICAgICAgICBwcmludEluZm8oJ1JlcXVlc3QgcGFyYW1ldGVycycsIHtcbiAgICAgICAgICBvcmdJZCxcbiAgICAgICAgICBvdXRwdXQ6IG91dHB1dFBhdGgsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ0ZldGNoaW5nIEV4cG9ydCcpO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIC8vIFRoZSBlbmRwb2ludCBzdHJlYW1zIGEgbGFyZ2UgSlNPTiBhdHRhY2htZW50IGZvciBvcmdzIHdpdGggbG9uZ1xuICAgICAgICAvLyBoaXN0b3JpZXMuIFRoZSBBcGlDbGllbnQgcmV0dXJucyB0aGUgcGFyc2VkIGJvZHkgZGlyZWN0bHksIHdoaWNoXG4gICAgICAgIC8vIGZvciBgYXBwbGljYXRpb24vanNvbmAgaXMgYSBKUyBvYmplY3Qgd2UgcmUtc2VyaWFsaXplIHRvIGRpc2suXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oIGAke2NsaWVudC5nZXRDb25maWcoKS5hcGkuYmFzZVVybH0vYXBpL29yZ2FuaXphdGlvbi8ke2VuY29kZVVSSUNvbXBvbmVudChvcmdJZCl9L2V4cG9ydGAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgICBpZiAoIXJlc3BvbnNlIHx8IHR5cGVvZiByZXNwb25zZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBwcmludEVycm9yKCdFbXB0eSAvIHVucGFyc2VhYmxlIGV4cG9ydCBwYXlsb2FkJyk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBvcnQgcmV0dXJuZWQgbm8gZGF0YSBmb3Igb3JnICR7b3JnSWR9YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZS1zZXJpYWxpemUgc28gd2Uga2VlcCB0aGUgc2FtZSBwcmV0dHktcHJpbnRlZCBzaGFwZSB0aGUgc2VydmVyXG4gICAgICAgIC8vIHByb2R1Y2VkICgyLXNwYWNlIGluZGVudCBtYXRjaGVzIHRoZSBwbGF0Zm9ybSdzIGhhbmRsZXIpIGFuZCBzb1xuICAgICAgICAvLyB3ZSBkb24ndCBsb3NlIERhdGUgcHJlY2lzaW9uIG9uIGEgcm91bmQtdHJpcCB0aHJvdWdoIEpTT04ucGFyc2UuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIEdVQVJEOiB0aGlzIHdyaXRlcyB0aGUgcmF3IHNlcnZlciBwYXlsb2FkIHN0cmFpZ2h0IHRvIGRpc2suIFRoZSBleHBvcnRcbiAgICAgICAgLy8gcGF5bG9hZCBtdXN0IE5FVkVSIGNvbnRhaW4gYW4gQVdTIGFjY291bnQgaWQg4oCUIG9yZ0lkIGlzIHRoZSBwbGF0Zm9ybSBvcmdcbiAgICAgICAgLy8gaWQsIG5ldmVyIGFuIEFXUyBhY2NvdW50IGlkLiBJdCBpcyBhY2NvdW50LWlkLWZyZWUgdG9kYXk7XG4gICAgICAgIC8vIGlmIGEgZnV0dXJlIHNlcnZlciBjaGFuZ2UgZXZlciBhZGRzIG9uZSwgaXQgbXVzdCBiZSBzdHJpcHBlZC9yZWRhY3RlZFxuICAgICAgICAvLyBoZXJlIEJFRk9SRSB0aGlzIHdyaXRlLCBub3QgcGVyc2lzdGVkIHRocm91Z2ggdGhlIENMSS5cbiAgICAgICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLCBudWxsLCAyKTtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhvdXRwdXRQYXRoLCBqc29uLCAndXRmOCcpO1xuXG4gICAgICAgIGNvbnN0IHNpemVLYiA9IChqc29uLmxlbmd0aCAvIDEwMjQpLnRvRml4ZWQoMSk7XG4gICAgICAgIGNvbnN0IHBvc3RncmVzVGFibGVzID0gcmVzcG9uc2UucG9zdGdyZXMgJiYgdHlwZW9mIHJlc3BvbnNlLnBvc3RncmVzID09PSAnb2JqZWN0J1xuICAgICAgICAgID8gT2JqZWN0LmtleXMocmVzcG9uc2UucG9zdGdyZXMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmxlbmd0aFxuICAgICAgICAgIDogMDtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignRXhwb3J0IFNhdmVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdPcmcgSUQnOiBncmVlbihib2xkKG9yZ0lkKSksXG4gICAgICAgICAgJ091dHB1dCc6IG91dHB1dFBhdGgsXG4gICAgICAgICAgJ1NpemUnOiBgJHtzaXplS2J9IEtCYCxcbiAgICAgICAgICAnUG9zdGdyZXMgdGFibGVzJzogU3RyaW5nKHBvc3RncmVzVGFibGVzKSxcbiAgICAgICAgICAnRXhwb3J0ZWQgYXQnOiB0eXBlb2YgcmVzcG9uc2UuZXhwb3J0ZWRBdCA9PT0gJ3N0cmluZycgPyByZXNwb25zZS5leHBvcnRlZEF0OiAnKG5vdCBzZXQpJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcHJpbnRFeGVjdXRpb25TdW1tYXJ5KGV4ZWN1dGlvbklkLCBkdXJhdGlvbik7XG4gICAgICAgIHByaW50U3VjY2VzcygnT3JnYW5pemF0aW9uIGV4cG9ydCBjb21wbGV0ZScsIHsgcGF0aDogb3V0cHV0UGF0aCB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ29yZy1leHBvcnQnLCBleGVjdXRpb25JZCwgb3JnSWQ6IG9wdGlvbnMuaWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWV4cG9ydC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL29yZy1leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQztBQUM5QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BLLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFnQjtJQUN4QyxjQUFjLENBQUMsT0FBTztTQUNuQixPQUFPLENBQUMsUUFBUSxDQUFDO1NBQ2pCLFdBQVcsQ0FBQyw4REFBOEQsQ0FBQztTQUMzRSxjQUFjLENBQUMsZUFBZSxFQUFFLDJCQUEyQixDQUFDO1NBQzVELE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSx5REFBeUQsQ0FBQyxDQUFDO1NBQ3pGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDO1lBQ0gsZUFBZSxD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LFlBQVksQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO2FBQ25FLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50LCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50RXhlY3V0aW9uU3VtbWFyeSwgcHJpbnRTc2xXYXJuaW5nLCB2YWxpZGF0ZUVudGl0eUlkLCB3aXRoU3NsT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcblxuY29uc3QgeyBib2xkLCBncmVlbiB9ID0gcGljbztcblxuLyoqXG4gKiBDTEkgIGBwaXBlbGluZS1tYW5hZ2VyIG9yZyBleHBvcnQgLS1pZCA8b3JnSWQ+IC0tb3V0cHV0IDxmaWxlPmAuXG4gKlxuICogRmV0Y2hlcyB0aGUgR0RQUiBwb3J0YWJpbGl0eSBkdW1wIGZyb20gYEdFVCAvYXBpL29yZ2FuaXphdGlvbi86aWQvZXhwb3J0YFxuICogb24gdGhlIHBsYXRmb3JtIHNlcnZpY2UgYW5kIHdyaXRlcyBpdCB0byBkaXNrIChvciBzdGRvdXQpLiBUaGUgZW5kcG9pbnRcbiAqIGlzIGdhdGVkIHNlcnZlci1zaWRlICog4oCiIFN5c3RlbSBhZG1pbnMgKGFkbWluL293bmVyIGluIHRoZSBgc3lzdGVtYCBvcmcpIG1heSBleHBvcnQgYW55IG9yZy5cbiAqIOKAoiBPcmcgYWRtaW5zIC8gb3duZXJzIG1heSBleHBvcnQgT05MWSB0aGVpciBvd24gb3JnLlxuICog4oCiIEV2ZXJ5dGhpbmcgZWxzZSBnZXRzIDQwMy5cbiAqXG4gKiBUaGUgQ0xJIGl0c2VsZiBkb2VzIG5vIHJvbGUgY2hlY2tpbmcgIHRoZSBjYWxsZXIncyBQTEFURk9STV9UT0tFTiBkcml2ZXNcbiAqIHdoYXQgdGhlIHNlcnZlciBhY2NlcHRzLiBSdW4gYHBpcGVsaW5lLW1hbmFnZXIgc3RhdHVzYCBmaXJzdCB0byBjb25maXJtXG4gKiB0aGUgdG9rZW4ncyByb2xlICsgb3JnLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiAjIFN5c2FkbWluOiBhbnkgb3JnXG4gKiBwaXBlbGluZS1tYW5hZ2VyIG9yZyBleHBvcnQgLS1pZCBvcmctYWNtZSAtLW91dHB1dCBhY21lLmpzb25cbiAqXG4gKiAjIE9yZyBhZG1pbjogb3duIG9yZyBvbmx5IChzZXJ2ZXIgcmVqZWN0cyBvdGhlciBpZHMgd2l0aCA0MDMpXG4gKiBwaXBlbGluZS1tYW5hZ2VyIG9yZyBleHBvcnQgLS1pZCBvcmctYWNtZSAtLW91dHB1dCBhY21lLmpzb25cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gb3JnRXhwb3J0KHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMocHJvZ3JhbVxuICAgIC5jb21tYW5kKCdleHBvcnQnKVxuICAgIC5kZXNjcmlwdGlvbignRXhwb3J0IGFuIG9yZ2FuaXphdGlvblxcJ3MgZGF0YSBhcyBKU09OIChHRFBSIHBvcnRhYmlsaXR5LCApLicpXG4gICAgLnJlcXVpcmVkT3B0aW9uKCctaSwgLS1pZCA8aWQ+JywgJ09yZ2FuaXphdGlvbiBJRCB0byBleHBvcnQnKVxuICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnT3V0cHV0IGZpbGUgcGF0aCAoZGVmYXVsdDogb3JnLTxpZD4tZXhwb3J0Lmpzb24gaW4gQ1dEKScpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdPcmcgRXhwb3J0Jyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgICAgY29uc3Qgb3JnSWQgPSB2YWxpZGF0ZUVudGl0eUlkKG9wdGlvbnMuaWQsICdPcmdhbml6YXRpb24nKTtcbiAgICAgICAgY29uc3Qgb3V0cHV0UGF0aCA9IG9wdGlvbnMub3V0cHV0XG4gICAgICAgICAgPyBwYXRoLnJlc29sdmUob3B0aW9ucy5vdXRwdXQpXG4gICAgICAgICAgOiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgYG9yZy0ke29yZ0lkfS1leHBvcnQuanNvbmApO1xuXG4gICAgICAgIHByaW50SW5mbygnUmVxdWVzdCBwYXJhbWV0ZXJzJywge1xuICAgICAgICAgIG9yZ0lkLFxuICAgICAgICAgIG91dHB1dDogb3V0cHV0UGF0aCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignRmV0Y2hpbmcgRXhwb3J0Jyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgLy8gVGhlIGVuZHBvaW50IHN0cmVhbXMgYSBsYXJnZSBKU09OIGF0dGFjaG1lbnQgZm9yIG9yZ3Mgd2l0aCBsb25nXG4gICAgICAgIC8vIGhpc3Rvcmllcy4gVGhlIEFwaUNsaWVudCByZXR1cm5zIHRoZSBwYXJzZWQgYm9keSBkaXJlY3RseSwgd2hpY2hcbiAgICAgICAgLy8gZm9yIGBhcHBsaWNhdGlvbi9qc29uYCBpcyBhIEpTIG9iamVjdCB3ZSByZS1zZXJpYWxpemUgdG8gZGlzay5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiggYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfS9hcGkvb3JnYW5pemF0aW9uLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG9yZ0lkKX0vZXhwb3J0YCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgdHlwZW9mIHJlc3BvbnNlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0VtcHR5IC8gdW5wYXJzZWFibGUgZXhwb3J0IHBheWxvYWQnKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cG9ydCByZXR1cm5lZCBubyBkYXRhIGZvciBvcmcgJHtvcmdJZH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlLXNlcmlhbGl6ZSBzbyB3ZSBrZWVwIHRoZSBzYW1lIHByZXR0eS1wcmludGVkIHNoYXBlIHRoZSBzZXJ2ZXJcbiAgICAgICAgLy8gcHJvZHVjZWQgKDItc3BhY2UgaW5kZW50IG1hdGNoZXMgdGhlIHBsYXRmb3JtJ3MgaGFuZGxlcikgYW5kIHNvXG4gICAgICAgIC8vIHdlIGRvbid0IGxvc2UgRGF0ZSBwcmVjaXNpb24gb24gYSByb3VuZC10cmlwIHRocm91Z2ggSlNPTi5wYXJzZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gR1VBUkQ6IHRoaXMgd3JpdGVzIHRoZSByYXcgc2VydmVyIHBheWxvYWQgc3RyYWlnaHQgdG8gZGlzay4gVGhlIGV4cG9ydFxuICAgICAgICAvLyBwYXlsb2FkIG11c3QgTkVWRVIgY29udGFpbiBhbiBBV1MgYWNjb3VudCBpZCDigJQgb3JnSWQgaXMgdGhlIHBsYXRmb3JtIG9yZ1xuICAgICAgICAvLyBpZCwgbmV2ZXIgYW4gQVdTIGFjY291bnQgaWQuIEl0IGlzIGFjY291bnQtaWQtZnJlZSB0b2RheTtcbiAgICAgICAgLy8gaWYgYSBmdXR1cmUgc2VydmVyIGNoYW5nZSBldmVyIGFkZHMgb25lLCBpdCBtdXN0IGJlIHN0cmlwcGVkL3JlZGFjdGVkXG4gICAgICAgIC8vIGhlcmUgQkVGT1JFIHRoaXMgd3JpdGUsIG5vdCBwZXJzaXN0ZWQgdGhyb3VnaCB0aGUgQ0xJLlxuICAgICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UsIG51bGwsIDIpO1xuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKG91dHB1dFBhdGgsIGpzb24sICd1dGY4Jyk7XG5cbiAgICAgICAgY29uc3Qgc2l6ZUtiID0gKGpzb24ubGVuZ3RoIC8gMTAyNCkudG9GaXhlZCgxKTtcbiAgICAgICAgY29uc3QgcG9zdGdyZXNUYWJsZXMgPSByZXNwb25zZS5wb3N0Z3JlcyAmJiB0eXBlb2YgcmVzcG9uc2UucG9zdGdyZXMgPT09ICdvYmplY3QnXG4gICAgICAgICAgPyBPYmplY3Qua2V5cyhyZXNwb25zZS5wb3N0Z3JlcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikubGVuZ3RoXG4gICAgICAgICAgOiAwO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdFeHBvcnQgU2F2ZWQnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ09yZyBJRCc6IGdyZWVuKGJvbGQob3JnSWQpKSxcbiAgICAgICAgICAnT3V0cHV0Jzogb3V0cHV0UGF0aCxcbiAgICAgICAgICAnU2l6ZSc6IGAke3NpemVLYn0gS0JgLFxuICAgICAgICAgICdQb3N0Z3JlcyB0YWJsZXMnOiBTdHJpbmcocG9zdGdyZXNUYWJsZXMpLFxuICAgICAgICAgICdFeHBvcnRlZCBhdCc6IHR5cGVvZiByZXNwb25zZS5leHBvcnRlZEF0ID09PSAnc3RyaW5nJyA/IHJlc3BvbnNlLmV4cG9ydGVkQXQ6ICcobm90IHNldCknLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIGR1cmF0aW9uKTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdPcmdhbml6YXRpb24gZXhwb3J0IGNvbXBsZXRlJywgeyBwYXRoOiBvdXRwdXRQYXRoIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAnb3JnLWV4cG9ydCcsIGV4ZWN1dGlvbklkLCBvcmdJZDogb3B0aW9ucy5pZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-lifecycle.d.ts","
|
|
1
|
+
{"version":3,"file":"plugin-lifecycle.d.ts","sources":["../../src/commands/plugin-lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAmCtC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6CtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CjD"}
|
|
@@ -144,4 +144,4 @@ export function yankPlugin(program) {
|
|
|
144
144
|
}
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxpZmVjeWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wbHVnaW4tbGlmZWN5Y2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFDOUIsT0FBTyxFQUFxQixNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBd0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsR0FDeEgsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRTFDLHlEQUF5RDtBQUN6RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFTdEM7OztHQUdHO0FBQ0gsU0FBUyxZQUFZLENBQUMsTUFBb0QsRUFBRSxFQUFVLEVBQUUsTUFBNEI7SUFDbEgsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0FBQ25GLENB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SUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzdFLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTthQUN2RSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyB0eXBlIE91dHB1dEZvcm1hdCB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IHR5cGUgUGx1Z2luLCB0eXBlIFBsdWdpbllhbmtSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRFeGVjdXRpb25TdW1tYXJ5LCBwcmludFNzbFdhcm5pbmcsIHZhbGlkYXRlRW50aXR5SWQsIHdpdGhTc2xPcHRpb25zLFxufSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBvdXRwdXREYXRhLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGV4dHJhY3RTaW5nbGVSZXNwb25zZSwgdW53cmFwRW52ZWxvcGUgfSBmcm9tICcuLi91dGlscy9yZXNwb25zZS11dGlscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgZ3JlZW4sIHllbGxvdywgcmVkIH0gPSBwaWNvO1xuXG4vKiogU2VydmVyIGNhcCBvbiBhIGRlcHJlY2F0aW9uIG1lc3NhZ2UgLyB5YW5rIHJlYXNvbi4gKi9cbmV4cG9ydCBjb25zdCBMSUZFQ1lDTEVfVEVYVF9NQVggPSA1MDA7XG5cbmludGVyZmFjZSBMaWZlY3ljbGVPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgZm9ybWF0OiBPdXRwdXRGb3JtYXQ7XG4gIG91dHB1dD86IHN0cmluZztcbiAgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBgUE9TVCAvYXBpL3BsdWdpbnMvOmlkLzxhY3Rpb24+YCwgb24gdGhlIHBsdWdpbnMgQVBJIGJhc2UgKGBwbHVnaW5VcmxgKTogdGhlXG4gKiBBUEkgZ2F0ZXdheSByb3V0ZXMgYC9hcGkvcGx1Z2lucy8qYCB0byB0aGUgcGx1Z2luIHNlcnZpY2UuXG4gKi9cbmZ1bmN0aW9uIGxpZmVjeWNsZVVybChjbGllbnQ6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQ+LCBpZDogc3RyaW5nLCBhY3Rpb246ICdkZXByZWNhdGUnIHwgJ3lhbmsnKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2NsaWVudC5nZXRDb25maWcoKS5hcGkucGx1Z2luVXJsfS8ke2VuY29kZVVSSUNvbXBvbmVudChpZCl9LyR7YWN0aW9ufWA7XG59XG5cbmZ1bmN0aW9uIGNoZWNrVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBmbGFnOiBzdHJpbmcsIHJlcXVpcmVkOiBib29sZWFuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdHJpbW1lZCA9IHZhbHVlPy50cmltKCk7XG4gIGlmICghdHJpbW1lZCkge1xuICAgIGlmIChyZXF1aXJlZCkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS0ke2ZsYWd9IGlzIHJlcXVpcmVkYCwgZmxhZyk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodHJpbW1lZC5sZW5ndGggPiBMSUZFQ1lDTEVfVEVYVF9NQVgpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLSR7ZmxhZ30gbXVzdCBiZSBhdCBtb3N0ICR7TElGRUNZQ0xFX1RFWFRfTUFYfSBjaGFyYWN0ZXJzYCwgZmxhZywgYCR7dHJpbW1lZC5sZW5ndGh9IGNoYXJhY3RlcnNgKTtcbiAgfVxuICByZXR1cm4gdHJpbW1lZDtcbn1cblxuZnVuY3Rpb24gZmluaXNoKGV4ZWN1dGlvbklkOiBzdHJpbmcsIHN0YXJ0VGltZTogbnVtYmVyLCBwbHVnaW46IFBsdWdpbiwgb3B0aW9uczogTGlmZWN5Y2xlT3B0aW9ucyk6IHZvaWQge1xuICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydFRpbWUpO1xuICBvdXRwdXREYXRhKHBsdWdpbiwgeyBmb3JtYXQ6IG9wdGlvbnMuZm9ybWF0LCBmaWxlOiBvcHRpb25zLm91dHB1dCwgc2lsZW50OiBmYWxzZSB9KTtcbiAgaWYgKG9wdGlvbnMub3V0cHV0KSBwcmludFN1Y2Nlc3MoJ1BsdWdpbiBkYXRhIHNhdmVkJywgeyBwYXRoOiBvcHRpb25zLm91dHB1dCB9KTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYHBsdWdpbiBkZXByZWNhdGVgOiBtYXJrIGEgdmVyc2lvbiBkZXByZWNhdGVkIChvciBjbGVhciBpdCB3aXRoXG4gKiBgLS11bmRvYCkuIEEgZGVwcmVjYXRlZCB2ZXJzaW9uIGtlZXBzIHJlc29sdmluZywgYnV0IHN5bnRoIHByaW50cyBhIHdhcm5pbmcsXG4gKiBBSSBzZWxlY3Rpb24gc3RvcHMgb2ZmZXJpbmcgaXQsIGFuZCB0aGUgb3JnIGFwcHJvdmVycyBvZiBldmVyeSBvcmcgd2hvc2VcbiAqIHBpcGVsaW5lcyB1c2UgaXQgYXJlIG5vdGlmaWVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBkZXByZWNhdGUgLS1pZCA8cGx1Z2luLWlkPiAtLW1lc3NhZ2UgXCJVc2UgMi54XCJcbiAqIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIGRlcHJlY2F0ZSAtLWlkIDxwbHVnaW4taWQ+IC0tdW5kb1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXByZWNhdGVQbHVnaW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICB3aXRoU3NsT3B0aW9ucyhcbiAgICBwcm9ncmFtXG4gICAgICAuY29tbWFuZCgnZGVwcmVjYXRlJylcbiAgICAgIC5kZXNjcmlwdGlvbignRGVwcmVjYXRlIGEgcGx1Z2luIHZlcnNpb24gKGl0IGtlZXBzIHJlc29sdmluZywgd2l0aCBhIHdhcm5pbmcpJylcbiAgICAgIC5yZXF1aXJlZE9wdGlvbignLWksIC0taWQgPGlkPicsICdQbHVnaW4gSUQgKG9uZSB2ZXJzaW9uKScpXG4gICAgICAub3B0aW9uKCctbSwgLS1tZXNzYWdlIDx0ZXh0PicsIGBNZXNzYWdlIHNob3duIHRvIHVzZXJzIG9mIHRoZSB2ZXJzaW9uIChtYXggJHtMSUZFQ1lDTEVfVEVYVF9NQVh9KWApXG4gICAgICAub3B0aW9uKCctLXVuZG8nLCAnQ2xlYXIgdGhlIGRlcHJlY2F0aW9uIGluc3RlYWQnLCBmYWxzZSlcbiAgICAgIC5vcHRpb24oJy1mLCAtLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0IChqc29uLCB5YW1sLCB0YWJsZSknLCAnanNvbicpXG4gICAgICAub3B0aW9uKCctbywgLS1vdXRwdXQgPGZpbGU+JywgJ1NhdmUgdGhlIHVwZGF0ZWQgcGx1Z2luIHRvIGZpbGUnKSxcbiAgKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IExpZmVjeWNsZU9wdGlvbnMgJiB7IG1lc3NhZ2U/OiBzdHJpbmc7IHVuZG86IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIob3B0aW9ucy51bmRvID8gJ0NsZWFyIFBsdWdpbiBEZXByZWNhdGlvbicgOiAnRGVwcmVjYXRlIFBsdWdpbicpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgaWYgKG9wdGlvbnMudW5kbyAmJiBvcHRpb25zLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCctLW1lc3NhZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLS11bmRvJywgJ21lc3NhZ2UnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpZCA9IHZhbGlkYXRlRW50aXR5SWQob3B0aW9ucy5pZCwgJ1BsdWdpbicpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gY2hlY2tUZXh0KG9wdGlvbnMubWVzc2FnZSwgJ21lc3NhZ2UnLCBmYWxzZSk7XG4gICAgICAgIHByaW50SW5mbygnUmVxdWVzdCBwYXJhbWV0ZXJzJywgeyBpZCwgZGVwcmVjYXRlZDogIW9wdGlvbnMudW5kbywgbWVzc2FnZTogbWVzc2FnZSA/PyAnKG5vbmUpJyB9KTtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBib2R5ID0gb3B0aW9ucy51bmRvID8geyBkZXByZWNhdGVkOiBmYWxzZSB9IDogeyBkZXByZWNhdGVkOiB0cnVlLCAuLi4obWVzc2FnZSA/IHsgbWVzc2FnZSB9IDoge30pIH07XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QobGlmZWN5Y2xlVXJsKGNsaWVudCwgaWQsICdkZXByZWNhdGUnKSwgYm9keSk7XG4gICAgICAgIGNvbnN0IHBsdWdpbiA9IGV4dHJhY3RTaW5nbGVSZXNwb25zZTxQbHVnaW4+KHJlc3BvbnNlLCAncGx1Z2luJywgJ2lkJyk7XG4gICAgICAgIGlmICghcGx1Z2luKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHBsdWdpbiByZXR1cm5lZCBmb3IgSUQ6ICR7aWR9YCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFNlY3Rpb24ob3B0aW9ucy51bmRvID8gJ0RlcHJlY2F0aW9uIENsZWFyZWQnIDogJ1BsdWdpbiBWZXJzaW9uIERlcHJlY2F0ZWQnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgUGx1Z2luOiBncmVlbihib2xkKGAke3BsdWdpbi5uYW1lfUAke3BsdWdpbi52ZXJzaW9ufWApKSxcbiAgICAgICAgICBEZXByZWNhdGVkOiBwbHVnaW4uZGVwcmVjYXRlZEF0ID8geWVsbG93KGB5ZXMgKCR7cGx1Z2luLmRlcHJlY2F0ZWRBdH0pYCkgOiAnbm8nLFxuICAgICAgICAgIC4uLihwbHVnaW4uZGVwcmVjYXRpb25NZXNzYWdlID8geyBNZXNzYWdlOiBwbHVnaW4uZGVwcmVjYXRpb25NZXNzYWdlIH0gOiB7fSksXG4gICAgICAgIH0pO1xuICAgICAgICBmaW5pc2goZXhlY3V0aW9uSWQsIHN0YXJ0VGltZSwgcGx1Z2luLCBvcHRpb25zKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3BsdWdpbi1kZXByZWNhdGUnLCBleGVjdXRpb25JZCwgcGx1Z2luSWQ6IG9wdGlvbnMuaWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGBwbHVnaW4geWFua2A6IHN0b3AgYSB2ZXJzaW9uIHJlc29sdmluZyBmb3IgbmV3IHN5bnRocy4gUmFuZ2VzLFxuICogYGxhdGVzdGAgYW5kIHRoZSBkZWZhdWx0IHNraXAgaXQ7IGFuIGV4YWN0IHBpbiBzdGlsbCByZXNvbHZlcywgd2l0aCBhIHdhcm5pbmdcbiAqIGNhcnJ5aW5nIHRoZSByZWFzb24uIFlhbmtpbmcgdGhlIGRlZmF1bHQgcHJvbW90ZXMgdGhlIG5leHQgdmVyc2lvbi4gQSB2ZXJzaW9uXG4gKiBwdWJsaXNoZWQgdG8gdGhlIGVjb3N5c3RlbSBpcyByZWZ1c2VkICg0MDkpIOKAlCByZXF1ZXN0IHRoZSB5YW5rIHRoZXJlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiB5YW5rIC0taWQgPHBsdWdpbi1pZD4gLS1yZWFzb24gXCJMZWFrcyB0b2tlbnMgaW4gbG9nczsgdXNlIDEuMi4xXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24geWFua1BsdWdpbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKFxuICAgIHByb2dyYW1cbiAgICAgIC5jb21tYW5kKCd5YW5rJylcbiAgICAgIC5kZXNjcmlwdGlvbignWWFuayBhIHBsdWdpbiB2ZXJzaW9uIChzdG9wcyByZXNvbHZpbmcgZm9yIHJhbmdlcywgbGF0ZXN0IGFuZCB0aGUgZGVmYXVsdCknKVxuICAgICAgLnJlcXVpcmVkT3B0aW9uKCctaSwgLS1pZCA8aWQ+JywgJ1BsdWdpbiBJRCAob25lIHZlcnNpb24pJylcbiAgICAgIC5yZXF1aXJlZE9wdGlvbignLXIsIC0tcmVhc29uIDx0ZXh0PicsIGBXaHkgaXQgd2FzIHlhbmtlZCwgc2hvd24gdG8gZXhhY3QgcGlucyAobWF4ICR7TElGRUNZQ0xFX1RFWFRfTUFYfSlgKVxuICAgICAgLm9wdGlvbignLWYsIC0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQgKGpzb24sIHlhbWwsIHRhYmxlKScsICdqc29uJylcbiAgICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnU2F2ZSB0aGUgdXBkYXRlZCBwbHVnaW4gdG8gZmlsZScpLFxuICApXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9uczogTGlmZWN5Y2xlT3B0aW9ucyAmIHsgcmVhc29uOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1lhbmsgUGx1Z2luJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBpZCA9IHZhbGlkYXRlRW50aXR5SWQob3B0aW9ucy5pZCwgJ1BsdWdpbicpO1xuICAgICAgICBjb25zdCByZWFzb24gPSBjaGVja1RleHQob3B0aW9ucy5yZWFzb24sICdyZWFzb24nLCB0cnVlKSE7XG4gICAgICAgIHByaW50SW5mbygnUmVxdWVzdCBwYXJhbWV0ZXJzJywgeyBpZCwgcmVhc29uIH0pO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QobGlmZWN5Y2xlVXJsKGNsaWVudCwgaWQsICd5YW5rJyksIHsgcmVhc29uIH0pO1xuICAgICAgICBjb25zdCBwbHVnaW4gPSBleHRyYWN0U2luZ2xlUmVzcG9uc2U8UGx1Z2luPihyZXNwb25zZSwgJ3BsdWdpbicsICdpZCcpO1xuICAgICAgICBpZiAoIXBsdWdpbikgdGhyb3cgbmV3IEVycm9yKGBObyBwbHVnaW4gcmV0dXJuZWQgZm9yIElEOiAke2lkfWApO1xuICAgICAgICBjb25zdCBwcm9tb3RlZCA9ICh1bndyYXBFbnZlbG9wZShyZXNwb25zZSkgYXMgUGFydGlhbDxQbHVnaW5ZYW5rUmVzcG9uc2U+KS5wcm9tb3RlZERlZmF1bHQ7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1BsdWdpbiBWZXJzaW9uIFlhbmtlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICBQbHVnaW46IGdyZWVuKGJvbGQoYCR7cGx1Z2luLm5hbWV9QCR7cGx1Z2luLnZlcnNpb259YCkpLFxuICAgICAgICAgIFlhbmtlZDogcmVkKHBsdWdpbi55YW5rZWRBdCA/PyAneWVzJyksXG4gICAgICAgICAgUmVhc29uOiBwbHVnaW4ueWFua1JlYXNvbiA/PyByZWFzb24sXG4gICAgICAgICAgLi4uKHByb21vdGVkID8geyAnTmV3IGRlZmF1bHQnOiBgJHtwbHVnaW4ubmFtZX1AJHtwcm9tb3RlZC52ZXJzaW9ufWAgfSA6IHt9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGZpbmlzaChleGVjdXRpb25JZCwgc3RhcnRUaW1lLCBwbHVnaW4sIG9wdGlvbnMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncGx1Z2luLXlhbmsnLCBleGVjdXRpb25JZCwgcGx1Z2luSWQ6IG9wdGlvbnMuaWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxpZmVjeWNsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3BsdWdpbi1saWZlY3ljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQztBQUM5QixPQUFPLEVBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUF3QyxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxHQUN4SCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5GLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFMUMseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQVN0Qzs7O0dBR0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxNQUFvRCxFQUFFLEVBQVUsRUFBRSxNQUE0QjtJQUNsSCxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7QUFDbkYsQ0FBQztBQUVELFNBQVMsU0FB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QUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDN0UsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO2FBQ3ZFLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJztcbmltcG9ydCB7IHR5cGUgT3V0cHV0Rm9ybWF0IH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgdHlwZSBQbHVnaW4sIHR5cGUgUGx1Z2luWWFua1Jlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudCwgcHJpbnRDb21tYW5kSGVhZGVyLCBwcmludEV4ZWN1dGlvblN1bW1hcnksIHByaW50U3NsV2FybmluZywgdmFsaWRhdGVFbnRpdHlJZCwgd2l0aFNzbE9wdGlvbnMsXG59IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IG91dHB1dERhdGEsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgZXh0cmFjdFNpbmdsZVJlc3BvbnNlLCB1bndyYXBFbnZlbG9wZSB9IGZyb20gJy4uL3V0aWxzL3Jlc3BvbnNlLXV0aWxzLmpzJztcblxuY29uc3QgeyBib2xkLCBncmVlbiwgeWVsbG93LCByZWQgfSA9IHBpY287XG5cbi8qKiBTZXJ2ZXIgY2FwIG9uIGEgZGVwcmVjYXRpb24gbWVzc2FnZSAvIHlhbmsgcmVhc29uLiAqL1xuZXhwb3J0IGNvbnN0IExJRkVDWUNMRV9URVhUX01BWCA9IDUwMDtcblxuaW50ZXJmYWNlIExpZmVjeWNsZU9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICBmb3JtYXQ6IE91dHB1dEZvcm1hdDtcbiAgb3V0cHV0Pzogc3RyaW5nO1xuICB2ZXJpZnlTc2w/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIGBQT1NUIC9hcGkvcGx1Z2lucy86aWQvPGFjdGlvbj5gLCBvbiB0aGUgcGx1Z2lucyBBUEkgYmFzZSAoYHBsdWdpblVybGApOiB0aGVcbiAqIEFQSSBnYXRld2F5IHJvdXRlcyBgL2FwaS9wbHVnaW5zLypgIHRvIHRoZSBwbHVnaW4gc2VydmljZS5cbiAqL1xuZnVuY3Rpb24gbGlmZWN5Y2xlVXJsKGNsaWVudDogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudD4sIGlkOiBzdHJpbmcsIGFjdGlvbjogJ2RlcHJlY2F0ZScgfCAneWFuaycpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5wbHVnaW5Vcmx9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkKX0vJHthY3Rpb259YDtcbn1cblxuZnVuY3Rpb24gY2hlY2tUZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZsYWc6IHN0cmluZywgcmVxdWlyZWQ6IGJvb2xlYW4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB0cmltbWVkID0gdmFsdWU/LnRyaW0oKTtcbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgaWYgKHJlcXVpcmVkKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLSR7ZmxhZ30gaXMgcmVxdWlyZWRgLCBmbGFnKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh0cmltbWVkLmxlbmd0aCA+IExJRkVDWUNMRV9URVhUX01BWCkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tJHtmbGFnfSBtdXN0IGJlIGF0IG1vc3QgJHtMSUZFQ1lDTEVfVEVYVF9NQVh9IGNoYXJhY3RlcnNgLCBmbGFnLCBgJHt0cmltbWVkLmxlbmd0aH0gY2hhcmFjdGVyc2ApO1xuICB9XG4gIHJldHVybiB0cmltbWVkO1xufVxuXG5mdW5jdGlvbiBmaW5pc2goZXhlY3V0aW9uSWQ6IHN0cmluZywgc3RhcnRUaW1lOiBudW1iZXIsIHBsdWdpbjogUGx1Z2luLCBvcHRpb25zOiBMaWZlY3ljbGVPcHRpb25zKTogdm9pZCB7XG4gIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSk7XG4gIG91dHB1dERhdGEocGx1Z2luLCB7IGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsIGZpbGU6IG9wdGlvbnMub3V0cHV0LCBzaWxlbnQ6IGZhbHNlIH0pO1xuICBpZiAob3B0aW9ucy5vdXRwdXQpIHByaW50U3VjY2VzcygnUGx1Z2luIGRhdGEgc2F2ZWQnLCB7IHBhdGg6IG9wdGlvbnMub3V0cHV0IH0pO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBgcGx1Z2luIGRlcHJlY2F0ZWA6IG1hcmsgYSB2ZXJzaW9uIGRlcHJlY2F0ZWQgKG9yIGNsZWFyIGl0IHdpdGhcbiAqIGAtLXVuZG9gKS4gQSBkZXByZWNhdGVkIHZlcnNpb24ga2VlcHMgcmVzb2x2aW5nLCBidXQgc3ludGggcHJpbnRzIGEgd2FybmluZyxcbiAqIEFJIHNlbGVjdGlvbiBzdG9wcyBvZmZlcmluZyBpdCwgYW5kIHRoZSBvcmcgYXBwcm92ZXJzIG9mIGV2ZXJ5IG9yZyB3aG9zZVxuICogcGlwZWxpbmVzIHVzZSBpdCBhcmUgbm90aWZpZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIGRlcHJlY2F0ZSAtLWlkIDxwbHVnaW4taWQ+IC0tbWVzc2FnZSBcIlVzZSAyLnhcIlxuICogcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gZGVwcmVjYXRlIC0taWQgPHBsdWdpbi1pZD4gLS11bmRvXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcHJlY2F0ZVBsdWdpbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKFxuICAgIHByb2dyYW1cbiAgICAgIC5jb21tYW5kKCdkZXByZWNhdGUnKVxuICAgICAgLmRlc2NyaXB0aW9uKCdEZXByZWNhdGUgYSBwbHVnaW4gdmVyc2lvbiAoaXQga2VlcHMgcmVzb2x2aW5nLCB3aXRoIGEgd2FybmluZyknKVxuICAgICAgLnJlcXVpcmVkT3B0aW9uKCctaSwgLS1pZCA8aWQ+JywgJ1BsdWdpbiBJRCAob25lIHZlcnNpb24pJylcbiAgICAgIC5vcHRpb24oJy1tLCAtLW1lc3NhZ2UgPHRleHQ+JywgYE1lc3NhZ2Ugc2hvd24gdG8gdXNlcnMgb2YgdGhlIHZlcnNpb24gKG1heCAke0xJRkVDWUNMRV9URVhUX01BWH0pYClcbiAgICAgIC5vcHRpb24oJy0tdW5kbycsICdDbGVhciB0aGUgZGVwcmVjYXRpb24gaW5zdGVhZCcsIGZhbHNlKVxuICAgICAgLm9wdGlvbignLWYsIC0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQgKGpzb24sIHlhbWwsIHRhYmxlKScsICdqc29uJylcbiAgICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnU2F2ZSB0aGUgdXBkYXRlZCBwbHVnaW4gdG8gZmlsZScpLFxuICApXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9uczogTGlmZWN5Y2xlT3B0aW9ucyAmIHsgbWVzc2FnZT86IHN0cmluZzsgdW5kbzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcihvcHRpb25zLnVuZG8gPyAnQ2xlYXIgUGx1Z2luIERlcHJlY2F0aW9uJyA6ICdEZXByZWNhdGUgUGx1Z2luJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBpZiAob3B0aW9ucy51bmRvICYmIG9wdGlvbnMubWVzc2FnZSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJy0tbWVzc2FnZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtLXVuZG8nLCAnbWVzc2FnZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlkID0gdmFsaWRhdGVFbnRpdHlJZChvcHRpb25zLmlkLCAnUGx1Z2luJyk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaGVja1RleHQob3B0aW9ucy5tZXNzYWdlLCAnbWVzc2FnZScsIGZhbHNlKTtcbiAgICAgICAgcHJpbnRJbmZvKCdSZXF1ZXN0IHBhcmFtZXRlcnMnLCB7IGlkLCBkZXByZWNhdGVkOiAhb3B0aW9ucy51bmRvLCBtZXNzYWdlOiBtZXNzYWdlID8/ICcobm9uZSknIH0pO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBvcHRpb25zLnVuZG8gPyB7IGRlcHJlY2F0ZWQ6IGZhbHNlIH0gOiB7IGRlcHJlY2F0ZWQ6IHRydWUsIC4uLihtZXNzYWdlID8geyBtZXNzYWdlIH0gOiB7fSkgfTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChsaWZlY3ljbGVVcmwoY2xpZW50LCBpZCwgJ2RlcHJlY2F0ZScpLCBib2R5KTtcbiAgICAgICAgY29uc3QgcGx1Z2luID0gZXh0cmFjdFNpbmdsZVJlc3BvbnNlPFBsdWdpbj4ocmVzcG9uc2UsICdwbHVnaW4nLCAnaWQnKTtcbiAgICAgICAgaWYgKCFwbHVnaW4pIHRocm93IG5ldyBFcnJvcihgTm8gcGx1Z2luIHJldHVybmVkIGZvciBJRDogJHtpZH1gKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbihvcHRpb25zLnVuZG8gPyAnRGVwcmVjYXRpb24gQ2xlYXJlZCcgOiAnUGx1Z2luIFZlcnNpb24gRGVwcmVjYXRlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICBQbHVnaW46IGdyZWVuKGJvbGQoYCR7cGx1Z2luLm5hbWV9QCR7cGx1Z2luLnZlcnNpb259YCkpLFxuICAgICAgICAgIERlcHJlY2F0ZWQ6IHBsdWdpbi5kZXByZWNhdGVkQXQgPyB5ZWxsb3coYHllcyAoJHtwbHVnaW4uZGVwcmVjYXRlZEF0fSlgKSA6ICdubycsXG4gICAgICAgICAgLi4uKHBsdWdpbi5kZXByZWNhdGlvbk1lc3NhZ2UgPyB7IE1lc3NhZ2U6IHBsdWdpbi5kZXByZWNhdGlvbk1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGZpbmlzaChleGVjdXRpb25JZCwgc3RhcnRUaW1lLCBwbHVnaW4sIG9wdGlvbnMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncGx1Z2luLWRlcHJlY2F0ZScsIGV4ZWN1dGlvbklkLCBwbHVnaW5JZDogb3B0aW9ucy5pZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYHBsdWdpbiB5YW5rYDogc3RvcCBhIHZlcnNpb24gcmVzb2x2aW5nIGZvciBuZXcgc3ludGhzLiBSYW5nZXMsXG4gKiBgbGF0ZXN0YCBhbmQgdGhlIGRlZmF1bHQgc2tpcCBpdDsgYW4gZXhhY3QgcGluIHN0aWxsIHJlc29sdmVzLCB3aXRoIGEgd2FybmluZ1xuICogY2FycnlpbmcgdGhlIHJlYXNvbi4gWWFua2luZyB0aGUgZGVmYXVsdCBwcm9tb3RlcyB0aGUgbmV4dCB2ZXJzaW9uLiBBIHZlcnNpb25cbiAqIHB1Ymxpc2hlZCB0byB0aGUgZWNvc3lzdGVtIGlzIHJlZnVzZWQgKDQwOSkg4oCUIHJlcXVlc3QgdGhlIHlhbmsgdGhlcmUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIHlhbmsgLS1pZCA8cGx1Z2luLWlkPiAtLXJlYXNvbiBcIkxlYWtzIHRva2VucyBpbiBsb2dzOyB1c2UgMS4yLjFcIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB5YW5rUGx1Z2luKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMoXG4gICAgcHJvZ3JhbVxuICAgICAgLmNvbW1hbmQoJ3lhbmsnKVxuICAgICAgLmRlc2NyaXB0aW9uKCdZYW5rIGEgcGx1Z2luIHZlcnNpb24gKHN0b3BzIHJlc29sdmluZyBmb3IgcmFuZ2VzLCBsYXRlc3QgYW5kIHRoZSBkZWZhdWx0KScpXG4gICAgICAucmVxdWlyZWRPcHRpb24oJy1pLCAtLWlkIDxpZD4nLCAnUGx1Z2luIElEIChvbmUgdmVyc2lvbiknKVxuICAgICAgLnJlcXVpcmVkT3B0aW9uKCctciwgLS1yZWFzb24gPHRleHQ+JywgYFdoeSBpdCB3YXMgeWFua2VkLCBzaG93biB0byBleGFjdCBwaW5zIChtYXggJHtMSUZFQ1lDTEVfVEVYVF9NQVh9KWApXG4gICAgICAub3B0aW9uKCctZiwgLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCAoanNvbiwgeWFtbCwgdGFibGUpJywgJ2pzb24nKVxuICAgICAgLm9wdGlvbignLW8sIC0tb3V0cHV0IDxmaWxlPicsICdTYXZlIHRoZSB1cGRhdGVkIHBsdWdpbiB0byBmaWxlJyksXG4gIClcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBMaWZlY3ljbGVPcHRpb25zICYgeyByZWFzb246IHN0cmluZyB9KSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignWWFuayBQbHVnaW4nKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG4gICAgICAgIGNvbnN0IGlkID0gdmFsaWRhdGVFbnRpdHlJZChvcHRpb25zLmlkLCAnUGx1Z2luJyk7XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IGNoZWNrVGV4dChvcHRpb25zLnJlYXNvbiwgJ3JlYXNvbicsIHRydWUpITtcbiAgICAgICAgcHJpbnRJbmZvKCdSZXF1ZXN0IHBhcmFtZXRlcnMnLCB7IGlkLCByZWFzb24gfSk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChsaWZlY3ljbGVVcmwoY2xpZW50LCBpZCwgJ3lhbmsnKSwgeyByZWFzb24gfSk7XG4gICAgICAgIGNvbnN0IHBsdWdpbiA9IGV4dHJhY3RTaW5nbGVSZXNwb25zZTxQbHVnaW4+KHJlc3BvbnNlLCAncGx1Z2luJywgJ2lkJyk7XG4gICAgICAgIGlmICghcGx1Z2luKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHBsdWdpbiByZXR1cm5lZCBmb3IgSUQ6ICR7aWR9YCk7XG4gICAgICAgIGNvbnN0IHByb21vdGVkID0gKHVud3JhcEVudmVsb3BlKHJlc3BvbnNlKSBhcyBQYXJ0aWFsPFBsdWdpbllhbmtSZXNwb25zZT4pLnByb21vdGVkRGVmYXVsdDtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignUGx1Z2luIFZlcnNpb24gWWFua2VkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgIFBsdWdpbjogZ3JlZW4oYm9sZChgJHtwbHVnaW4ubmFtZX1AJHtwbHVnaW4udmVyc2lvbn1gKSksXG4gICAgICAgICAgWWFua2VkOiByZWQocGx1Z2luLnlhbmtlZEF0ID8/ICd5ZXMnKSxcbiAgICAgICAgICBSZWFzb246IHBsdWdpbi55YW5rUmVhc29uID8/IHJlYXNvbixcbiAgICAgICAgICAuLi4ocHJvbW90ZWQgPyB7ICdOZXcgZGVmYXVsdCc6IGAke3BsdWdpbi5uYW1lfUAke3Byb21vdGVkLnZlcnNpb259YCB9IDoge30pLFxuICAgICAgICB9KTtcbiAgICAgICAgZmluaXNoKGV4ZWN1dGlvbklkLCBzdGFydFRpbWUsIHBsdWdpbiwgb3B0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdwbHVnaW4teWFuaycsIGV4ZWN1dGlvbklkLCBwbHVnaW5JZDogb3B0aW9ucy5pZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision-steps.d.ts","
|
|
1
|
+
{"version":3,"file":"provision-steps.d.ts","sources":["../../src/commands/provision-steps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK7E,OAAO,EAAoB,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAgD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAClD,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA+B,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,QAAQ,GAAG,IAAI,CAM5E;AAiBD,iFAAiF;AACjF,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAIlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BtG;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1J,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA4CrE;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,WAAW,EAAE,EAC3B,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACtB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CA2D9D;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACjI,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAqClF;AAmBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BxG;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpH;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,GAAG,IAAI,CA4BP;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxI;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrH;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU/H;AAED,mEAAmE;AACnE,wBAAsB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/E"}
|