projen-pipelines 0.2.3 → 0.2.5
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/.jsii +23 -8
- package/README.md +21 -3
- package/lib/awscdk/base.js +1 -1
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.d.ts +1 -0
- package/lib/awscdk/github.js +28 -2
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/registries.js +2 -2
- package/lib/steps/step.js +4 -4
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
},
|
|
106
106
|
"name": "projen-pipelines",
|
|
107
107
|
"readme": {
|
|
108
|
-
"markdown": "# Projen Pipelines\n\n[](https://www.npmjs.com/package/projen-pipelines)\n\nProjen Pipelines is an open-source project that automates the generation of CI/CD pipelines using Projen,\na project configuration tool created by the inventor of AWS CDK.\nIt provides high-level abstractions for defining continuous delivery (CD) pipelines for applications,\nspecifically designed to work with the projen project configuration engine.\n\n### Key Features\n\n* Automates code generation for CI/CD pipelines\n* Supports multiple CI/CD platforms (currently GitHub Actions and GitLab CI, with more in development)\n* Provides baked-in proven defaults for pipeline configurations\n* Enables compliance-as-code integration\n* Allows easy switching between different CI/CD platforms without rewriting pipeline configurations\n* Handles complex deployment scenarios with less code\n* Manages AWS infrastructure more efficiently and straightforwardly\n\n### Benefits\n\n* Reduces repetitive work in writing and maintaining pipeline configurations\n* Ensures consistency across projects by using proven defaults\n* Simplifies compliance management by integrating it directly into pipeline definitions\n* Facilitates platform migrations (e.g., from GitHub to GitLab) by abstracting pipeline definitions\n\n## Beyond AWS CDK: A Vision for Universal CI/CD Pipeline Generation\n\nWhile Projen Pipelines currently focuses on AWS CDK applications, our vision extends far beyond this initial scope.\nWe aim to evolve into a universal CI/CD pipeline generator capable of supporting a wide variety of application types and deployment targets.\n\n### Future Direction:\n\n1. Diverse Application Support: We plan to expand our capabilities to generate pipelines for various application types, including but not limited to:\n * Traditional web applications\n * Terraform / OpenTOFU projects\n * Winglang applications\n1. Multi-Cloud Deployment: While we started with AWS, we aim to support deployments to other major cloud providers like Azure, Google Cloud Platform, and others.\n1. On-Premises and Hybrid Scenarios: We recognize the importance of on-premises and hybrid cloud setups and plan to cater to these deployment models.\n1. Framework Agnostic: Our goal is to make Projen Pipelines adaptable to work with various development frameworks and tools, not just those related to AWS or cloud deployments.\n1. Extensibility: We're designing the system to be easily extensible, allowing the community to contribute modules for new application types, deployment targets, or CI/CD platforms.\n\nBy broadening our scope, we aim to create a tool that can standardize and simplify CI/CD pipeline creation across the entire spectrum of modern application development and deployment scenarios.\nWe invite the community to join us in this journey, contributing ideas, use cases, and code to help realize this vision.\n\n## How Projen Pipelines work\n\n\nUnder the hood, after you define the pipeline and select the target engine you want to work on, we use code generation methods to create the required CI/CD pipeline in your project.\n\nWe are considering allowing the selection of multiple engines going forward - please let us know if this is a feature you would use!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. You can find a tutorial on how set this up here: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage with AWS CDK\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.150.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789012', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: {account: '123456789012', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Current Status\n\nProjen-Pipelines is currently in version 0.x, awaiting Projen's 1.0 release. Despite its pre-1.0 status, it's being used in several production environments.\n\n## Contributing\n\n### By raising feature requests or issues\n\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push -u origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n\n### How to test changes?\nThe best way currently is to test things locally or - if you have a working stall of all supported CI/CD tools - manually test the functionalities there in diferent projects.\n\n_For local testing:_\nUsing `yalc push` you can install the project locally to your local yalc package manager. You can also use `npm run local-push` instead of this.\n\nWith `yalc add projen-pipelines` you can then use it in a local project.\n\n\n## Future Plans\n\n* Move the project to the Open Construct Foundation for broader community involvement\n* Continue expanding support for different CI/CD platforms and project types\n\nJoin us in elevating CI/CD pipeline discussions from implementation details to fundamental building blocks, and help create a more efficient, standardized approach to pipeline development!\n\n## Known issues\n\n### Environment variable not recognized during `npx projen`\n\nWhen attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.\n\n#### Solution\n\nTo resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:\n\n```bash\nGITHUB_TOKEN= npx projen\n```\n"
|
|
108
|
+
"markdown": "# Projen Pipelines\n\n[](https://www.npmjs.com/package/projen-pipelines)\n\nProjen Pipelines is an open-source project that automates the generation of CI/CD pipelines using Projen,\na project configuration tool created by the inventor of AWS CDK.\nIt provides high-level abstractions for defining continuous delivery (CD) pipelines for applications,\nspecifically designed to work with the projen project configuration engine.\n\n### Key Features\n\n* Automates code generation for CI/CD pipelines\n* Supports multiple CI/CD platforms (currently GitHub Actions and GitLab CI, with more in development)\n* Provides baked-in proven defaults for pipeline configurations\n* Enables compliance-as-code integration\n* Allows easy switching between different CI/CD platforms without rewriting pipeline configurations\n* Handles complex deployment scenarios with less code\n* Manages AWS infrastructure more efficiently and straightforwardly\n\n### Benefits\n\n* Reduces repetitive work in writing and maintaining pipeline configurations\n* Ensures consistency across projects by using proven defaults\n* Simplifies compliance management by integrating it directly into pipeline definitions\n* Facilitates platform migrations (e.g., from GitHub to GitLab) by abstracting pipeline definitions\n\n## Beyond AWS CDK: A Vision for Universal CI/CD Pipeline Generation\n\nWhile Projen Pipelines currently focuses on AWS CDK applications, our vision extends far beyond this initial scope.\nWe aim to evolve into a universal CI/CD pipeline generator capable of supporting a wide variety of application types and deployment targets.\n\n### Future Direction:\n\n1. Diverse Application Support: We plan to expand our capabilities to generate pipelines for various application types, including but not limited to:\n * Traditional web applications\n * Terraform / OpenTOFU projects\n * Winglang applications\n1. Multi-Cloud Deployment: While we started with AWS, we aim to support deployments to other major cloud providers like Azure, Google Cloud Platform, and others.\n1. On-Premises and Hybrid Scenarios: We recognize the importance of on-premises and hybrid cloud setups and plan to cater to these deployment models.\n1. Framework Agnostic: Our goal is to make Projen Pipelines adaptable to work with various development frameworks and tools, not just those related to AWS or cloud deployments.\n1. Extensibility: We're designing the system to be easily extensible, allowing the community to contribute modules for new application types, deployment targets, or CI/CD platforms.\n\nBy broadening our scope, we aim to create a tool that can standardize and simplify CI/CD pipeline creation across the entire spectrum of modern application development and deployment scenarios.\nWe invite the community to join us in this journey, contributing ideas, use cases, and code to help realize this vision.\n\n## How Projen Pipelines work\n\n\nUnder the hood, after you define the pipeline and select the target engine you want to work on, we use code generation methods to create the required CI/CD pipeline in your project.\n\nWe are considering allowing the selection of multiple engines going forward - please let us know if this is a feature you would use!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. For example, create a role named `GithubDeploymentRole` in your deployment account (`123456789012`) with a policy like this to assume the CDK roles of the pipeline stages (AWS account IDs `123456789013` and `123456789014`):\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Statement1\",\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Resource\": [\n \"arn:aws:iam::123456789013:role/cdk-*-123456789013-*\",\n \"arn:aws:iam::123456789014:role/cdk-*-123456789014-*\"\n ]\n }\n ]\n}\n```\n\nAdd a trust policy to this role as described in this tutorial: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage with AWS CDK\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.150.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789013', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: { account: '123456789014', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Current Status\n\nProjen-Pipelines is currently in version 0.x, awaiting Projen's 1.0 release. Despite its pre-1.0 status, it's being used in several production environments.\n\n## Contributing\n\n### By raising feature requests or issues\n\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push -u origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n\n### How to test changes?\nThe best way currently is to test things locally or - if you have a working stall of all supported CI/CD tools - manually test the functionalities there in diferent projects.\n\n_For local testing:_\nUsing `yalc push` you can install the project locally to your local yalc package manager. You can also use `npm run local-push` instead of this.\n\nWith `yalc add projen-pipelines` you can then use it in a local project.\n\n\n## Future Plans\n\n* Move the project to the Open Construct Foundation for broader community involvement\n* Continue expanding support for different CI/CD platforms and project types\n\nJoin us in elevating CI/CD pipeline discussions from implementation details to fundamental building blocks, and help create a more efficient, standardized approach to pipeline development!\n\n## Known issues\n\n### Environment variable not recognized during `npx projen`\n\nWhen attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.\n\n#### Solution\n\nTo resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:\n\n```bash\nGITHUB_TOKEN= npx projen\n```\n"
|
|
109
109
|
},
|
|
110
110
|
"repository": {
|
|
111
111
|
"type": "git",
|
|
@@ -1648,7 +1648,7 @@
|
|
|
1648
1648
|
},
|
|
1649
1649
|
"locationInModule": {
|
|
1650
1650
|
"filename": "src/awscdk/github.ts",
|
|
1651
|
-
"line":
|
|
1651
|
+
"line": 61
|
|
1652
1652
|
},
|
|
1653
1653
|
"parameters": [
|
|
1654
1654
|
{
|
|
@@ -1684,7 +1684,7 @@
|
|
|
1684
1684
|
},
|
|
1685
1685
|
"locationInModule": {
|
|
1686
1686
|
"filename": "src/awscdk/github.ts",
|
|
1687
|
-
"line":
|
|
1687
|
+
"line": 154
|
|
1688
1688
|
},
|
|
1689
1689
|
"name": "createAssetUpload"
|
|
1690
1690
|
},
|
|
@@ -1695,7 +1695,7 @@
|
|
|
1695
1695
|
},
|
|
1696
1696
|
"locationInModule": {
|
|
1697
1697
|
"filename": "src/awscdk/github.ts",
|
|
1698
|
-
"line":
|
|
1698
|
+
"line": 209
|
|
1699
1699
|
},
|
|
1700
1700
|
"name": "createDeployment",
|
|
1701
1701
|
"parameters": [
|
|
@@ -1717,7 +1717,7 @@
|
|
|
1717
1717
|
},
|
|
1718
1718
|
"locationInModule": {
|
|
1719
1719
|
"filename": "src/awscdk/github.ts",
|
|
1720
|
-
"line":
|
|
1720
|
+
"line": 317
|
|
1721
1721
|
},
|
|
1722
1722
|
"name": "createIndependentDeployment",
|
|
1723
1723
|
"parameters": [
|
|
@@ -1739,7 +1739,7 @@
|
|
|
1739
1739
|
},
|
|
1740
1740
|
"locationInModule": {
|
|
1741
1741
|
"filename": "src/awscdk/github.ts",
|
|
1742
|
-
"line":
|
|
1742
|
+
"line": 106
|
|
1743
1743
|
},
|
|
1744
1744
|
"name": "engineType",
|
|
1745
1745
|
"overrides": "projen-pipelines.CDKPipeline",
|
|
@@ -1780,6 +1780,21 @@
|
|
|
1780
1780
|
"type": {
|
|
1781
1781
|
"primitive": "boolean"
|
|
1782
1782
|
}
|
|
1783
|
+
},
|
|
1784
|
+
{
|
|
1785
|
+
"docs": {
|
|
1786
|
+
"stability": "stable"
|
|
1787
|
+
},
|
|
1788
|
+
"locationInModule": {
|
|
1789
|
+
"filename": "src/awscdk/github.ts",
|
|
1790
|
+
"line": 54
|
|
1791
|
+
},
|
|
1792
|
+
"name": "minNodeVersion",
|
|
1793
|
+
"optional": true,
|
|
1794
|
+
"protected": true,
|
|
1795
|
+
"type": {
|
|
1796
|
+
"primitive": "string"
|
|
1797
|
+
}
|
|
1783
1798
|
}
|
|
1784
1799
|
],
|
|
1785
1800
|
"symbolId": "src/awscdk/github:GithubCDKPipeline"
|
|
@@ -3537,6 +3552,6 @@
|
|
|
3537
3552
|
"symbolId": "src/steps/artifact-steps:UploadArtifactStepConfig"
|
|
3538
3553
|
}
|
|
3539
3554
|
},
|
|
3540
|
-
"version": "0.2.
|
|
3541
|
-
"fingerprint": "
|
|
3555
|
+
"version": "0.2.5",
|
|
3556
|
+
"fingerprint": "ANST3bDqT7OGAu2HCnhwkSQ/DGnT3cCI9lnQMz4I/3Q="
|
|
3542
3557
|
}
|
package/README.md
CHANGED
|
@@ -58,7 +58,25 @@ To install the package, add the package `projen-pipelines` to your projects devD
|
|
|
58
58
|
|
|
59
59
|
After installing the package, you can import and use the constructs to define your CDK Pipelines.
|
|
60
60
|
|
|
61
|
-
You will also have to setup an IAM role that can be used by GitHub Actions.
|
|
61
|
+
You will also have to setup an IAM role that can be used by GitHub Actions. For example, create a role named `GithubDeploymentRole` in your deployment account (`123456789012`) with a policy like this to assume the CDK roles of the pipeline stages (AWS account IDs `123456789013` and `123456789014`):
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"Version": "2012-10-17",
|
|
65
|
+
"Statement": [
|
|
66
|
+
{
|
|
67
|
+
"Sid": "Statement1",
|
|
68
|
+
"Effect": "Allow",
|
|
69
|
+
"Action": "sts:AssumeRole",
|
|
70
|
+
"Resource": [
|
|
71
|
+
"arn:aws:iam::123456789013:role/cdk-*-123456789013-*",
|
|
72
|
+
"arn:aws:iam::123456789014:role/cdk-*-123456789014-*"
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Add a trust policy to this role as described in this tutorial: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)
|
|
62
80
|
|
|
63
81
|
### Usage with AWS CDK
|
|
64
82
|
|
|
@@ -89,11 +107,11 @@ new GithubCDKPipeline(app, {
|
|
|
89
107
|
stages: [
|
|
90
108
|
{
|
|
91
109
|
name: 'dev',
|
|
92
|
-
env: { account: '
|
|
110
|
+
env: { account: '123456789013', region: 'eu-central-1' },
|
|
93
111
|
}, {
|
|
94
112
|
name: 'prod',
|
|
95
113
|
manualApproval: true,
|
|
96
|
-
env: {account: '
|
|
114
|
+
env: { account: '123456789014', region: 'eu-central-1' },
|
|
97
115
|
}],
|
|
98
116
|
});
|
|
99
117
|
```
|
package/lib/awscdk/base.js
CHANGED
|
@@ -416,5 +416,5 @@ ${appCode}
|
|
|
416
416
|
}
|
|
417
417
|
exports.CDKPipeline = CDKPipeline;
|
|
418
418
|
_a = JSII_RTTI_SYMBOL_1;
|
|
419
|
-
CDKPipeline[_a] = { fqn: "projen-pipelines.CDKPipeline", version: "0.2.
|
|
419
|
+
CDKPipeline[_a] = { fqn: "projen-pipelines.CDKPipeline", version: "0.2.5" };
|
|
420
420
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFxRDtBQUNyRCw4Q0FBa0Q7QUFDbEQsc0RBQTJEO0FBRTNELG9DQUE4RztBQXVCOUcsTUFBTTtBQUNOLHlEQUF5RDtBQUN6RCxNQUFNO0FBQ04sK0JBQStCO0FBQy9CLDZFQUE2RTtBQUM3RSwyQkFBMkI7QUFDM0IsNEVBQTRFO0FBQzVFLHlCQUF5QjtBQUN6QixJQUFJO0FBRUosSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ3JCLDRCQUE0QjtJQUM1Qiw2Q0FBSSxDQUFBO0lBQ0osb0RBQW9EO0lBQ3BELDZDQUFJLENBQUE7SUFDSix1REFBdUQ7SUFDdkQsNkNBQUksQ0FBQTtBQUNOLENBQUMsRUFQVyxXQUFXLDJCQUFYLFdBQVcsUUFPdEI7QUFrSUQ7OztHQUdHO0FBQ0gsTUFBc0IsV0FBWSxTQUFRLGtCQUFTO0lBSWpELFlBQXNCLEdBQStCLEVBQVksV0FBK0I7UUFDOUYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBNEI7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFHOUYsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUNqQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLFlBQVksQ0FDYixDQUFDO1FBQ0Ysb0JBQW9CO1FBQ3BCLEtBQUs7UUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLENBQUMsK0NBQStDO1FBRW5HLHdE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QkFBa0IsQ0FBQyxLQUFhO1FBQ3hDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzFKLENBQUM7O0FBNWFILGtDQTZhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGV4dEZpbGUsIGF3c2NkayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQUk9KRU5fTUFSS0VSIH0gZnJvbSAncHJvamVuL2xpYi9jb21tb24nO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VNYW5hZ2VyIH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IEF3c0Fzc3VtZVJvbGVTdGVwLCBQaXBlbGluZVN0ZXAsIFByb2plblNjcmlwdFN0ZXAsIFNpbXBsZUNvbW1hbmRTdGVwLCBTdGVwU2VxdWVuY2UgfSBmcm9tICcuLi9zdGVwcyc7XG5cbi8qKlxuICogVGhlIEVudmlyb25tZW50IGludGVyZmFjZSBpcyBkZXNpZ25lZCB0byBob2xkIEFXUyByZWxhdGVkIGluZm9ybWF0aW9uXG4gKiBmb3IgYSBzcGVjaWZpYyBkZXBsb3ltZW50IGVudmlyb25tZW50IHdpdGhpbiB5b3VyIGluZnJhc3RydWN0dXJlLlxuICogRWFjaCBlbnZpcm9ubWVudCByZXF1aXJlcyBhIHNwZWNpZmljIGFjY291bnQgYW5kIHJlZ2lvbiBmb3IgaXRzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIEFjY291bnQgSUQgYXNzb2NpYXRlZCB3aXRoIHRoZSBlbnZpcm9ubWVudC4gSXQncyBpbXBvcnRhbnQgYmVjYXVzZVxuICAgKiBkaWZmZXJlbnQgc2VydmljZXMgb3IgZmVhdHVyZXMgY291bGQgaGF2ZSBkaXN0aW5jdCBwZXJtaXNzaW9ucyBhbmQgc2V0dGluZ3NcbiAgICogaW4gZGlmZmVyZW50IGFjY291bnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIFJlZ2lvbiBmb3IgdGhlIGVudmlyb25tZW50LiBUaGlzIGRldGVybWluZXMgd2hlcmUgeW91ciByZXNvdXJjZXNcbiAgICogYXJlIGNyZWF0ZWQgYW5kIHdoZXJlIHlvdXIgYXBwbGljYXRpb24gd2lsbCBydW4uIEl0IGNhbiBhZmZlY3QgbGF0ZW5jeSxcbiAgICogYXZhaWxhYmlsaXR5LCBhbmQgcHJpY2luZy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xufVxuXG4vLyAvKipcbi8vICAqIERlc2NyaWJlcyB0aGUgdHlwZSBvZiBwaXBlbGluZSB0aGF0IHdpbGwgYmUgY3JlYXRlZFxuLy8gICovXG4vLyBleHBvcnQgZW51bSBEZXBsb3ltZW50VHlwZSB7XG4vLyAgIC8qKiBEZXBsb3kgZXZlcnkgY29tbWl0IGFzIGZhciBhcyBwb3NzaWJsZTsgaG9wZWZ1bGx5IGludG8gcHJvZHVjdGlvbiAqL1xuLy8gICBDT05USU5VT1VTX0RFUExPWU1FTlQsXG4vLyAgIC8qKiBCdWlsZCBldmVyeSBjb21taXQgYW5kIHByZXBhcmUgYWxsIGFzc2V0cyBmb3IgYSBsYXRlciBkZXBsb3ltZW50ICovXG4vLyAgIENPTlRJTlVPVVNfREVMSVZFUlksXG4vLyB9XG5cbmV4cG9ydCBlbnVtIENka0RpZmZUeXBlIHtcbiAgLyoqIERvIG5vdCBwZXJmb3JtIGEgZGlmZiAqL1xuICBOT05FLFxuICAvKiogUGVyZm9ybSBhIGZhc3QgdGVtcGxhdGUgZGlmZiAoLS1uby1jaGFuZ2VzZXQpICovXG4gIEZBU1QsXG4gIC8qKiBQZXJmb3JtIGEgZnVsbCBDbG91ZEZvcm1hdGlvbiBkaWZmICgtLWNoYW5nZXNldCkgKi9cbiAgRlVMTCxcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzdGFnZXMgdGhhdCBhcmUgcGFydCBvZiB0aGUgcGlwZWxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50U3RhZ2UgZXh0ZW5kcyBOYW1lZFN0YWdlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzdGFnZXMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIHBpcGVsaW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXBlbmRlbnRTdGFnZSBleHRlbmRzIE5hbWVkU3RhZ2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoaXMgc3BlY2lmaWVzIHdoZXRoZXIgdGhlIHN0YWdlIHNob3VsZCBiZSBkZXBsb3llZCBvbiBwdXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXBsb3lPblB1c2g/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGEgQ0RLIHN0YWdlIHdpdGggYSBuYW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZWRTdGFnZU9wdGlvbnMgZXh0ZW5kcyBTdGFnZU9wdGlvbnMge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhdGNoYWJsZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRpZmZUeXBlPzogQ2RrRGlmZlR5cGU7XG4gIHJlYWRvbmx5IHBvc3REaWZmU3RlcHM/OiBQaXBlbGluZVN0ZXBbXTtcbiAgcmVhZG9ubHkgcG9zdERlcGxveVN0ZXBzPzogUGlwZWxpbmVTdGVwW107XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYSBDREsgc3RhZ2UgbGlrZSB0aGUgdGFyZ2V0IGVudmlyb25tZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgZW52OiBFbnZpcm9ubWVudDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgSUFNIHJvbGVzIHVzZWQgaW4gdGhlIENESyBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJYW1Sb2xlQ29uZmlnIHtcblxuICAvKiogRGVmYXVsdCBJQU0gcm9sZSBBUk4gdXNlZCBpZiBubyBzcGVjaWZpYyByb2xlIGlzIHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0ZXAuICovXG4gIHJlYWRvbmx5IHN5bnRoPzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgYXNzZXQgcHVibGlzaGluZyBzdGVwLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmc7XG4gIC8qKiBJQU0gcm9sZSBBUk4gZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0ZXAgZm9yIGEgc3BlY2lmaWMgc3RhZ2UuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZ1BlclN0YWdlPzogeyBbc3RhZ2U6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogSUFNIHJvbGUgQVJOcyBmb3IgZGlmZmVyZW50IGRpZmYgc3RhZ2VzLiAqL1xuICByZWFkb25seSBkaWZmPzogeyBbc3RhZ2U6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogSUFNIHJvbGUgQVJOcyBmb3IgZGlmZmVyZW50IGRlcGxveW1lbnQgc3RhZ2VzLiAqL1xuICByZWFkb25seSBkZXBsb3ltZW50PzogeyBbc3RhZ2U6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIFRoZSBDREtQaXBlbGluZU9wdGlvbnMgaW50ZXJmYWNlIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgY29uZmlndXJhdGlvblxuICogb3B0aW9ucyBmb3IgYSBDREsgKENsb3VkIERldmVsb3BtZW50IEtpdCkgcGlwZWxpbmUuIEl0IGFsbG93cyB0aGUgZGVmaW5pdGlvblxuICogb2Ygc2V0dGluZ3Mgc3VjaCBhcyB0aGUgc3RhY2sgcHJlZml4IGFuZCBwYWNrYWdlIG5hbWVzcGFjZSB0byBiZSB1c2VkIGluIHRoZVxuICogQVdTIHN0YWNrLCBhbG9uZyB3aXRoIHRoZSBlbnZpcm9ubWVudHMgY29uZmlndXJhdGlvbiB0byBiZSB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENES1BpcGVsaW5lT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBicmFuY2ggdG8gZGVwbG95IGZyb21cbiAgICogQGRlZmF1bHQgbWFpblxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhpcyBmaWVsZCBpcyB1c2VkIHRvIGRlZmluZSBhIHByZWZpeCBmb3IgdGhlIEFXUyBTdGFjayByZXNvdXJjZXMgY3JlYXRlZFxuICAgKiBkdXJpbmcgdGhlIHBpcGVsaW5lJ3Mgb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwcm9qZWN0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSBhbGwgQ0RLIGFjdGlvbnMgd2lsbCBhbHNvIGluY2x1ZGUgPHN0YWNrTmFtZT4vKiB0byBkZXBsb3kvZGlmZi9kZXN0cm95IHN1YiBzdGFja3Mgb2YgdGhlIG1haW4gc3RhY2suXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gZGVwbG95IENEayBhcHBsaWNhdGlvbnMgY29udGFpbmluZyBtdWx0aXBsZSBzdGFja3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXBsb3lTdWJTdGFja3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIE5QTSBuYW1lc3BhY2UgdG8gYmUgdXNlZCB3aGVuIHBhY2thZ2luZyBDREsgY2xvdWRcbiAgICogYXNzZW1ibGllcy4gQSBuYW1lc3BhY2UgaGVscHMgZ3JvdXAgcmVsYXRlZCByZXNvdXJjZXMgdG9nZXRoZXIsIHByb3ZpZGluZ1xuICAgKiBiZXR0ZXIgb3JnYW5pemF0aW9uIGFuZCBlYXNlIG9mIG1hbmFnZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBwa2dOYW1lc3BhY2U6IHN0cmluZztcblxuICAvKiogSUFNIGNvbmZpZyAqL1xuICByZWFkb25seSBpYW1Sb2xlQXJuczogSWFtUm9sZUNvbmZpZztcblxuICAvKipcbiAgICogVGhpcyBmaWVsZCBzcGVjaWZpZXMgYSBsaXN0IG9mIHN0YWdlcyB0aGF0IHNob3VsZCBiZSBkZXBsb3llZCB1c2luZyBhIENJL0NEIHBpcGVsaW5lXG4gICAqL1xuICByZWFkb25seSBzdGFnZXM6IERlcGxveW1lbnRTdGFnZVtdO1xuXG4gIC8qKiBUaGlzIHNwZWNpZmllcyBkZXRhaWxzIGZvciBpbmRlcGVuZGVudCBzdGFnZXMgKi9cbiAgcmVhZG9ubHkgaW5kZXBlbmRlbnRTdGFnZXM/OiBJbmRlcGVuZGVudFN0YWdlW107XG5cbiAgLyoqIFRoaXMgc3BlY2lmaWVzIGRldGFpbHMgZm9yIGEgcGVyc29uYWwgc3RhZ2UgKi9cbiAgcmVhZG9ubHkgcGVyc29uYWxTdGFnZT86IFN0YWdlT3B0aW9ucztcblxuICAvKiogVGhpcyBzcGVjaWZpZXMgZGV0YWlscyBmb3IgZmVhdHVyZSBzdGFnZXMgKi9cbiAgcmVhZG9ubHkgZmVhdHVyZVN0YWdlcz86IFN0YWdlT3B0aW9ucztcblxuICAvLyAvKipcbiAgLy8gICogVGhpcyBmaWVsZCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgcGlwZWxpbmUgdG8gY3JlYXRlLiBJZiBzZXQgdG8gQ09OVElOVU9VU19ERVBMT1lNRU5ULFxuICAvLyAgKiBldmVyeSBjb21taXQgaXMgZGVwbG95ZWQgYXMgZmFyIGFzIHBvc3NpYmxlLCBob3BlZnVsbHkgaW50byBwcm9kdWN0aW9uLiBJZiBzZXQgdG9cbiAgLy8gICogQ09OVElOVU9VU19ERUxJVkVSWSwgZXZlcnkgY29tbWl0IGlzIGJ1aWx0IGFuZCBhbGwgYXNzZXRzIGFyZSBwcmVwYXJlZCBmb3IgYSBsYXRlciBkZXBsb3ltZW50LlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBDT05USU5VT1VTX0RFTElWRVJZXG4gIC8vICAqL1xuICAvLyByZWFkb25seSBkZXBsb3ltZW50VHlwZT86IERlcGxveW1lbnRUeXBlO1xuXG4gIHJlYWRvbmx5IHByZUluc3RhbGxDb21tYW5kcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBwcmVTeW50aENvbW1hbmRzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHBvc3RTeW50aENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgcmVhZG9ubHkgcHJlSW5zdGFsbFN0ZXBzPzogUGlwZWxpbmVTdGVwW107XG4gIHJlYWRvbmx5IHByZVN5bnRoU3RlcHM/OiBQaXBlbGluZVN0ZXBbXTtcbiAgcmVhZG9ubHkgcG9zdFN5bnRoU3RlcHM/OiBQaXBlbGluZVN0ZXBbXTtcbn1cblxuLyoqXG4gKiBUaGUgQ0RLUGlwZWxpbmUgY2xhc3MgZXh0ZW5kcyB0aGUgQ29tcG9uZW50IGNsYXNzIGFuZCBzZXRzIHVwIHRoZSBuZWNlc3NhcnkgY29uZmlndXJhdGlvbiBmb3IgZGVwbG95aW5nIEFXUyBDREsgKENsb3VkIERldmVsb3BtZW50IEtpdCkgYXBwbGljYXRpb25zIGFjcm9zcyBtdWx0aXBsZSBzdGFnZXMuXG4gKiBJdCBhbHNvIG1hbmFnZXMgdGFza3Mgc3VjaCBhcyBwdWJsaXNoaW5nIENESyBhc3NldHMsIGJ1bXBpbmcgdmVyc2lvbiBiYXNlZCBvbiBnaXQgdGFncywgYW5kIGNsZWFuaW5nIHVwIGNvbmZsaWN0aW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tQcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyYW5jaE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJvdGVjdGVkIGJhc2VPcHRpb25zOiBDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgLy8gQWRkIGRldmVsb3BtZW50IGRlcGVuZGVuY2llc1xuICAgIHRoaXMuYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL3N0YW5kYXJkLXZlcnNpb24nLFxuICAgICAgJ3N0YW5kYXJkLXZlcnNpb24nLFxuICAgICAgJ2Nkay1hc3NldHMnLFxuICAgICk7XG4gICAgLy8gdGhpcy5hcHAuYWRkRGVwcyhcbiAgICAvLyApO1xuICAgIHRoaXMucHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZSgnL2Nkay1vdXRwdXRzLSouanNvbicpO1xuXG4gICAgdGhpcy5zdGFja1ByZWZpeCA9IGJhc2VPcHRpb25zLnN0YWNrUHJlZml4ID8/IGFwcC5uYW1lO1xuICAgIHRoaXMuYnJhbmNoTmFtZSA9IGJhc2VPcHRpb25zLmJyYW5jaE5hbWUgPz8gJ21haW4nOyAvLyBUT0RPIHVzZSBkZWZhdWx0UmVsZWFzZUJyYW5jaCBvZiBOb2RlUHJvamVjdFxuXG4gICAgLy8gUmVtb3ZlcyB0aGUgY29tcGlsZWQgY2xvdWQgYXNzZW1ibHkgYmVmb3JlIGVhY2ggc3ludGhcbiAgICB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgnc3ludGgnKT8ucHJlcGVuZEV4ZWMoYHJtIC1yZiAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3N5bnRoOnNpbGVudCcpPy5wcmVwZW5kRXhlYyhgcm0gLXJmICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH1gKTtcblxuICAgIC8vIFJlbW92ZSB0YXNrcyB0aGF0IG1pZ2h0IGNvbmZsaWN0IHdpdGggdGhlIHBpcGVsaW5lIHByb2Nlc3NcbiAgICB0aGlzLnByb2plY3QucmVtb3ZlVGFzaygnZGVwbG95Jyk7XG4gICAgdGhpcy5wcm9qZWN0LnJlbW92ZVRhc2soJ2RpZmYnKTtcbiAgICB0aGlzLnByb2plY3QucmVtb3ZlVGFzaygnZGVzdHJveScpO1xuICAgIHRoaXMucHJvamVjdC5yZW1vdmVUYXNrKCd3YXRjaCcpO1xuXG4gICAgLy8gQ3JlYXRlcyBkaWZmZXJlbnQgZGVwbG95bWVudCBzdGFnZXNcbiAgICBpZiAoYmFzZU9wdGlvbnMucGVyc29uYWxTdGFnZSkge1xuICAgICAgdGhpcy5jcmVhdGVQZXJzb25hbFN0YWdlKCk7XG4gICAgfVxuICAgIGlmIChiYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZlYXR1cmVTdGFnZSgpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIGJhc2VPcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVQaXBlbGluZVN0YWdlKHN0YWdlKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiAoYmFzZU9wdGlvbnMuaW5kZXBlbmRlbnRTdGFnZXMgPz8gW10pKSB7XG4gICAgICB0aGlzLmNyZWF0ZUluZGVwZW5kZW50U3RhZ2Uoc3RhZ2UpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZXMgdGFza3MgdG8gaGFuZGxlIHRoZSByZWxlYXNlIHByb2Nlc3NcbiAgICB0aGlzLmNyZWF0ZVJlbGVhc2VUYXNrcygpO1xuXG4gICAgLy8gQ3JlYXRlcyBhIHNwZWNpYWxpemVkIENESyBBcHAgY2xhc3NcbiAgICB0aGlzLmNyZWF0ZUFwcGxpY2F0aW9uRW50cnlwb2ludCgpO1xuXG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZW5naW5lVHlwZSgpOiBQaXBlbGluZUVuZ2luZTtcblxuICBwcm90ZWN0ZWQgcHJvdmlkZUluc3RhbGxTdGVwKCk6IFBpcGVsaW5lU3RlcCB7XG4gICAgY29uc3Qgc2VxID0gbmV3IFN0ZXBTZXF1ZW5jZSh0aGlzLnByb2plY3QsIHRoaXMuYmFzZU9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKTtcbiAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5wcmVJbnN0YWxsQ29tbWFuZHMpIHtcbiAgICAgIHNlcS5hZGRTdGVwcyhuZXcgU2ltcGxlQ29tbWFuZFN0ZXAodGhpcy5wcm9qZWN0LCB0aGlzLmJhc2VPcHRpb25zLnByZUluc3RhbGxDb21tYW5kcykpO1xuICAgIH1cbiAgICBzZXEuYWRkU3RlcHMobmV3IFByb2plblNjcmlwdFN0ZXAodGhpcy5wcm9qZWN0LCB0aGlzLmFwcC5wYWNrYWdlLmluc3RhbGxDaVRhc2submFtZSkpO1xuICAgIHJldHVybiBzZXE7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJvdmlkZVN5bnRoU3RlcCgpOiBQaXBlbGluZVN0ZXAge1xuICAgIGNvbnN0IHNlcSA9IG5ldyBTdGVwU2VxdWVuY2UodGhpcy5wcm9qZWN0LCBbXSk7XG5cbiAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucz8uc3ludGgpIHtcbiAgICAgIHNlcS5hZGRTdGVwcyhuZXcgQXdzQXNzdW1lUm9sZVN0ZXAodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIHJvbGVBcm46IHRoaXMuYmFzZU9wdGlvbnMuaWFtUm9sZUFybnMuc3ludGgsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgc2VxLmFkZFN0ZXBzKC4uLnRoaXMuYmFzZU9wdGlvbnMucHJlU3ludGhTdGVwcyA/PyBbXSk7XG4gICAgaWYgKHRoaXMuYmFzZU9wdGlvbnMucHJlU3ludGhDb21tYW5kcykge1xuICAgICAgc2VxLmFkZFN0ZXBzKG5ldyBTaW1wbGVDb21tYW5kU3RlcCh0aGlzLnByb2plY3QsIHRoaXMuYmFzZU9wdGlvbnMucHJlU3ludGhDb21tYW5kcykpO1xuICAgIH1cblxuICAgIHNlcS5hZGRTdGVwcyhuZXcgUHJvamVuU2NyaXB0U3RlcCh0aGlzLnByb2plY3QsICdidWlsZCcpKTtcblxuICAgIHNlcS5hZGRTdGVwcyguLi50aGlzLmJhc2VPcHRpb25zLnBvc3RTeW50aFN0ZXBzID8/IFtdKTtcbiAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5wb3N0U3ludGhDb21tYW5kcykge1xuICAgICAgc2VxLmFkZFN0ZXBzKG5ldyBTaW1wbGVDb21tYW5kU3RlcCh0aGlzLnByb2plY3QsIHRoaXMuYmFzZU9wdGlvbnMucG9zdFN5bnRoQ29tbWFuZHMpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlcTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm92aWRlQXNzZXRVcGxvYWRTdGVwKHN0YWdlTmFtZT86IHN0cmluZyk6IFBpcGVsaW5lU3RlcCB7XG4gICAgY29uc3Qgc2VxID0gbmV3IFN0ZXBTZXF1ZW5jZSh0aGlzLnByb2plY3QsIFtdKTtcblxuICAgIGNvbnN0IGdsb2JhbFB1Ymxpc2hSb2xlID0gdGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucy5hc3NldFB1Ymxpc2hpbmcgPz8gdGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucy5kZWZhdWx0ITtcbiAgICBpZiAoc3RhZ2VOYW1lKSB7XG4gICAgICBzZXEuYWRkU3RlcHMobmV3IEF3c0Fzc3VtZVJvbGVTdGVwKHRoaXMucHJvamVjdCwge1xuICAgICAgICByb2xlQXJuOiB0aGlzLmJhc2VPcHRpb25zLmlhbVJvbGVBcm5zLmFzc2V0UHVibGlzaGluZ1BlclN0YWdlID9cbiAgICAgICAgICAodGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucy5hc3NldFB1Ymxpc2hpbmdQZXJTdGFnZVtzdGFnZU5hbWVdID8/IGdsb2JhbFB1Ymxpc2hSb2xlKSA6XG4gICAgICAgICAgZ2xvYmFsUHVibGlzaFJvbGUsXG4gICAgICB9KSk7XG4gICAgICBzZXEuYWRkU3RlcHMobmV3IFByb2plblNjcmlwdFN0ZXAodGhpcy5wcm9qZWN0LCBgcHVibGlzaDphc3NldHM6JHtzdGFnZU5hbWV9YCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucy5hc3NldFB1Ymxpc2hpbmdQZXJTdGFnZSkge1xuICAgICAgICBjb25zdCBzdGFnZXMgPSBbLi4udGhpcy5iYXNlT3B0aW9ucy5zdGFnZXMsIC4uLnRoaXMuYmFzZU9wdGlvbnMuaW5kZXBlbmRlbnRTdGFnZXMgPz8gW11dO1xuICAgICAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgICAgIHNlcS5hZGRTdGVwcyhuZXcgQXdzQXNzdW1lUm9sZVN0ZXAodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgICByb2xlQXJuOiB0aGlzLmJhc2VPcHRpb25zLmlhbVJvbGVBcm5zLmFzc2V0UHVibGlzaGluZ1BlclN0YWdlW3N0YWdlLm5hbWVdID8/IGdsb2JhbFB1Ymxpc2hSb2xlLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgICBzZXEuYWRkU3RlcHMobmV3IFByb2plblNjcmlwdFN0ZXAodGhpcy5wcm9qZWN0LCBgcHVibGlzaDphc3NldHM6JHtzdGFnZS5uYW1lfWApKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VxLmFkZFN0ZXBzKG5ldyBBd3NBc3N1bWVSb2xlU3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICByb2xlQXJuOiBnbG9iYWxQdWJsaXNoUm9sZSxcbiAgICAgICAgfSkpO1xuICAgICAgICBzZXEuYWRkU3RlcHMobmV3IFByb2plblNjcmlwdFN0ZXAodGhpcy5wcm9qZWN0LCAncHVibGlzaDphc3NldHMnKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlcTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm92aWRlQXNzZW1ibHlVcGxvYWRTdGVwKCk6IFBpcGVsaW5lU3RlcCB7XG4gICAgcmV0dXJuIG5ldyBTdGVwU2VxdWVuY2UodGhpcy5wcm9qZWN0LCBbXG4gICAgICBuZXcgUHJvamVuU2NyaXB0U3RlcCh0aGlzLnByb2plY3QsICdidW1wJyksXG4gICAgICBuZXcgUHJvamVuU2NyaXB0U3RlcCh0aGlzLnByb2plY3QsICdyZWxlYXNlOnB1c2gtYXNzZW1ibHknKSxcbiAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm92aWRlRGVwbG95U3RlcChzdGFnZTogTmFtZWRTdGFnZU9wdGlvbnMpOiBQaXBlbGluZVN0ZXAge1xuICAgIHJldHVybiBuZXcgU3RlcFNlcXVlbmNlKHRoaXMucHJvamVjdCwgW1xuICAgICAgbmV3IEF3c0Fzc3VtZVJvbGVTdGVwKHRoaXMucHJvamVjdCwge1xuICAgICAgICByb2xlQXJuOiB0aGlzLmJhc2VPcHRpb25zLmlhbVJvbGVBcm5zPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5iYXNlT3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdCEsXG4gICAgICAgIHJlZ2lvbjogc3RhZ2UuZW52LnJlZ2lvbixcbiAgICAgIH0pLFxuICAgICAgbmV3IFByb2plblNjcmlwdFN0ZXAodGhpcy5wcm9qZWN0LCBgZGVwbG95OiR7c3RhZ2UubmFtZX1gKSxcbiAgICAgIC4uLnN0YWdlLnBvc3REZXBsb3lTdGVwcyA/PyBbXSxcbiAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm92aWRlRGlmZlN0ZXAoc3RhZ2U6IE5hbWVkU3RhZ2VPcHRpb25zLCBmYXN0PzogYm9vbGVhbik6IFBpcGVsaW5lU3RlcCB7XG4gICAgcmV0dXJuIG5ldyBTdGVwU2VxdWVuY2UodGhpcy5wcm9qZWN0LCBbXG4gICAgICBuZXcgQXdzQXNzdW1lUm9sZVN0ZXAodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIHJvbGVBcm46IHRoaXMuYmFzZU9wdGlvbnMuaWFtUm9sZUFybnM/LmRpZmY/LltzdGFnZS5uYW1lXSA/P1xuICAgICAgICAgIHRoaXMuYmFzZU9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/P1xuICAgICAgICAgIHRoaXMuYmFzZU9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHQhLFxuICAgICAgICByZWdpb246IHN0YWdlLmVudi5yZWdpb24sXG4gICAgICB9KSxcbiAgICAgIG5ldyBQcm9qZW5TY3JpcHRTdGVwKHRoaXMucHJvamVjdCwgZmFzdCA/IGBmYXN0ZGlmZjoke3N0YWdlLm5hbWV9YCA6IGBkaWZmOiR7c3RhZ2UubmFtZX1gKSxcbiAgICAgIC4uLnN0YWdlLnBvc3REaWZmU3RlcHMgPz8gW10sXG4gICAgXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVySW5zdGFsbFBhY2thZ2VDb21tYW5kcyhwYWNrYWdlTmFtZTogc3RyaW5nLCBydW5QcmVJbnN0YWxsQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IHJ1blByZUluc3RhbGxDb21tYW5kcyA/IHRoaXMuYmFzZU9wdGlvbnMucHJlSW5zdGFsbENvbW1hbmRzID8/IFtdIDogW107XG5cbiAgICBzd2l0Y2ggKHRoaXMuYXBwLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpIHtcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk46XG4gICAgICBjYXNlIE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOMjpcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk5fQkVSUlk6XG4gICAgICBjYXNlIE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOX0NMQVNTSUM6XG4gICAgICAgIGNvbW1hbmRzLnB1c2goYHlhcm4gYWRkICR7cGFja2FnZU5hbWV9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuTlBNOlxuICAgICAgICBjb21tYW5kcy5wdXNoKGBucG0gaW5zdGFsbCAke3BhY2thZ2VOYW1lfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW5zdGFsbCBzY3JpcHRzIGZvciBwYWNrYWdlTWFuYWdlcjogJyArIHRoaXMuYXBwLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpO1xuICAgIH1cbiAgICByZXR1cm4gY29tbWFuZHM7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlU2FmZVN0YWdlTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFJlbW92ZSBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHNwbGl0IGludG8gd29yZHNcbiAgICBjb25zdCB3b3JkcyA9IG5hbWUucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCAnICcpLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xuXG4gICAgLy8gQ2FwaXRhbGl6ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggd29yZCBhbmQgam9pbiB0aGVtXG4gICAgcmV0dXJuIHdvcmRzLm1hcCgod29yZCkgPT4ge1xuICAgICAgcmV0dXJuIHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpLnRvTG93ZXJDYXNlKCk7XG4gICAgfSkuam9pbignJyk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZ2VuZXJhdGVzIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIGFwcGxpY2F0aW9uLCBpbmNsdWRpbmcgaW50ZXJmYWNlcyBhbmQgY2xhc3Nlc1xuICAgKiBuZWNlc3NhcnkgdG8gc2V0IHVwIHRoZSBwaXBlbGluZSBhbmQgZGVmaW5lIHRoZSBBV1MgQ0RLIHN0YWNrcyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVBcHBsaWNhdGlvbkVudHJ5cG9pbnQoKSB7XG4gICAgbGV0IHByb3BzQ29kZSA9ICcnO1xuICAgIGxldCBhcHBDb2RlID0gJyc7XG4gICAgbGV0IHNlcCA9ICctJztcbiAgICBpZiAodGhpcy5zdGFja1ByZWZpeCA9PT0gJycpIHtcbiAgICAgIHNlcCA9ICcnO1xuICAgIH1cblxuXG4gICAgaWYgKHRoaXMuYmFzZU9wdGlvbnMucGVyc29uYWxTdGFnZSkge1xuICAgICAgcHJvcHNDb2RlICs9IGAgIC8qKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSBhIHBlcnNvbmFsIHN0YWNrLiAqL1xuICBwcm92aWRlUGVyc29uYWxTdGFjazogKGFwcDogQXBwLCBzdGFja0lkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZUFwcFN0YWNrUHJvcHMpID0+IFN0YWNrO1xuYDtcbiAgICAgIGFwcENvZGUgKz0gYCAgICAvLyBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgVVNFUiBpcyBzZXQgYW5kIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgZm9yIGNyZWF0aW5nIGEgcGVyc29uYWwgc3RhY2ssIGl0IGlzIGNhbGxlZCB3aXRoIG5lY2Vzc2FyeSBhcmd1bWVudHMuXG4gICAgaWYgKHByb3BzLnByb3ZpZGVQZXJzb25hbFN0YWNrICYmIHByb2Nlc3MuZW52LlVTRVIpIHtcbiAgICAgIGNvbnN0IHN0YWdlTmFtZSA9ICdwZXJzb25hbC0nICsgcHJvY2Vzcy5lbnYuVVNFUi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcXFxcXC8vZywgJy0nKTtcbiAgICAgIHByb3BzLnByb3ZpZGVQZXJzb25hbFN0YWNrKHRoaXMsICcke3RoaXMuc3RhY2tQcmVmaXh9JHtzZXB9cGVyc29uYWwnLCB7IGVudjogeyBhY2NvdW50OiAnJHt0aGlzLmJhc2VPcHRpb25zLnBlcnNvbmFsU3RhZ2UuZW52LmFjY291bnR9JywgcmVnaW9uOiAnJHt0aGlzLmJhc2VPcHRpb25zLnBlcnNvbmFsU3RhZ2UuZW52LnJlZ2lvbn0nIH0sIHN0YWNrTmFtZTogXFxgJHt0aGlzLnN0YWNrUHJlZml4fSR7c2VwfVxcJHtzdGFnZU5hbWV9XFxgLCBzdGFnZU5hbWUgfSk7XG4gICAgfVxuYDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzKSB7XG4gICAgICBwcm9wc0NvZGUgKz0gYCAgLyoqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgZmVhdHVyZSBzdGFjay4gKi9cbiAgcHJvdmlkZUZlYXR1cmVTdGFjazogKGFwcDogQXBwLCBzdGFja0lkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZUFwcFN0YWNrUHJvcHMpID0+IFN0YWNrO1xuYDtcbiAgICAgIGFwcENvZGUgKz0gYCAgICAvLyBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQlJBTkNIIGlzIHNldCBhbmQgYSBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY3JlYXRpbmcgYSBmZWF0dXJlIHN0YWNrLCBpdCBpcyBjYWxsZWQgd2l0aCBuZWNlc3NhcnkgYXJndW1lbnRzLlxuICAgIGlmIChwcm9wcy5wcm92aWRlRmVhdHVyZVN0YWNrICYmIHByb2Nlc3MuZW52LkJSQU5DSCkge1xuICAgICAgY29uc3Qgc3RhZ2VOYW1lID0gJ2ZlYXR1cmUtJyArIHByb2Nlc3MuZW52LkJSQU5DSC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcXFxcXC8vZywgJy0nKTtcbiAgICAgIHByb3BzLnByb3ZpZGVGZWF0dXJlU3RhY2sodGhpcywgJyR7dGhpcy5zdGFja1ByZWZpeH0ke3NlcH1mZWF0dXJlJywgeyBlbnY6IHsgYWNjb3VudDogJyR7dGhpcy5iYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzLmVudi5hY2NvdW50fScsIHJlZ2lvbjogJyR7dGhpcy5iYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzLmVudi5yZWdpb259JyB9LCBzdGFja05hbWU6IFxcYCR7dGhpcy5zdGFja1ByZWZpeH0ke3NlcH1cXCR7c3RhZ2VOYW1lfVxcYCwgc3RhZ2VOYW1lIH0pO1xuICAgIH1cbmA7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiB0aGlzLmJhc2VPcHRpb25zLnN0YWdlcykge1xuICAgICAgY29uc3QgbmFtZVVwcGVyRmlyc3QgPSB0aGlzLmNyZWF0ZVNhZmVTdGFnZU5hbWUoc3RhZ2UubmFtZSk7XG5cbiAgICAgIHByb3BzQ29kZSArPSBgICAvKiogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgYSAke3N0YWdlLm5hbWV9IHN0YWNrLiAqL1xuICBwcm92aWRlJHtuYW1lVXBwZXJGaXJzdH1TdGFjazogKGFwcDogQXBwLCBzdGFja0lkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZUFwcFN0YWNrUHJvcHMpID0+IFN0YWNrO1xuYDtcbiAgICAgIGFwcENvZGUgKz0gYCAgICAvLyBJZiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGZvciBjcmVhdGluZyBhICR7c3RhZ2UubmFtZX0gc3RhY2ssIGl0IGlzIGNhbGxlZCB3aXRoIG5lY2Vzc2FyeSBhcmd1bWVudHMuXG4gICAgaWYgKHByb3BzLnByb3ZpZGUke25hbWVVcHBlckZpcnN0fVN0YWNrKSB7XG4gICAgICBwcm9wcy5wcm92aWRlJHtuYW1lVXBwZXJGaXJzdH1TdGFjayh0aGlzLCAnJHt0aGlzLnN0YWNrUHJlZml4fSR7c2VwfSR7c3RhZ2UubmFtZX0nLCB7IGVudjogeyBhY2NvdW50OiAnJHtzdGFnZS5lbnYuYWNjb3VudH0nLCByZWdpb246ICcke3N0YWdlLmVudi5yZWdpb259JyB9LCBzdGFja05hbWU6ICcke3RoaXMuc3RhY2tQcmVmaXh9JHtzZXB9JHtzdGFnZS5uYW1lfScsIHN0YWdlTmFtZTogJyR7c3RhZ2UubmFtZX0nIH0pO1xuICAgIH1cbmA7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiAodGhpcy5iYXNlT3B0aW9ucy5pbmRlcGVuZGVudFN0YWdlcyA/PyBbXSkpIHtcbiAgICAgIGNvbnN0IG5hbWVVcHBlckZpcnN0ID0gdGhpcy5jcmVhdGVTYWZlU3RhZ2VOYW1lKHN0YWdlLm5hbWUpO1xuXG4gICAgICBwcm9wc0NvZGUgKz0gYCAgLyoqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgJHtzdGFnZS5uYW1lfSBzdGFjay4gKi9cbiAgcHJvdmlkZSR7bmFtZVVwcGVyRmlyc3R9U3RhY2s6IChhcHA6IEFwcCwgc3RhY2tJZDogc3RyaW5nLCBwcm9wczogUGlwZWxpbmVBcHBTdGFja1Byb3BzKSA9PiBTdGFjaztcbmA7XG4gICAgICBhcHBDb2RlICs9IGAgICAgLy8gSWYgYSBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY3JlYXRpbmcgYSAke3N0YWdlLm5hbWV9IHN0YWNrLCBpdCBpcyBjYWxsZWQgd2l0aCBuZWNlc3NhcnkgYXJndW1lbnRzLlxuICAgIGlmIChwcm9wcy5wcm92aWRlJHtuYW1lVXBwZXJGaXJzdH1TdGFjaykge1xuICAgICAgcHJvcHMucHJvdmlkZSR7bmFtZVVwcGVyRmlyc3R9U3RhY2sodGhpcywgJyR7dGhpcy5zdGFja1ByZWZpeH0ke3NlcH0ke3N0YWdlLm5hbWV9JywgeyBlbnY6IHsgYWNjb3VudDogJyR7c3RhZ2UuZW52LmFjY291bnR9JywgcmVnaW9uOiAnJHtzdGFnZS5lbnYucmVnaW9ufScgfSwgc3RhY2tOYW1lOiAnJHt0aGlzLnN0YWNrUHJlZml4fSR7c2VwfSR7c3RhZ2UubmFtZX0nLCBzdGFnZU5hbWU6ICcke3N0YWdlLm5hbWV9JyB9KTtcbiAgICB9XG5gO1xuICAgIH1cblxuICAgIGNvbnN0IGFwcEZpbGUgPSBuZXcgVGV4dEZpbGUodGhpcy5wcm9qZWN0LCBgJHt0aGlzLmFwcC5zcmNkaXJ9L2FwcC50c2ApO1xuICAgIGFwcEZpbGUuYWRkTGluZShgLy8gJHtQUk9KRU5fTUFSS0VSfVxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IEFwcCwgQXBwUHJvcHMsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIFBpcGVsaW5lQXBwUHJvcHMgaXMgYW4gZXh0ZW5zaW9uIG9mIEFwcFByb3BzLCB3aGljaCBpcyBwYXJ0IG9mIHRoZSBBV1MgQ0RLIGNvcmUuXG4gKiBJdCBpbmNsdWRlcyBvcHRpb25hbCBmdW5jdGlvbnMgdG8gcHJvdmlkZSBBV1MgU3RhY2tzIGZvciBkaWZmZXJlbnQgc3RhZ2VzLlxuICpcbiAqIFVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gaW5zdGFudGlhdGUgeW91ciBhcHBsaWNhdGlvbiBzdGFja3Mgd2l0aCB0aGUgcGFyYW1ldGVycyBmb3JcbiAqIGVhY2ggc3RhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZUFwcFByb3BzIGV4dGVuZHMgQXBwUHJvcHMge1xuJHtwcm9wc0NvZGV9XG59XG5cbi8qKlxuICogUGlwZWxpbmVBcHBTdGFja1Byb3BzIGlzIGFuIGV4dGVuc2lvbiBvZiBTdGFja1Byb3BzLCB3aGljaCBpcyBwYXJ0IG9mIHRoZSBBV1MgQ0RLIGNvcmUuXG4gKiBJdCBpbmNsdWRlcyBhbiBhZGRpdGlvbmFsIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIHN0YWdlIG5hbWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVBcHBTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHN0YWdlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBQaXBlbGluZUFwcCBjbGFzcyBleHRlbmRzIHRoZSBBcHAgY2xhc3MgZnJvbSBBV1MgQ0RLIGFuZCBvdmVycmlkZXMgdGhlIGNvbnN0cnVjdG9yIHRvIHN1cHBvcnRcbiAqIGRpZmZlcmVudCBzdGFnZXMgb2YgdGhlIGFwcGxpY2F0aW9uIChkZXZlbG9wbWVudCwgcHJvZHVjdGlvbiwgcGVyc29uYWwsIGZlYXR1cmUpIGJ5IGludm9raW5nIHRoZSBwcm92aWRlZFxuICogc3RhY2stcHJvdmlkaW5nIGZ1bmN0aW9ucyBmcm9tIHRoZSBwcm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBpcGVsaW5lQXBwIGV4dGVuZHMgQXBwIHtcbiAgY29uc3RydWN0b3IocHJvcHM6IFBpcGVsaW5lQXBwUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiR7YXBwQ29kZX1cblxuICB9XG59XG5gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHVwIHRhc2tzIHRvIHB1Ymxpc2ggQ0RLIGFzc2V0cyB0byBhbGwgYWNjb3VudHMgYW5kIGhhbmRsZSB2ZXJzaW9uaW5nLCBpbmNsdWRpbmcgYnVtcGluZyB0aGUgdmVyc2lvblxuICAgKiBiYXNlZCBvbiB0aGUgbGF0ZXN0IGdpdCB0YWcgYW5kIHB1c2hpbmcgdGhlIENESyBhc3NlbWJseSB0byB0aGUgcGFja2FnZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlbGVhc2VUYXNrcygpIHtcbiAgICBjb25zdCBzdGFnZXMgPSBbLi4udGhpcy5iYXNlT3B0aW9ucy5zdGFnZXMsIC4uLnRoaXMuYmFzZU9wdGlvbnMuaW5kZXBlbmRlbnRTdGFnZXMgPz8gW11dO1xuICAgIGxldCBzZXAgPSAnLSc7XG4gICAgaWYgKHRoaXMuc3RhY2tQcmVmaXggPT09ICcnKSB7XG4gICAgICBzZXAgPSAnJztcbiAgICB9XG4gICAgLy8gVGFzayB0byBwdWJsaXNoIHRoZSBDREsgYXNzZXRzIHRvIGFsbCBhY2NvdW50c1xuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygc3RhZ2VzKSB7XG4gICAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgcHVibGlzaDphc3NldHM6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgICAgc3RlcHM6IFt7XG4gICAgICAgICAgZXhlYzogYG5weCBjZGstYXNzZXRzIC1wICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vJHt0aGlzLnN0YWNrUHJlZml4fSR7c2VwfSR7c3RhZ2UubmFtZX0uYXNzZXRzLmpzb24gcHVibGlzaGAsXG4gICAgICAgIH1dLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdwdWJsaXNoOmFzc2V0cycsIHtcbiAgICAgIHN0ZXBzOiBzdGFnZXMubWFwKHN0YWdlID0+ICh7XG4gICAgICAgIHNwYXduOiBgcHVibGlzaDphc3NldHM6JHtzdGFnZS5uYW1lfWAsXG4gICAgICB9KSksXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnYnVtcCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnQnVtcHMgdmVyc2lvbiBiYXNlZCBvbiBsYXRlc3QgZ2l0IHRhZycsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXhlYzogJ3BpcGVsaW5lcy1yZWxlYXNlIGJ1bXAnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZXhlYzogJ2dpdCBwdXNoIC0tdGFncycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdyZWxlYXNlOnB1c2gtYXNzZW1ibHknLCB7XG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXhlYzogYHBpcGVsaW5lcy1yZWxlYXNlIGNyZWF0ZS1tYW5pZmVzdCBcIiR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH1cIiAgXCIke3RoaXMuYmFzZU9wdGlvbnMucGtnTmFtZXNwYWNlfVwiYCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGN3ZDogdGhpcy5hcHAuY2RrQ29uZmlnLmNka291dCxcbiAgICAgICAgICBleGVjOiAnbnBtIHZlcnNpb24gLS1uby1naXQtdGFnLXZlcnNpb24gZnJvbS1naXQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY3dkOiB0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0LFxuICAgICAgICAgIGV4ZWM6ICducG0gcHVibGlzaCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGFza3MgZm9yIHRoZSBwZXJzb25hbCBkZXBsb3ltZW50IHN0YWdlLCBpbmNsdWRpbmcgZGVwbG95bWVudCwgd2F0Y2hpbmcgZm9yIGNoYW5nZXMsXG4gICAqIGNvbXBhcmluZyBjaGFuZ2VzIChkaWZmKSwgYW5kIGRlc3Ryb3lpbmcgdGhlIHN0YWNrIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQZXJzb25hbFN0YWdlKCkge1xuICAgIGNvbnN0IHN0YWNrSWQgPSB0aGlzLmdldENsaVN0YWNrUGF0dGVybigncGVyc29uYWwnKTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnZGVwbG95OnBlcnNvbmFsJywge1xuICAgICAgZXhlYzogYGNkayBkZXBsb3kgLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMtcGVyc29uYWwuanNvbiAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnd2F0Y2g6cGVyc29uYWwnLCB7XG4gICAgICBleGVjOiBgY2RrIGRlcGxveSAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy1wZXJzb25hbC5qc29uIC0td2F0Y2ggLS1ob3Rzd2FwICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkaWZmOnBlcnNvbmFsJywge1xuICAgICAgZXhlYzogYGNkayBkaWZmICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdmYXN0ZGlmZjpwZXJzb25hbCcsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGlmZiAtLW5vLWNoYW5nZXNldCAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnZGVzdHJveTpwZXJzb25hbCcsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGVzdHJveSAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHVwIHRhc2tzIGZvciB0aGUgZmVhdHVyZSBkZXBsb3ltZW50IHN0YWdlLCBpbmNsdWRpbmcgZGVwbG95bWVudCwgY29tcGFyaW5nIGNoYW5nZXMgKGRpZmYpLFxuICAgKiBhbmQgZGVzdHJveWluZyB0aGUgc3RhY2sgd2hlbiBubyBsb25nZXIgbmVlZGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUZlYXR1cmVTdGFnZSgpIHtcbiAgICBjb25zdCBzdGFja0lkID0gdGhpcy5nZXRDbGlTdGFja1BhdHRlcm4oJ2ZlYXR1cmUnKTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnZGVwbG95OmZlYXR1cmUnLCB7XG4gICAgICBleGVjOiBgY2RrIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLWZlYXR1cmUuanNvbiAtLXByb2dyZXNzIGV2ZW50cyAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkaWZmOmZlYXR1cmUnLCB7XG4gICAgICBleGVjOiBgY2RrIGRpZmYgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2Zhc3RkaWZmOmZlYXR1cmUnLCB7XG4gICAgICBleGVjOiBgY2RrIGRpZmYgLS1uby1jaGFuZ2VzZXQgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3k6ZmVhdHVyZScsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGVzdHJveSAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnd2F0Y2g6ZmVhdHVyZScsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGVwbG95IC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLWZlYXR1cmUuanNvbiAtLXdhdGNoIC0taG90c3dhcCAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHVwIHRhc2tzIGZvciB0aGUgZ2VuZXJhbCBwaXBlbGluZSBzdGFnZXMgKGRldiwgcHJvZCksIGluY2x1ZGluZyBkZXBsb3ltZW50IGFuZCBjb21wYXJpbmcgY2hhbmdlcyAoZGlmZikuXG4gICAqIEBwYXJhbSB7RGVwbG95U3RhZ2VPcHRpb25zfSBzdGFnZSAtIFRoZSBzdGFnZSB0byBjcmVhdGVcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQaXBlbGluZVN0YWdlKHN0YWdlOiBEZXBsb3ltZW50U3RhZ2UpIHtcbiAgICBjb25zdCBzdGFja0lkID0gdGhpcy5nZXRDbGlTdGFja1BhdHRlcm4oc3RhZ2UubmFtZSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soYGRlcGxveToke3N0YWdlLm5hbWV9YCwge1xuICAgICAgZXhlYzogYGNkayAtLWFwcCAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9IC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbiAtLXByb2dyZXNzIGV2ZW50cyAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKGBkaWZmOiR7c3RhZ2UubmFtZX1gLCB7XG4gICAgICBleGVjOiBgY2RrIC0tYXBwICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0gZGlmZiAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgZmFzdGRpZmY6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1hcHAgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fSBkaWZmIC0tbm8tY2hhbmdlc2V0ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIGlmIChzdGFnZS53YXRjaGFibGUpIHtcbiAgICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKGB3YXRjaDoke3N0YWdlLm5hbWV9YCwge1xuICAgICAgICBleGVjOiBgY2RrIGRlcGxveSAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb24gLS13YXRjaCAtLWhvdHN3YXAgJHtzdGFja0lkfWAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0YXNrcyBmb3IgdGhlIGluZGVwZW5kZW50IHN0YWdlcyBpbmNsdWRpbmcgZGVwbG95bWVudCBhbmQgY29tcGFyaW5nIGNoYW5nZXMgKGRpZmYpLlxuICAgKiBAcGFyYW0ge05hbWVkU3RhZ2VPcHRpb25zfSBzdGFnZSAtIFRoZSBzdGFnZSB0byBjcmVhdGVcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVJbmRlcGVuZGVudFN0YWdlKHN0YWdlOiBJbmRlcGVuZGVudFN0YWdlKSB7XG4gICAgY29uc3Qgc3RhY2tJZCA9IHRoaXMuZ2V0Q2xpU3RhY2tQYXR0ZXJuKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKGBkZXBsb3k6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1hcHAgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fSAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb24gLS1wcm9ncmVzcyBldmVudHMgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIGRlcGxveSAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgZGlmZjoke3N0YWdlLm5hbWV9YCwge1xuICAgICAgZXhlYzogYGNkayAtLWFwcCAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9IGRpZmYgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soYGZhc3RkaWZmOiR7c3RhZ2UubmFtZX1gLCB7XG4gICAgICBleGVjOiBgY2RrIC0tYXBwICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0gZGlmZiAtLW5vLWNoYW5nZXNldCAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICBpZiAoc3RhZ2Uud2F0Y2hhYmxlKSB7XG4gICAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgd2F0Y2g6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgICAgZXhlYzogYGNkayBkZXBsb3kgLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfS5qc29uIC0td2F0Y2ggLS1ob3Rzd2FwICR7c3RhY2tJZH1gLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldENsaVN0YWNrUGF0dGVybihzdGFnZTogc3RyaW5nKSB7XG4gICAgbGV0IHNlcCA9ICctJztcbiAgICBpZiAodGhpcy5zdGFja1ByZWZpeCA9PT0gJycpIHtcbiAgICAgIHNlcCA9ICcnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlT3B0aW9ucy5kZXBsb3lTdWJTdGFja3MgPyBgJHt0aGlzLnN0YWNrUHJlZml4fSR7c2VwfSR7c3RhZ2V9ICR7dGhpcy5zdGFja1ByZWZpeH0ke3NlcH0ke3N0YWdlfS8qYCA6IGAke3RoaXMuc3RhY2tQcmVmaXh9JHtzZXB9JHtzdGFnZX1gO1xuICB9XG59XG4iXX0=
|
package/lib/awscdk/bash.js
CHANGED
|
@@ -70,5 +70,5 @@ class BashCDKPipeline extends base_1.CDKPipeline {
|
|
|
70
70
|
}
|
|
71
71
|
exports.BashCDKPipeline = BashCDKPipeline;
|
|
72
72
|
_a = JSII_RTTI_SYMBOL_1;
|
|
73
|
-
BashCDKPipeline[_a] = { fqn: "projen-pipelines.BashCDKPipeline", version: "0.2.
|
|
73
|
+
BashCDKPipeline[_a] = { fqn: "projen-pipelines.BashCDKPipeline", version: "0.2.5" };
|
|
74
74
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUEwQztBQUMxQyxpQ0FBc0U7QUFDdEUsc0NBQTJDO0FBTTNDLE1BQWEsZUFBZ0IsU0FBUSxrQkFBVztJQUU5QyxZQUFZLEdBQStCLEVBQUUsT0FBK0I7UUFDMUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUs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QUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyx1QkFBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOztBQXJFSCwwQ0F1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmlsZSwgYXdzY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENka0RpZmZUeXBlLCBDREtQaXBlbGluZSwgQ0RLUGlwZWxpbmVPcHRpb25zIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNoQ0RLUGlwZWxpbmVPcHRpb25zIGV4dGVuZHMgQ0RLUGlwZWxpbmVPcHRpb25zIHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzIEJhc2hDREtQaXBlbGluZSBleHRlbmRzIENES1BpcGVsaW5lIHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBCYXNoQ0RLUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwLCBvcHRpb25zKTtcblxuICAgIGNvbnN0IHJlYWRtZSA9IG5ldyBUZXh0RmlsZSh0aGlzLCAncGlwZWxpbmUubWQnLCB7IGxpbmVzOiBbXSB9KTtcblxuICAgIHJlYWRtZS5hZGRMaW5lKCcjIEhvdyB0byBydW4geW91ciBwaXBlbGluZScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnIyMgQnVpbGQgcGhhc2UnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG5cbiAgICByZWFkbWUuYWRkTGluZSgnU3ludGhlc2l6ZSB5b3VyIENESyBwcm9qZWN0OicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKS50b0Jhc2goKS5jb21tYW5kcy5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLnByb3ZpZGVTeW50aFN0ZXAoKS50b0Jhc2goKS5jb21tYW5kcy5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gICAgcmVhZG1lLmFkZExpbmUoJ1B1Ymxpc2ggYWxsIHlvdXIgQ0RLIGFzc2V0cyBsaWtlIExhbWJkYSBmdW5jdGlvbiBjb2RlIGFuZCBjb250YWluZXIgaW1hZ2VzOicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKS50b0Jhc2goKS5jb21tYW5kcy5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLnByb3ZpZGVBc3NldFVwbG9hZFN0ZXAoKS50b0Jhc2goKS5jb21tYW5kcy5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdJZiB5b3Ugd2FudCB0byBzdG9yZSB5b3VyIGNsb3VkIGFzc2VtYmx5IGFuZCBhc3NldHMgZm9yIGZ1dHVyZSB1c2Ugb3IgY29tcGxpYW5jZSByZWFzb25zLCB1c2U6Jyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYGJhc2gnKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpLnRvQmFzaCgpLmNvbW1hbmRzLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucHJvdmlkZUFzc2V0VXBsb2FkU3RlcCgpLnRvQmFzaCgpLmNvbW1hbmRzLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucHJvdmlkZUFzc2VtYmx5VXBsb2FkU3RlcCgpLnRvQmFzaCgpLmNvbW1hbmRzLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJyMjIERlcGxveW1lbnQgcGhhc2UnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ0ZvciBldmVyeSBzdGFnZSBzb21lIHNjcmlwdHMgYXJlIGdlbmVyYXRlZCBmb3IgZGlmZiBhbmQgZGVwbG95Jyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgcmVhZG1lLmFkZExpbmUoYFN0YWdlOiAke3N0YWdlLm5hbWV9YCk7XG4gICAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgICAgaWYgKHN0YWdlLmRpZmZUeXBlICE9PSBDZGtEaWZmVHlwZS5OT05FKSB7XG4gICAgICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucHJvdmlkZURpZmZTdGVwKHN0YWdlLCBzdGFnZS5kaWZmVHlwZSA9PSBDZGtEaWZmVHlwZS5GQVNUKS50b0Jhc2goKS5jb21tYW5kcy5qb2luKCdcXG4nKX1gKTtcbiAgICAgICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgICAgfVxuICAgICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5wcm92aWRlRGVwbG95U3RlcChzdGFnZSkudG9CYXNoKCkuY29tbWFuZHMuam9pbignXFxuJyl9YCk7XG4gICAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgfVxuXG4gICAgcmVhZG1lLmFkZExpbmUoJ1RoZSBzdGFnZSBgcGVyc29uYWxgIGlzIG1lYW50IHRvIGJlIGRlcGxveWVkIG1hbnVhbGx5IGJ5IHRoZSBkZXZlbG9wZXIgYW5kIGFsc28gaGFzIGEgd2F0Y2ggc2NyaXB0IGZvciBsaXZlIHVwZGF0ZXMuJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYGJhc2gnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkaWZmOnBlcnNvbmFsJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGVwbG95OnBlcnNvbmFsJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGVzdHJveTpwZXJzb25hbCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIHdhdGNoOnBlcnNvbmFsJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnVGhlIHN0YWdlIGBmZWF0dXJlYCBpcyBtZWFudCB0byBiZSBkZXBsb3llZCBmb3IgZmVhdHVyZSBicmFuY2hlcy4nKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRpZmY6ZmVhdHVyZScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRlcGxveTpmZWF0dXJlJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGVzdHJveTpmZWF0dXJlJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcblxuICB9XG5cbiAgcHVibGljIGVuZ2luZVR5cGUoKTogUGlwZWxpbmVFbmdpbmUge1xuICAgIHJldHVybiBQaXBlbGluZUVuZ2luZS5CQVNIO1xuICB9XG5cbn1cbiJdfQ==
|
package/lib/awscdk/github.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare class GithubCDKPipeline extends CDKPipeline {
|
|
|
34
34
|
/** List of deployment stages for the pipeline. */
|
|
35
35
|
private deploymentStages;
|
|
36
36
|
protected useGithubPackages: boolean;
|
|
37
|
+
protected minNodeVersion: string | undefined;
|
|
37
38
|
/**
|
|
38
39
|
* Constructs a new GithubCDKPipeline instance.
|
|
39
40
|
* @param app - The CDK app associated with this pipeline.
|
package/lib/awscdk/github.js
CHANGED
|
@@ -45,6 +45,7 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
45
45
|
this.needsVersionedArtifacts = options.stages.find(s => s.manualApproval === true) !== undefined;
|
|
46
46
|
;
|
|
47
47
|
this.useGithubPackages = this.needsVersionedArtifacts && (options.useGithubPackagesForAssembly ?? false);
|
|
48
|
+
this.minNodeVersion = app.minNodeVersion;
|
|
48
49
|
if (this.useGithubPackages) {
|
|
49
50
|
app.npmrc.addRegistry('https://npm.pkg.github.com', this.baseOptions.pkgNamespace);
|
|
50
51
|
app.npmrc.addConfig('//npm.pkg.github.com/:_authToken', '${GITHUB_TOKEN}');
|
|
@@ -87,6 +88,11 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
87
88
|
permissions: (0, engines_1.mergeJobPermissions)({
|
|
88
89
|
contents: workflows_model_1.JobPermission.READ,
|
|
89
90
|
}, ...githubSteps.flatMap(s => s.permissions).filter(p => p != undefined)),
|
|
91
|
+
tools: {
|
|
92
|
+
node: {
|
|
93
|
+
version: this.minNodeVersion ?? '20',
|
|
94
|
+
},
|
|
95
|
+
},
|
|
90
96
|
steps: [
|
|
91
97
|
{
|
|
92
98
|
name: 'Checkout',
|
|
@@ -128,6 +134,11 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
128
134
|
packages: workflows_model_1.JobPermission.WRITE,
|
|
129
135
|
},
|
|
130
136
|
}, ...ghSteps.flatMap(s => s.permissions).filter(p => p != undefined)),
|
|
137
|
+
tools: {
|
|
138
|
+
node: {
|
|
139
|
+
version: this.minNodeVersion ?? '20',
|
|
140
|
+
},
|
|
141
|
+
},
|
|
131
142
|
steps: [
|
|
132
143
|
{
|
|
133
144
|
name: 'Checkout',
|
|
@@ -182,6 +193,11 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
182
193
|
permissions: (0, engines_1.mergeJobPermissions)({
|
|
183
194
|
contents: workflows_model_1.JobPermission.READ,
|
|
184
195
|
}, ...steps.flatMap(s => s.permissions).filter(p => p != undefined)),
|
|
196
|
+
tools: {
|
|
197
|
+
node: {
|
|
198
|
+
version: this.minNodeVersion ?? '20',
|
|
199
|
+
},
|
|
200
|
+
},
|
|
185
201
|
steps: [
|
|
186
202
|
{
|
|
187
203
|
name: 'Checkout',
|
|
@@ -224,6 +240,11 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
224
240
|
permissions: (0, engines_1.mergeJobPermissions)({
|
|
225
241
|
contents: workflows_model_1.JobPermission.READ,
|
|
226
242
|
}, ...steps.flatMap(s => s.permissions).filter(p => p != undefined)),
|
|
243
|
+
tools: {
|
|
244
|
+
node: {
|
|
245
|
+
version: this.minNodeVersion ?? '20',
|
|
246
|
+
},
|
|
247
|
+
},
|
|
227
248
|
steps: [
|
|
228
249
|
{
|
|
229
250
|
name: 'Checkout',
|
|
@@ -268,6 +289,11 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
268
289
|
permissions: (0, engines_1.mergeJobPermissions)({
|
|
269
290
|
contents: workflows_model_1.JobPermission.READ,
|
|
270
291
|
}, ...steps.flatMap(s => s.permissions).filter(p => p != undefined)),
|
|
292
|
+
tools: {
|
|
293
|
+
node: {
|
|
294
|
+
version: this.minNodeVersion ?? '20',
|
|
295
|
+
},
|
|
296
|
+
},
|
|
271
297
|
steps: [
|
|
272
298
|
{
|
|
273
299
|
name: 'Checkout',
|
|
@@ -281,5 +307,5 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
|
|
|
281
307
|
}
|
|
282
308
|
exports.GithubCDKPipeline = GithubCDKPipeline;
|
|
283
309
|
_a = JSII_RTTI_SYMBOL_1;
|
|
284
|
-
GithubCDKPipeline[_a] = { fqn: "projen-pipelines.GithubCDKPipeline", version: "0.2.
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx1RUFBa0Y7QUFDbEYsaUNBQTRIO0FBQzVILHNDQUEyQztBQUMzQyx3Q0FBaUQ7QUFDakQsb0NBQTJEO0FBQzNELDREQUFtRjtBQUNuRixvREFBOEQ7QUFFOUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBNkI5Qzs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFZaEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBK0IsRUFBVSxPQUFpQztRQUNwRixLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1QsR0FBRyxPQUFPO1lBQ1YsR0FBRyxPQUFPLENBQUMsNEJBQTRCLElBQUk7Z0JBQ3pDLGVBQWUsRUFBRTtvQkFDZixJQUFJLG9DQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDbEQsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEVBQUU7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFUZ0QsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsa0RBQWtEO1FBQzFDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQW9CdEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM1QjtZQUNELGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENB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QkFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLG1CQUFtQjtnQkFDdEQsR0FBRyxFQUFFO29CQUNILEVBQUUsRUFBRSxNQUFNO29CQUNWLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDOUQ7Z0JBQ0QsV0FBVyxFQUFFLElBQUEsNkJBQW1CLEVBQUM7b0JBQy9CLFFBQVEsRUFBRSwrQkFBYSxDQUFDLElBQUk7aUJBQzdCLEVBQUUsR0FBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQXNCLENBQUM7Z0JBQzFGLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsSUFBSSxFQUFFLHFCQUFxQjtxQkFDNUI7b0JBQ0QsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDL0I7YUFDRixDQUFDLENBQUM7UUFFTCxDQUFDO0lBQ0gsQ0FBQzs7QUF0U0gsOENBdVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEdpdGh1YldvcmtmbG93IH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiwgSm9iUGVybWlzc2lvbnMgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgQ2RrRGlmZlR5cGUsIENES1BpcGVsaW5lLCBDREtQaXBlbGluZU9wdGlvbnMsIERlcGxveW1lbnRTdGFnZSwgSW5kZXBlbmRlbnRTdGFnZSwgTmFtZWRTdGFnZU9wdGlvbnMgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgUGlwZWxpbmVFbmdpbmUgfSBmcm9tICcuLi9lbmdpbmUnO1xuaW1wb3J0IHsgbWVyZ2VKb2JQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgUGlwZWxpbmVTdGVwLCBTaW1wbGVDb21tYW5kU3RlcCB9IGZyb20gJy4uL3N0ZXBzJztcbmltcG9ydCB7IERvd25sb2FkQXJ0aWZhY3RTdGVwLCBVcGxvYWRBcnRpZmFjdFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9hcnRpZmFjdC1zdGVwcyc7XG5pbXBvcnQgeyBHaXRodWJQYWNrYWdlc0xvZ2luU3RlcCB9IGZyb20gJy4uL3N0ZXBzL3JlZ2lzdHJpZXMnO1xuXG5jb25zdCBERUZBVUxUX1JVTk5FUl9UQUdTID0gWyd1YnVudHUtbGF0ZXN0J107XG5cblxuLyoqXG4gKiBFeHRlbnNpb24gb2YgdGhlIGJhc2UgQ0RLUGlwZWxpbmUgb3B0aW9ucyBpbmNsdWRpbmcgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIEdpdEh1Yi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJDREtQaXBlbGluZU9wdGlvbnMgZXh0ZW5kcyBDREtQaXBlbGluZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBydW5uZXIgdGFncyB0byB1c2UgdG8gc2VsZWN0IHJ1bm5lcnNcbiAgICpcbiAgICogQGRlZmF1bHQgWyd1YnVudHUtbGF0ZXN0J11cbiAgICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBzdHJpbmdbXTtcblxuICAvKiogdXNlIEdpdEh1YiBQYWNrYWdlcyB0byBzdG9yZSB2ZXNpb25lZCBhcnRpZmFjdHMgb2YgY2xvdWQgYXNzZW1ibHk7IGFsc28gbmVlZGVkIGZvciBtYW51YWwgYXBwcm92YWxzICovXG4gIHJlYWRvbmx5IHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiB3aGV0aGVyIHRvIHVzZSBHaXRIdWIgZW52aXJvbm1lbnRzIGZvciBkZXBsb3ltZW50IHN0YWdlc1xuICAgKlxuICAgKiBJTkZPOiBXaGVuIHVzaW5nIGVudmlyb25tZW50cyBjb25zaWRlciBwcm90ZWN0aW9uIHJ1bGVzIGluc3RlYWQgb2YgdXNpbmcgdGhlIG1hbnVhbCBvcHRpb24gb2YgcHJvamVuLXBpcGVsaW5lcyBmb3Igc3RhZ2VzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB1c2VHaXRodWJFbnZpcm9ubWVudHM/OiBib29sZWFuO1xufVxuXG5cbi8qKlxuICogSW1wbGVtZW50cyBhIENESyBQaXBlbGluZSBjb25maWd1cmVkIHNwZWNpZmljYWxseSBmb3IgR2l0SHViIHdvcmtmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdpdGh1YkNES1BpcGVsaW5lIGV4dGVuZHMgQ0RLUGlwZWxpbmUge1xuXG4gIC8qKiBJbmRpY2F0ZXMgaWYgdmVyc2lvbmVkIGFydGlmYWN0cyBhcmUgbmVlZGVkIGJhc2VkIG9uIG1hbnVhbCBhcHByb3ZhbCByZXF1aXJlbWVudHMuICovXG4gIHB1YmxpYyByZWFkb25seSBuZWVkc1ZlcnNpb25lZEFydGlmYWN0czogYm9vbGVhbjtcblxuICAvKiogVGhlIEdpdEh1YiB3b3JrZmxvdyBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLiAqL1xuICBwcml2YXRlIGRlcGxveW1lbnRXb3JrZmxvdzogR2l0aHViV29ya2Zsb3c7XG4gIC8qKiBMaXN0IG9mIGRlcGxveW1lbnQgc3RhZ2VzIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHByaXZhdGUgZGVwbG95bWVudFN0YWdlczogc3RyaW5nW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgdXNlR2l0aHViUGFja2FnZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgR2l0aHViQ0RLUGlwZWxpbmUgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBhcHAgLSBUaGUgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwaXBlbGluZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGFwcDogYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByaXZhdGUgb3B0aW9uczogR2l0aHViQ0RLUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucy51c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5ICYmIHtcbiAgICAgICAgcHJlSW5zdGFsbFN0ZXBzOiBbXG4gICAgICAgICAgbmV3IEdpdGh1YlBhY2thZ2VzTG9naW5TdGVwKGFwcCwgeyB3cml0ZTogZmFsc2UgfSksXG4gICAgICAgICAgLi4ub3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGVwbG95bWVudCB3b3JrZmxvdyBvbiBHaXRIdWIuXG4gICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cgPSB0aGlzLmFwcC5naXRodWIhLmFkZFdvcmtmbG93KCdkZXBsb3knKTtcbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5vbih7XG4gICAgICBwdXNoOiB7XG4gICAgICAgIGJyYW5jaGVzOiBbdGhpcy5icmFuY2hOYW1lXSxcbiAgICAgIH0sXG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICB9KTtcblxuICAgIC8vIERldGVybWluZSBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSBuZWNlc3NhcnkuXG4gICAgdGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cyA9IG9wdGlvbnMuc3RhZ2VzLmZpbmQocyA9PiBzLm1hbnVhbEFwcHJvdmFsID09PSB0cnVlKSAhPT0gdW5kZWZpbmVkOztcbiAgICB0aGlzLnVzZUdpdGh1YlBhY2thZ2VzID0gdGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cyAmJiAob3B0aW9ucy51c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5ID8/IGZhbHNlKTtcblxuICAgIGlmICh0aGlzLnVzZUdpdGh1YlBhY2thZ2VzKSB7XG4gICAgICBhcHAubnBtcmMuYWRkUmVnaXN0cnkoJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJywgdGhpcy5iYXNlT3B0aW9ucy5wa2dOYW1lc3BhY2UpO1xuICAgICAgYXBwLm5wbXJjLmFkZENvbmZpZygnLy9ucG0ucGtnLmdpdGh1Yi5jb20vOl9hdXRoVG9rZW4nLCAnJHtHSVRIVUJfVE9LRU59Jyk7XG4gICAgICBhcHAubnBtcmMuYWRkQ29uZmlnKCcvL25wbS5wa2cuZ2l0aHViLmNvbS86YWx3YXlzLWF1dGgnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBqb2JzIGZvciBzeW50aGVzaXppbmcsIGFzc2V0IHVwbG9hZGluZywgYW5kIGRlcGxveW1lbnQuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiAob3B0aW9ucy5pbmRlcGVuZGVudFN0YWdlcyA/PyBbXSkpIHtcbiAgICAgIHRoaXMuY3JlYXRlSW5kZXBlbmRlbnREZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKiogdGhlIHR5cGUgb2YgZW5naW5lIHRoaXMgaW1wbGVtZW50YXRpb24gb2YgQ0RLUGlwZWxpbmUgaXMgZm9yICovXG4gIHB1YmxpYyBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lIHtcbiAgICByZXR1cm4gUGlwZWxpbmVFbmdpbmUuR0lUSFVCO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzeW50aGVzaXMgam9iIGZvciB0aGUgcGlwZWxpbmUgdXNpbmcgR2l0SHViIEFjdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVN5bnRoKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXBzOiBQaXBlbGluZVN0ZXBbXSA9IFtdO1xuICAgIHN0ZXBzLnB1c2godGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSk7XG4gICAgc3RlcHMucHVzaCh0aGlzLnByb3ZpZGVTeW50aFN0ZXAoKSk7XG5cbiAgICBzdGVwcy5wdXNoKG5ldyBVcGxvYWRBcnRpZmFjdFN0ZXAodGhpcy5wcm9qZWN0LCB7XG4gICAgICBuYW1lOiAnY2xvdWQtYXNzZW1ibHknLFxuICAgICAgcGF0aDogYCR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vYCxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBnaXRodWJTdGVwcyA9IHN0ZXBzLm1hcChzID0+IHMudG9HaXRodWIoKSk7XG5cbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5hZGRKb2IoJ3N5bnRoJywge1xuICAgICAgbmFtZTogJ1N5bnRoIENESyBhcHBsaWNhdGlvbicsXG4gICAgICBydW5zT246IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzID8/IERFRkFVTFRfUlVOTkVSX1RBR1MsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQ0k6ICd0cnVlJyxcbiAgICAgICAgLi4uZ2l0aHViU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgIH0sXG4gICAgICBuZWVkczogWy4uLmdpdGh1YlN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKV0sXG4gICAgICBwZXJtaXNzaW9uczogbWVyZ2VKb2JQZXJtaXNzaW9ucyh7XG4gICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICB9LCAuLi4oZ2l0aHViU3RlcHMuZmxhdE1hcChzID0+IHMucGVybWlzc2lvbnMpLmZpbHRlcihwID0+IHAgIT0gdW5kZWZpbmVkKSBhcyBKb2JQZXJtaXNzaW9uc1tdKSksXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmdpdGh1YlN0ZXBzLmZsYXRNYXAocyA9PiBzLnN0ZXBzKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGpvYiB0byB1cGxvYWQgYXNzZXRzIHRvIEFXUyBhcyBwYXJ0IG9mIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVBc3NldFVwbG9hZCgpOiB2b2lkIHtcblxuICAgIGNvbnN0IHN0ZXBzID0gW1xuICAgICAgbmV3IFNpbXBsZUNvbW1hbmRTdGVwKHRoaXMucHJvamVjdCwgWydnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcImdpdGh1Yi1hY3Rpb25zXCIgJiYgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiZ2l0aHViLWFjdGlvbnNAZ2l0aHViLmNvbVwiJ10pLFxuICAgICAgbmV3IERvd25sb2FkQXJ0aWZhY3RTdGVwKHRoaXMucHJvamVjdCwge1xuICAgICAgICBuYW1lOiAnY2xvdWQtYXNzZW1ibHknLFxuICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgfSksXG4gICAgICB0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpLFxuICAgICAgdGhpcy5wcm92aWRlQXNzZXRVcGxvYWRTdGVwKCksXG4gICAgXTtcblxuICAgIGlmICh0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzKSB7XG4gICAgICBzdGVwcy5wdXNoKHRoaXMucHJvdmlkZUFzc2VtYmx5VXBsb2FkU3RlcCgpKTtcbiAgICB9XG5cbiAgICBjb25zdCBnaFN0ZXBzID0gc3RlcHMubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIHRoaXMuZGVwbG95bWVudFdvcmtmbG93LmFkZEpvYignYXNzZXRVcGxvYWQnLCB7XG4gICAgICBuYW1lOiAnUHVibGlzaCBhc3NldHMgdG8gQVdTJyxcbiAgICAgIG5lZWRzOiBbJ3N5bnRoJywgLi4uZ2hTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyldLFxuICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgZW52OiB7XG4gICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgIC4uLmdoU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgIH0sXG4gICAgICBwZXJtaXNzaW9uczogbWVyZ2VKb2JQZXJtaXNzaW9ucyh7XG4gICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIGNvbnRlbnRzOiB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID8gSm9iUGVybWlzc2lvbi5XUklURSA6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIH0sXG4gICAgICB9LCAuLi4oZ2hTdGVwcy5mbGF0TWFwKHMgPT4gcy5wZXJtaXNzaW9ucykuZmlsdGVyKHAgPT4gcCAhPSB1bmRlZmluZWQpIGFzIEpvYlBlcm1pc3Npb25zW10pKSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnZmV0Y2gtZGVwdGgnOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmdoU3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgam9iIHRvIGRlcGxveSB0aGUgQ0RLIGFwcGxpY2F0aW9uIHRvIEFXUy5cbiAgICogQHBhcmFtIHN0YWdlIC0gVGhlIGRlcGxveW1lbnQgc3RhZ2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuXG4gICAgaWYgKHN0YWdlLm1hbnVhbEFwcHJvdmFsID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBzdGVwcyA9IFtcbiAgICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgICAgbmV3IFNpbXBsZUNvbW1hbmRTdGVwKHRoaXMucHJvamVjdCwgdGhpcy5yZW5kZXJJbnN0YWxsUGFja2FnZUNvbW1hbmRzKGAke3RoaXMuYmFzZU9wdGlvbnMucGtnTmFtZXNwYWNlfS8ke3RoaXMuYXBwLm5hbWV9QFxcJHt7Z2l0aHViLmV2ZW50LmlucHV0cy52ZXJzaW9ufX1gKSksXG4gICAgICAgIG5ldyBTaW1wbGVDb21tYW5kU3RlcCh0aGlzLnByb2plY3QsIFtgbXYgLi9ub2RlX21vZHVsZXMvJHt0aGlzLmJhc2VPcHRpb25zLnBrZ05hbWVzcGFjZX0vJHt0aGlzLmFwcC5uYW1lfSAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YF0pLFxuICAgICAgICB0aGlzLnByb3ZpZGVEZXBsb3lTdGVwKHN0YWdlKSxcbiAgICAgICAgbmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICBuYW1lOiBgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgICAgcGF0aDogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbmAsXG4gICAgICAgIH0pLFxuICAgICAgXS5tYXAocyA9PiBzLnRvR2l0aHViKCkpO1xuXG4gICAgICAvLyBDcmVhdGUgbmV3IHdvcmtmbG93IGZvciBkZXBsb3ltZW50XG4gICAgICBjb25zdCBzdGFnZVdvcmtmbG93ID0gdGhpcy5hcHAuZ2l0aHViIS5hZGRXb3JrZmxvdyhgcmVsZWFzZS0ke3N0YWdlLm5hbWV9YCk7XG4gICAgICBzdGFnZVdvcmtmbG93Lm9uKHtcbiAgICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge1xuICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1BhY2thZ2UgdmVyc2lvbicsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBzdGFnZVdvcmtmbG93LmFkZEpvYignZGVwbG95Jywge1xuICAgICAgICBuYW1lOiBgUmVsZWFzZSBzdGFnZSAke3N0YWdlLm5hbWV9IHRvIEFXU2AsXG4gICAgICAgIG5lZWRzOiBzdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksXG4gICAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLnVzZUdpdGh1YkVudmlyb25tZW50cyAmJiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgICAgLi4uc3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIH0sIC4uLihzdGVwcy5mbGF0TWFwKHMgPT4gcy5wZXJtaXNzaW9ucykuZmlsdGVyKHAgPT4gcCAhPSB1bmRlZmluZWQpIGFzIEpvYlBlcm1pc3Npb25zW10pKSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uc3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3lKb2IodGhpcy5kZXBsb3ltZW50V29ya2Zsb3csIFsuLi4odGhpcy5kZXBsb3ltZW50U3RhZ2VzLmxlbmd0aCA+IDAgPyBbYGRlcGxveS0ke3RoaXMuZGVwbG95bWVudFN0YWdlcy5hdCgtMSkhfWBdIDogW10pXSwgc3RhZ2UpO1xuICAgICAgdGhpcy5kZXBsb3ltZW50U3RhZ2VzLnB1c2goc3RhZ2UubmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZXBsb3lKb2Iod29ya2Zsb3c6IEdpdGh1YldvcmtmbG93LCBqb2JEZXBlbmRlbmNpZXM6IHN0cmluZ1tdLCBzdGFnZTogTmFtZWRTdGFnZU9wdGlvbnMpIHtcbiAgICBjb25zdCBzdGVwcyA9IFtcbiAgICAgIG5ldyBEb3dubG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgcGF0aDogYCR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vYCxcbiAgICAgIH0pLFxuICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgIHRoaXMucHJvdmlkZURlcGxveVN0ZXAoc3RhZ2UpLFxuICAgICAgbmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgbmFtZTogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX1gLFxuICAgICAgICBwYXRoOiBgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfS5qc29uYCxcbiAgICAgIH0pLFxuICAgIF0ubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIC8vIEFkZCBkZXBsb3ltZW50IHRvIENJL0NEIHdvcmtmbG93XG4gICAgd29ya2Zsb3cuYWRkSm9iKGBkZXBsb3ktJHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIG5hbWU6IGBEZXBsb3kgc3RhZ2UgJHtzdGFnZS5uYW1lfSB0byBBV1NgLFxuICAgICAgLi4udGhpcy5vcHRpb25zLnVzZUdpdGh1YkVudmlyb25tZW50cyAmJiB7XG4gICAgICAgIGVudmlyb25tZW50OiBzdGFnZS5uYW1lLFxuICAgICAgfSxcbiAgICAgIG5lZWRzOiBbJ2Fzc2V0VXBsb2FkJywgLi4uc3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLCAuLi5qb2JEZXBlbmRlbmNpZXNdLFxuICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgZW52OiB7XG4gICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgIC4uLnN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICB9LFxuICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSwgLi4uKHN0ZXBzLmZsYXRNYXAocyA9PiBzLnBlcm1pc3Npb25zKS5maWx0ZXIocCA9PiBwICE9IHVuZGVmaW5lZCkgYXMgSm9iUGVybWlzc2lvbnNbXSkpLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5zdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBqb2IgdG8gZGVwbG95IHRoZSBDREsgYXBwbGljYXRpb24gdG8gQVdTLlxuICAgKiBAcGFyYW0gc3RhZ2UgLSBUaGUgaW5kZXBlbmRlbnQgc3RhZ2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUluZGVwZW5kZW50RGVwbG95bWVudChzdGFnZTogSW5kZXBlbmRlbnRTdGFnZSk6IHZvaWQge1xuICAgIGlmIChzdGFnZS5kZXBsb3lPblB1c2ggfHwgdGhpcy5vcHRpb25zLnVzZUdpdGh1YkVudmlyb25tZW50cykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3lKb2IodGhpcy5kZXBsb3ltZW50V29ya2Zsb3csIFtdLCBzdGFnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gW1xuICAgICAgICB0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpLFxuICAgICAgICB0aGlzLnByb3ZpZGVTeW50aFN0ZXAoKSxcbiAgICAgICAgLi4uKChzdGFnZS5kaWZmVHlwZSAhPT0gQ2RrRGlmZlR5cGUuTk9ORSkgPyBbdGhpcy5wcm92aWRlRGlmZlN0ZXAoc3RhZ2UsIHN0YWdlLmRpZmZUeXBlID09PSBDZGtEaWZmVHlwZS5GQVNUKV0gOiBbXSksXG4gICAgICAgIHRoaXMucHJvdmlkZURlcGxveVN0ZXAoc3RhZ2UpLFxuXG4gICAgICAgIG5ldyBVcGxvYWRBcnRpZmFjdFN0ZXAodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgbmFtZTogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX1gLFxuICAgICAgICAgIHBhdGg6IGBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb25gLFxuICAgICAgICB9KSxcbiAgICAgIF0ubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgICAgLy8gQ3JlYXRlIG5ldyB3b3JrZmxvdyBmb3IgZGVwbG95bWVudFxuICAgICAgY29uc3Qgc3RhZ2VXb3JrZmxvdyA9IHRoaXMuYXBwLmdpdGh1YiEuYWRkV29ya2Zsb3coYGRlcGxveS0ke3N0YWdlLm5hbWV9YCk7XG4gICAgICBzdGFnZVdvcmtmbG93Lm9uKHtcbiAgICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge30sXG4gICAgICB9KTtcbiAgICAgIHN0YWdlV29ya2Zsb3cuYWRkSm9iKCdkZXBsb3knLCB7XG4gICAgICAgIG5hbWU6IGBSZWxlYXNlIHN0YWdlICR7c3RhZ2UubmFtZX0gdG8gQVdTYCxcbiAgICAgICAgbmVlZHM6IHN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC4uLnN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHBlcm1pc3Npb25zOiBtZXJnZUpvYlBlcm1pc3Npb25zKHtcbiAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICB9LCAuLi4oc3RlcHMuZmxhdE1hcChzID0+IHMucGVybWlzc2lvbnMpLmZpbHRlcihwID0+IHAgIT0gdW5kZWZpbmVkKSBhcyBKb2JQZXJtaXNzaW9uc1tdKSksXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLnN0ZXBzLmZsYXRNYXAocyA9PiBzLnN0ZXBzKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
310
|
+
GithubCDKPipeline[_a] = { fqn: "projen-pipelines.GithubCDKPipeline", version: "0.2.5" };
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx1RUFBa0Y7QUFDbEYsaUNBQTRIO0FBQzVILHNDQUEyQztBQUMzQyx3Q0FBaUQ7QUFDakQsb0NBQTJEO0FBQzNELDREQUFtRjtBQUNuRixvREFBOEQ7QUFFOUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBNkI5Qzs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFhaEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBK0IsRUFBVSxPQUFpQztRQUNwRixLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1QsR0FBRyxPQUFPO1lBQ1YsR0FBRyxPQUFPLENBQUMsNEJBQTRCLElBQUk7Z0JBQ3pDLGVBQWUsRUFBRTtvQkFDZixJQUFJLG9DQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDbEQsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEVBQUU7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFUZ0QsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFYdEYsa0RBQWtEO1FBQzFDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQXFCdEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM1QjtZQUNELGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENB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ckM7aUJBQ0Y7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMO3dCQUNFLElBQUksRUFBRSxVQUFVO3dCQUNoQixJQUFJLEVBQUUscUJBQXFCO3FCQUM1QjtvQkFDRCxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2lCQUMvQjthQUNGLENBQUMsQ0FBQztRQUVMLENBQUM7SUFDSCxDQUFDOztBQWpVSCw4Q0FrVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgR2l0aHViV29ya2Zsb3cgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uLCBKb2JQZXJtaXNzaW9ucyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBDZGtEaWZmVHlwZSwgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlLCBJbmRlcGVuZGVudFN0YWdlLCBOYW1lZFN0YWdlT3B0aW9ucyB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBQaXBlbGluZUVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBtZXJnZUpvYlBlcm1pc3Npb25zIH0gZnJvbSAnLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBQaXBlbGluZVN0ZXAsIFNpbXBsZUNvbW1hbmRTdGVwIH0gZnJvbSAnLi4vc3RlcHMnO1xuaW1wb3J0IHsgRG93bmxvYWRBcnRpZmFjdFN0ZXAsIFVwbG9hZEFydGlmYWN0U3RlcCB9IGZyb20gJy4uL3N0ZXBzL2FydGlmYWN0LXN0ZXBzJztcbmltcG9ydCB7IEdpdGh1YlBhY2thZ2VzTG9naW5TdGVwIH0gZnJvbSAnLi4vc3RlcHMvcmVnaXN0cmllcyc7XG5cbmNvbnN0IERFRkFVTFRfUlVOTkVSX1RBR1MgPSBbJ3VidW50dS1sYXRlc3QnXTtcblxuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiB0aGUgYmFzZSBDREtQaXBlbGluZSBvcHRpb25zIGluY2x1ZGluZyBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgR2l0SHViLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHJ1bm5lciB0YWdzIHRvIHVzZSB0byBzZWxlY3QgcnVubmVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbJ3VidW50dS1sYXRlc3QnXVxuICAgKi9cbiAgcmVhZG9ubHkgcnVubmVyVGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKiB1c2UgR2l0SHViIFBhY2thZ2VzIHRvIHN0b3JlIHZlc2lvbmVkIGFydGlmYWN0cyBvZiBjbG91ZCBhc3NlbWJseTsgYWxzbyBuZWVkZWQgZm9yIG1hbnVhbCBhcHByb3ZhbHMgKi9cbiAgcmVhZG9ubHkgdXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIHdoZXRoZXIgdG8gdXNlIEdpdEh1YiBlbnZpcm9ubWVudHMgZm9yIGRlcGxveW1lbnQgc3RhZ2VzXG4gICAqXG4gICAqIElORk86IFdoZW4gdXNpbmcgZW52aXJvbm1lbnRzIGNvbnNpZGVyIHByb3RlY3Rpb24gcnVsZXMgaW5zdGVhZCBvZiB1c2luZyB0aGUgbWFudWFsIG9wdGlvbiBvZiBwcm9qZW4tcGlwZWxpbmVzIGZvciBzdGFnZXNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHVzZUdpdGh1YkVudmlyb25tZW50cz86IGJvb2xlYW47XG59XG5cblxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgQ0RLIFBpcGVsaW5lIGNvbmZpZ3VyZWQgc3BlY2lmaWNhbGx5IGZvciBHaXRIdWIgd29ya2Zsb3dzLlxuICovXG5leHBvcnQgY2xhc3MgR2l0aHViQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSBuZWVkZWQgYmFzZWQgb24gbWFudWFsIGFwcHJvdmFsIHJlcXVpcmVtZW50cy4gKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgR2l0SHViIHdvcmtmbG93IGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmUuICovXG4gIHByaXZhdGUgZGVwbG95bWVudFdvcmtmbG93OiBHaXRodWJXb3JrZmxvdztcbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCB1c2VHaXRodWJQYWNrYWdlczogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIG1pbk5vZGVWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgR2l0aHViQ0RLUGlwZWxpbmUgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBhcHAgLSBUaGUgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwaXBlbGluZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGFwcDogYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByaXZhdGUgb3B0aW9uczogR2l0aHViQ0RLUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucy51c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5ICYmIHtcbiAgICAgICAgcHJlSW5zdGFsbFN0ZXBzOiBbXG4gICAgICAgICAgbmV3IEdpdGh1YlBhY2thZ2VzTG9naW5TdGVwKGFwcCwgeyB3cml0ZTogZmFsc2UgfSksXG4gICAgICAgICAgLi4ub3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGVwbG95bWVudCB3b3JrZmxvdyBvbiBHaXRIdWIuXG4gICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cgPSB0aGlzLmFwcC5naXRodWIhLmFkZFdvcmtmbG93KCdkZXBsb3knKTtcbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5vbih7XG4gICAgICBwdXNoOiB7XG4gICAgICAgIGJyYW5jaGVzOiBbdGhpcy5icmFuY2hOYW1lXSxcbiAgICAgIH0sXG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICB9KTtcblxuICAgIC8vIERldGVybWluZSBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSBuZWNlc3NhcnkuXG4gICAgdGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cyA9IG9wdGlvbnMuc3RhZ2VzLmZpbmQocyA9PiBzLm1hbnVhbEFwcHJvdmFsID09PSB0cnVlKSAhPT0gdW5kZWZpbmVkOztcbiAgICB0aGlzLnVzZUdpdGh1YlBhY2thZ2VzID0gdGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cyAmJiAob3B0aW9ucy51c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5ID8/IGZhbHNlKTtcbiAgICB0aGlzLm1pbk5vZGVWZXJzaW9uID0gYXBwLm1pbk5vZGVWZXJzaW9uO1xuXG4gICAgaWYgKHRoaXMudXNlR2l0aHViUGFja2FnZXMpIHtcbiAgICAgIGFwcC5ucG1yYy5hZGRSZWdpc3RyeSgnaHR0cHM6Ly9ucG0ucGtnLmdpdGh1Yi5jb20nLCB0aGlzLmJhc2VPcHRpb25zLnBrZ05hbWVzcGFjZSk7XG4gICAgICBhcHAubnBtcmMuYWRkQ29uZmlnKCcvL25wbS5wa2cuZ2l0aHViLmNvbS86X2F1dGhUb2tlbicsICcke0dJVEhVQl9UT0tFTn0nKTtcbiAgICAgIGFwcC5ucG1yYy5hZGRDb25maWcoJy8vbnBtLnBrZy5naXRodWIuY29tLzphbHdheXMtYXV0aCcsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGpvYnMgZm9yIHN5bnRoZXNpemluZywgYXNzZXQgdXBsb2FkaW5nLCBhbmQgZGVwbG95bWVudC5cbiAgICB0aGlzLmNyZWF0ZVN5bnRoKCk7XG5cbiAgICB0aGlzLmNyZWF0ZUFzc2V0VXBsb2FkKCk7XG5cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIG9wdGlvbnMuc3RhZ2VzKSB7XG4gICAgICB0aGlzLmNyZWF0ZURlcGxveW1lbnQoc3RhZ2UpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIChvcHRpb25zLmluZGVwZW5kZW50U3RhZ2VzID8/IFtdKSkge1xuICAgICAgdGhpcy5jcmVhdGVJbmRlcGVuZGVudERlcGxveW1lbnQoc3RhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiB0aGUgdHlwZSBvZiBlbmdpbmUgdGhpcyBpbXBsZW1lbnRhdGlvbiBvZiBDREtQaXBlbGluZSBpcyBmb3IgKi9cbiAgcHVibGljIGVuZ2luZVR5cGUoKTogUGlwZWxpbmVFbmdpbmUge1xuICAgIHJldHVybiBQaXBlbGluZUVuZ2luZS5HSVRIVUI7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHN5bnRoZXNpcyBqb2IgZm9yIHRoZSBwaXBlbGluZSB1c2luZyBHaXRIdWIgQWN0aW9ucy5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHM6IFBpcGVsaW5lU3RlcFtdID0gW107XG4gICAgc3RlcHMucHVzaCh0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpKTtcbiAgICBzdGVwcy5wdXNoKHRoaXMucHJvdmlkZVN5bnRoU3RlcCgpKTtcblxuICAgIHN0ZXBzLnB1c2gobmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgIG5hbWU6ICdjbG91ZC1hc3NlbWJseScsXG4gICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGdpdGh1YlN0ZXBzID0gc3RlcHMubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIHRoaXMuZGVwbG95bWVudFdvcmtmbG93LmFkZEpvYignc3ludGgnLCB7XG4gICAgICBuYW1lOiAnU3ludGggQ0RLIGFwcGxpY2F0aW9uJyxcbiAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAuLi5naXRodWJTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgfSxcbiAgICAgIG5lZWRzOiBbLi4uZ2l0aHViU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpXSxcbiAgICAgIHBlcm1pc3Npb25zOiBtZXJnZUpvYlBlcm1pc3Npb25zKHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sIC4uLihnaXRodWJTdGVwcy5mbGF0TWFwKHMgPT4gcy5wZXJtaXNzaW9ucykuZmlsdGVyKHAgPT4gcCAhPSB1bmRlZmluZWQpIGFzIEpvYlBlcm1pc3Npb25zW10pKSxcbiAgICAgIHRvb2xzOiB7XG4gICAgICAgIG5vZGU6IHtcbiAgICAgICAgICB2ZXJzaW9uOiB0aGlzLm1pbk5vZGVWZXJzaW9uID8/ICcyMCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5naXRodWJTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBqb2IgdG8gdXBsb2FkIGFzc2V0cyB0byBBV1MgYXMgcGFydCBvZiB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQXNzZXRVcGxvYWQoKTogdm9pZCB7XG5cbiAgICBjb25zdCBzdGVwcyA9IFtcbiAgICAgIG5ldyBTaW1wbGVDb21tYW5kU3RlcCh0aGlzLnByb2plY3QsIFsnZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJnaXRodWItYWN0aW9uc1wiICYmIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcImdpdGh1Yi1hY3Rpb25zQGdpdGh1Yi5jb21cIiddKSxcbiAgICAgIG5ldyBEb3dubG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgcGF0aDogYCR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vYCxcbiAgICAgIH0pLFxuICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgIHRoaXMucHJvdmlkZUFzc2V0VXBsb2FkU3RlcCgpLFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cykge1xuICAgICAgc3RlcHMucHVzaCh0aGlzLnByb3ZpZGVBc3NlbWJseVVwbG9hZFN0ZXAoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZ2hTdGVwcyA9IHN0ZXBzLm1hcChzID0+IHMudG9HaXRodWIoKSk7XG5cbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5hZGRKb2IoJ2Fzc2V0VXBsb2FkJywge1xuICAgICAgbmFtZTogJ1B1Ymxpc2ggYXNzZXRzIHRvIEFXUycsXG4gICAgICBuZWVkczogWydzeW50aCcsIC4uLmdoU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpXSxcbiAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAuLi5naFN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICB9LFxuICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICBjb250ZW50czogdGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cyA/IEpvYlBlcm1pc3Npb24uV1JJVEUgOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIC4uLnRoaXMudXNlR2l0aHViUGFja2FnZXMgJiYge1xuICAgICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICB9LFxuICAgICAgfSwgLi4uKGdoU3RlcHMuZmxhdE1hcChzID0+IHMucGVybWlzc2lvbnMpLmZpbHRlcihwID0+IHAgIT0gdW5kZWZpbmVkKSBhcyBKb2JQZXJtaXNzaW9uc1tdKSksXG4gICAgICB0b29sczoge1xuICAgICAgICBub2RlOiB7XG4gICAgICAgICAgdmVyc2lvbjogdGhpcy5taW5Ob2RlVmVyc2lvbiA/PyAnMjAnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnZmV0Y2gtZGVwdGgnOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmdoU3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgam9iIHRvIGRlcGxveSB0aGUgQ0RLIGFwcGxpY2F0aW9uIHRvIEFXUy5cbiAgICogQHBhcmFtIHN0YWdlIC0gVGhlIGRlcGxveW1lbnQgc3RhZ2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuXG4gICAgaWYgKHN0YWdlLm1hbnVhbEFwcHJvdmFsID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBzdGVwcyA9IFtcbiAgICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgICAgbmV3IFNpbXBsZUNvbW1hbmRTdGVwKHRoaXMucHJvamVjdCwgdGhpcy5yZW5kZXJJbnN0YWxsUGFja2FnZUNvbW1hbmRzKGAke3RoaXMuYmFzZU9wdGlvbnMucGtnTmFtZXNwYWNlfS8ke3RoaXMuYXBwLm5hbWV9QFxcJHt7Z2l0aHViLmV2ZW50LmlucHV0cy52ZXJzaW9ufX1gKSksXG4gICAgICAgIG5ldyBTaW1wbGVDb21tYW5kU3RlcCh0aGlzLnByb2plY3QsIFtgbXYgLi9ub2RlX21vZHVsZXMvJHt0aGlzLmJhc2VPcHRpb25zLnBrZ05hbWVzcGFjZX0vJHt0aGlzLmFwcC5uYW1lfSAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YF0pLFxuICAgICAgICB0aGlzLnByb3ZpZGVEZXBsb3lTdGVwKHN0YWdlKSxcbiAgICAgICAgbmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICBuYW1lOiBgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgICAgcGF0aDogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbmAsXG4gICAgICAgIH0pLFxuICAgICAgXS5tYXAocyA9PiBzLnRvR2l0aHViKCkpO1xuXG4gICAgICAvLyBDcmVhdGUgbmV3IHdvcmtmbG93IGZvciBkZXBsb3ltZW50XG4gICAgICBjb25zdCBzdGFnZVdvcmtmbG93ID0gdGhpcy5hcHAuZ2l0aHViIS5hZGRXb3JrZmxvdyhgcmVsZWFzZS0ke3N0YWdlLm5hbWV9YCk7XG4gICAgICBzdGFnZVdvcmtmbG93Lm9uKHtcbiAgICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge1xuICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1BhY2thZ2UgdmVyc2lvbicsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBzdGFnZVdvcmtmbG93LmFkZEpvYignZGVwbG95Jywge1xuICAgICAgICBuYW1lOiBgUmVsZWFzZSBzdGFnZSAke3N0YWdlLm5hbWV9IHRvIEFXU2AsXG4gICAgICAgIG5lZWRzOiBzdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksXG4gICAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLnVzZUdpdGh1YkVudmlyb25tZW50cyAmJiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgICAgLi4uc3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIH0sIC4uLihzdGVwcy5mbGF0TWFwKHMgPT4gcy5wZXJtaXNzaW9ucykuZmlsdGVyKHAgPT4gcCAhPSB1bmRlZmluZWQpIGFzIEpvYlBlcm1pc3Npb25zW10pKSxcbiAgICAgICAgdG9vbHM6IHtcbiAgICAgICAgICBub2RlOiB7XG4gICAgICAgICAgICB2ZXJzaW9uOiB0aGlzLm1pbk5vZGVWZXJzaW9uID8/ICcyMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uc3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3lKb2IodGhpcy5kZXBsb3ltZW50V29ya2Zsb3csIFsuLi4odGhpcy5kZXBsb3ltZW50U3RhZ2VzLmxlbmd0aCA+IDAgPyBbYGRlcGxveS0ke3RoaXMuZGVwbG95bWVudFN0YWdlcy5hdCgtMSkhfWBdIDogW10pXSwgc3RhZ2UpO1xuICAgICAgdGhpcy5kZXBsb3ltZW50U3RhZ2VzLnB1c2goc3RhZ2UubmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZXBsb3lKb2Iod29ya2Zsb3c6IEdpdGh1YldvcmtmbG93LCBqb2JEZXBlbmRlbmNpZXM6IHN0cmluZ1tdLCBzdGFnZTogTmFtZWRTdGFnZU9wdGlvbnMpIHtcbiAgICBjb25zdCBzdGVwcyA9IFtcbiAgICAgIG5ldyBEb3dubG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgcGF0aDogYCR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vYCxcbiAgICAgIH0pLFxuICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgIHRoaXMucHJvdmlkZURlcGxveVN0ZXAoc3RhZ2UpLFxuICAgICAgbmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgbmFtZTogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX1gLFxuICAgICAgICBwYXRoOiBgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfS5qc29uYCxcbiAgICAgIH0pLFxuICAgIF0ubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIC8vIEFkZCBkZXBsb3ltZW50IHRvIENJL0NEIHdvcmtmbG93XG4gICAgd29ya2Zsb3cuYWRkSm9iKGBkZXBsb3ktJHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIG5hbWU6IGBEZXBsb3kgc3RhZ2UgJHtzdGFnZS5uYW1lfSB0byBBV1NgLFxuICAgICAgLi4udGhpcy5vcHRpb25zLnVzZUdpdGh1YkVudmlyb25tZW50cyAmJiB7XG4gICAgICAgIGVudmlyb25tZW50OiBzdGFnZS5uYW1lLFxuICAgICAgfSxcbiAgICAgIG5lZWRzOiBbJ2Fzc2V0VXBsb2FkJywgLi4uc3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLCAuLi5qb2JEZXBlbmRlbmNpZXNdLFxuICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgZW52OiB7XG4gICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgIC4uLnN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICB9LFxuICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSwgLi4uKHN0ZXBzLmZsYXRNYXAocyA9PiBzLnBlcm1pc3Npb25zKS5maWx0ZXIocCA9PiBwICE9IHVuZGVmaW5lZCkgYXMgSm9iUGVybWlzc2lvbnNbXSkpLFxuICAgICAgdG9vbHM6IHtcbiAgICAgICAgbm9kZToge1xuICAgICAgICAgIHZlcnNpb246IHRoaXMubWluTm9kZVZlcnNpb24gPz8gJzIwJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnN0ZXBzLmZsYXRNYXAocyA9PiBzLnN0ZXBzKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGpvYiB0byBkZXBsb3kgdGhlIENESyBhcHBsaWNhdGlvbiB0byBBV1MuXG4gICAqIEBwYXJhbSBzdGFnZSAtIFRoZSBpbmRlcGVuZGVudCBzdGFnZSB0byBjcmVhdGUuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlSW5kZXBlbmRlbnREZXBsb3ltZW50KHN0YWdlOiBJbmRlcGVuZGVudFN0YWdlKTogdm9pZCB7XG4gICAgaWYgKHN0YWdlLmRlcGxveU9uUHVzaCB8fCB0aGlzLm9wdGlvbnMudXNlR2l0aHViRW52aXJvbm1lbnRzKSB7XG4gICAgICB0aGlzLmNyZWF0ZURlcGxveUpvYih0aGlzLmRlcGxveW1lbnRXb3JrZmxvdywgW10sIHN0YWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RlcHMgPSBbXG4gICAgICAgIHRoaXMucHJvdmlkZUluc3RhbGxTdGVwKCksXG4gICAgICAgIHRoaXMucHJvdmlkZVN5bnRoU3RlcCgpLFxuICAgICAgICAuLi4oKHN0YWdlLmRpZmZUeXBlICE9PSBDZGtEaWZmVHlwZS5OT05FKSA/IFt0aGlzLnByb3ZpZGVEaWZmU3RlcChzdGFnZSwgc3RhZ2UuZGlmZlR5cGUgPT09IENka0RpZmZUeXBlLkZBU1QpXSA6IFtdKSxcbiAgICAgICAgdGhpcy5wcm92aWRlRGVwbG95U3RlcChzdGFnZSksXG5cbiAgICAgICAgbmV3IFVwbG9hZEFydGlmYWN0U3RlcCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICBuYW1lOiBgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgICAgcGF0aDogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbmAsXG4gICAgICAgIH0pLFxuICAgICAgXS5tYXAocyA9PiBzLnRvR2l0aHViKCkpO1xuXG4gICAgICAvLyBDcmVhdGUgbmV3IHdvcmtmbG93IGZvciBkZXBsb3ltZW50XG4gICAgICBjb25zdCBzdGFnZVdvcmtmbG93ID0gdGhpcy5hcHAuZ2l0aHViIS5hZGRXb3JrZmxvdyhgZGVwbG95LSR7c3RhZ2UubmFtZX1gKTtcbiAgICAgIHN0YWdlV29ya2Zsb3cub24oe1xuICAgICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICAgIH0pO1xuICAgICAgc3RhZ2VXb3JrZmxvdy5hZGRKb2IoJ2RlcGxveScsIHtcbiAgICAgICAgbmFtZTogYFJlbGVhc2Ugc3RhZ2UgJHtzdGFnZS5uYW1lfSB0byBBV1NgLFxuICAgICAgICBuZWVkczogc3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLFxuICAgICAgICBydW5zT246IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzID8/IERFRkFVTFRfUlVOTkVSX1RBR1MsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgICAgLi4uc3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IG1lcmdlSm9iUGVybWlzc2lvbnMoe1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIH0sIC4uLihzdGVwcy5mbGF0TWFwKHMgPT4gcy5wZXJtaXNzaW9ucykuZmlsdGVyKHAgPT4gcCAhPSB1bmRlZmluZWQpIGFzIEpvYlBlcm1pc3Npb25zW10pKSxcbiAgICAgICAgdG9vbHM6IHtcbiAgICAgICAgICBub2RlOiB7XG4gICAgICAgICAgICB2ZXJzaW9uOiB0aGlzLm1pbk5vZGVWZXJzaW9uID8/ICcyMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uc3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/lib/awscdk/gitlab.js
CHANGED
|
@@ -244,5 +244,5 @@ awslogin() {
|
|
|
244
244
|
}
|
|
245
245
|
exports.GitlabCDKPipeline = GitlabCDKPipeline;
|
|
246
246
|
_a = JSII_RTTI_SYMBOL_1;
|
|
247
|
-
GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.2.
|
|
247
|
+
GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.2.5" };
|
|
248
248
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRsYWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFDeEMsaUNBQXlHO0FBQ3pHLHNDQUEyQztBQWdDM0M7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFjaEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEK0IsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsNENBQTRDO1FBQ3BDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQVl0Qyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLDZDQUE2QyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxD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QUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUN0RTtTQUNGLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyx1QkFBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDOztBQXZRSCw4Q0F5UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NjZGssIGdpdGxhYiB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDZGtEaWZmVHlwZSwgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlLCBJbmRlcGVuZGVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IFBpcGVsaW5lU3RlcCB9IGZyb20gJy4uL3N0ZXBzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBHaXRMYWIgcnVubmVyIHRhZ3MgdXNlZCB3aXRoaW4gdGhlIENJL0NEIHBpcGVsaW5lIGZvciB2YXJpb3VzIHN0YWdlcy5cbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWZ5aW5nIGRpZmZlcmVudCBydW5uZXJzIGJhc2VkIG9uIHRoZSB0YWdzIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJSdW5uZXJUYWdzIHtcbiAgLyoqIERlZmF1bHQgcnVubmVyIHRhZ3MgdXNlZCBpZiBzcGVjaWZpYyBzdGFnZSB0YWdzIGFyZSBub3QgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmdbXTtcbiAgLyoqIFJ1bm5lciB0YWdzIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZ1tdO1xuICAvKiogUnVubmVyIHRhZ3MgZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmdbXTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGlmZiBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRpZmY/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGVwbG95bWVudCBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgR2l0TGFiIENESyBwaXBlbGluZSwgZXh0ZW5kaW5nIHRoZSBiYXNlIENESyBwaXBlbGluZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8qKiBSdW5uZXIgdGFncyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBHaXRsYWJSdW5uZXJUYWdzO1xuICAvKiogVGhlIERvY2tlciBpbWFnZSB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHBpcGVsaW5lIGpvYnMuICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIHJlYWRvbmx5IHB1Ymxpc2hlZENsb3VkQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEdpdGxhYkNES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgQ0RLUGlwZWxpbmUgdG8gcHJvdmlkZSBhIHdheSB0byBjb25maWd1cmUgYW5kIGV4ZWN1dGVcbiAqIEFXUyBDREsgZGVwbG95bWVudCBwaXBlbGluZXMgd2l0aGluIEdpdExhYiBDSS9DRCBlbnZpcm9ubWVudHMuIEl0IGludGVncmF0ZXMgSUFNIHJvbGUgbWFuYWdlbWVudCxcbiAqIHJ1bm5lciBjb25maWd1cmF0aW9uLCBhbmQgZGVmaW5lcyBzdGFnZXMgYW5kIGpvYnMgZm9yIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93LlxuICovXG5leHBvcnQgY2xhc3MgR2l0bGFiQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSByZXF1aXJlZC4gQ3VycmVudGx5IHNldCB0byBmYWxzZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgRG9ja2VyIGltYWdlIHVzZWQgZm9yIHBpcGVsaW5lIGpvYnMuIERlZmF1bHRzIHRvIGEgc3BlY2lmaWVkIGltYWdlIG9yIGEgZGVmYXVsdCB2YWx1ZS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkltYWdlOiBzdHJpbmc7XG5cbiAgLyoqIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uIG9iamVjdC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgYXMgc3RyaW5ncy4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGluc3RhbmNlIG9mIEdpdGxhYkNES1BpcGVsaW5lLCBpbml0aWFsaXppbmcgdGhlIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uXG4gICAqIGFuZCBzZXR0aW5nIHVwIHRoZSBuZWNlc3Nhcnkgc3RhZ2VzIGFuZCBqb2JzIGZvciBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHB9IGFwcCAtIFRoZSBBV1MgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0ge0dpdGxhYkNES1BpcGVsaW5lT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRsYWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIG9wdGlvbnMpO1xuXG4gICAgLy8gVE9ETyB1c2UgZXhpc3RpbmcgY29uZmlnIGlmIHBvc3NpYmxlXG4gICAgdGhpcy5jb25maWcgPSBuZXcgZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb24oYXBwLCB7XG4gICAgICBzdGFnZXM6IFtdLFxuICAgICAgam9iczoge30sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gZmFsc2U7IC8vIG9wdGlvbnMucHVibGlzaGVkQ2xvdWRBc3NlbWJsaWVzID8/IGZhbHNlO1xuICAgIHRoaXMuam9iSW1hZ2UgPSBvcHRpb25zLmltYWdlID8/ICdpbWFnZToganNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW0tbm9kZTE4JztcblxuICAgIHRoaXMuc2V0dXBTbmlwcGV0cygpO1xuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIChvcHRpb25zLmluZGVwZW5kZW50U3RhZ2VzID8/IFtdKSkge1xuICAgICAgdGhpcy5jcmVhdGVJbmRlcGVuZGVudERlcGxveW1lbnQoc3RhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGJhc2Ugam9iIHNuaXBwZXRzIGZvciBhcnRpZmFjdCBoYW5kbGluZyBhbmQgQVdTIGNvbmZpZ3VyYXRpb24uXG4gICAqIFRoaXMgbWV0aG9kIGRlZmluZXMgcmV1c2FibGUgam9iIGNvbmZpZ3VyYXRpb25zIHRvIGJlIGV4dGVuZGVkIGJ5IHNwZWNpZmljIHBpcGVsaW5lIGpvYnMsXG4gICAqIGZhY2lsaXRhdGluZyBhcnRpZmFjdCBjYWNoaW5nIGFuZCBBV1MgYXV0aGVudGljYXRpb24gc2V0dXAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0dXBTbmlwcGV0cygpIHtcbiAgICB0aGlzLmNvbmZpZy5hZGRKb2JzKHtcbiAgICAgICcuYXJ0aWZhY3RzX2Nkayc6IHtcbiAgICAgICAgYXJ0aWZhY3RzOiB7XG4gICAgICAgICAgd2hlbjogZ2l0bGFiLkNhY2hlV2hlbi5PTl9TVUNDRVNTLFxuICAgICAgICAgIGV4cGlyZUluOiAnMzAgZGF5cycsXG4gICAgICAgICAgbmFtZTogJ0NESyBBc3NlbWJseSAtICRDSV9KT0JfTkFNRS0kQ0lfQ09NTUlUX1JFRl9TTFVHJyxcbiAgICAgICAgICB1bnRyYWNrZWQ6IGZhbHNlLFxuICAgICAgICAgIHBhdGhzOiBbJ2Nkay5vdXQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnLmFydGlmYWN0c19jZGtkZXBsb3knOiB7XG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5DYWNoZVdoZW4uT05fU1VDQ0VTUyxcbiAgICAgICAgICBleHBpcmVJbjogJzMwIGRheXMnLFxuICAgICAgICAgIG5hbWU6ICdDREsgT3V0cHV0cyAtICRDSV9KT0JfTkFNRS0kQ0lfQ09NTUlUX1JFRl9TTFVHJyxcbiAgICAgICAgICB1bnRyYWNrZWQ6IGZhbHNlLFxuICAgICAgICAgIHBhdGhzOiBbJ2Nkay1vdXRwdXRzLSouanNvbiddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgICcuYXdzX2Jhc2UnOiB7XG4gICAgICAgIGltYWdlOiB7IG5hbWU6IHRoaXMuam9iSW1hZ2UgfSxcbiAgICAgICAgaWRUb2tlbnM6IHtcbiAgICAgICAgICBBV1NfVE9LRU46IHtcbiAgICAgICAgICAgIGF1ZDogJ2h0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgICAgLy8gTlBNX1JFR0lTVFJZOiAneHh4J1xuICAgICAgICB9LFxuICAgICAgICBiZWZvcmVTY3JpcHQ6IFtcbiAgICAgICAgICBgY2hlY2tfdmFyaWFibGVzX2RlZmluZWQoKSB7XG4gIGZvciB2YXIgaW4gXCIkQFwiOyBkb1xuICAgIGlmIFsgLXogXCIkKGV2YWwgXCJlY2hvIFxcXFwkJHZhclwiKVwiIF07IHRoZW5cbiAgICAgIGxvZ19mYXRhbCBcIlxcJHt2YXJ9IG5vdCBkZWZpbmVkXCI7XG4gICAgZmlcbiAgZG9uZVxufVxuXG5hd3Nsb2dpbigpIHtcbiAgcm9sZUFybj1cXCR7MTogLVxcJHtBV1NfUk9MRV9BUk59fVxuICBzZXNzaW9uTmFtZT1cXCR7MjotR2l0TGFiUnVubmVyLVxcJHtDSV9QUk9KRUNUX0lEfS1cXCR7Q0lfUElQRUxJTkVfSUR9fVxuICBjaGVja192YXJpYWJsZXNfZGVmaW5lZCByb2xlQXJuIEFXU19UT0tFTlxuICBleHBvcnQgJChwcmludGYgXCJBV1NfQUNDRVNTX0tFWV9JRD0lcyBBV1NfU0VDUkVUX0FDQ0VTU19LRVk9JXMgQVdTX1NFU1NJT05fVE9LRU49JXNcIiAkKGF3cyBzdHMgYXNzdW1lLXJvbGUtd2l0aC13ZWItaWRlbnRpdHkgLS1yb2xlLWFybiBcXCR7cm9sZUFybn0gLS1yb2xlLXNlc3Npb24tbmFtZSBcIlxcJHtzZXNzaW9uTmFtZX1cIiAtLXdlYi1pZGVudGl0eS10b2tlbiBcXCR7QVdTX1RPS0VOfSAtLWR1cmF0aW9uLXNlY29uZHMgMzYwMCAtLXF1ZXJ5ICdDcmVkZW50aWFscy5bQWNjZXNzS2V5SWQsU2VjcmV0QWNjZXNzS2V5LFNlc3Npb25Ub2tlbl0nIC0tb3V0cHV0IHRleHQpKVxuICAjIFRPRE8gQ09ERSBBUlRJRkFDVFxufVxuYCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgJ3N5bnRoJyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUgdG8gc3ludGhlc2l6ZSBBV1MgQ0RLIGFwcGxpY2F0aW9ucy5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyB0aGUgam9iIHRvIGV4ZWN1dGUgQ0RLIHN5bnRoZXNpcywgYXBwbHlpbmcgdGhlIGFwcHJvcHJpYXRlIElBTSByb2xlXG4gICAqIGZvciBBV1MgY29tbWFuZHMgYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MgZm9yIGpvYiBleGVjdXRpb24uIFRoZSBzeW50aGVzaXplZCBvdXRwdXRzIGFyZVxuICAgKiBjb25maWd1cmVkIHRvIGJlIGNhY2hlZCBhcyBhcnRpZmFjdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHM6IFBpcGVsaW5lU3RlcFtdID0gW1xuICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgIHRoaXMucHJvdmlkZVN5bnRoU3RlcCgpLFxuICAgIF07XG5cbiAgICBjb25zdCBnaXRsYWJTdGVwcyA9IHN0ZXBzLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG5cbiAgICB0aGlzLmNvbmZpZy5hZGRTdGFnZXMoJ3N5bnRoJyk7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICBzeW50aDoge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsICcuYXJ0aWZhY3RzX2NkaycsIC4uLmdpdGxhYlN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpXSxcbiAgICAgICAgbmVlZHM6IGdpdGxhYlN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgc3RhZ2U6ICdzeW50aCcsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5zeW50aCA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVmYXVsdCxcbiAgICAgICAgc2NyaXB0OiBnaXRsYWJTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcyksXG4gICAgICAgIHZhcmlhYmxlczogZ2l0bGFiU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCB0aGUgYXNzZXQgcHVibGlzaGluZyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUuXG4gICAqIFRoaXMgbWV0aG9kIGNvbmZpZ3VyZXMgYSBqb2IgdG8gdXBsb2FkIHN5bnRoZXNpemVkIGFzc2V0cyB0byBBV1MsIGhhbmRsaW5nIElBTSByb2xlXG4gICAqIGF1dGhlbnRpY2F0aW9uIGFuZCBzcGVjaWZ5aW5nIHJ1bm5lciB0YWdzLiBJdCBkZXBlbmRzIG9uIHRoZSBzdWNjZXNzZnVsIGNvbXBsZXRpb25cbiAgICogb2YgdGhlICdzeW50aCcgc3RhZ2UsIGVuc3VyaW5nIGFzc2V0cyBhcmUgb25seSBwdWJsaXNoZWQgYWZ0ZXIgc3VjY2Vzc2Z1bCBzeW50aGVzaXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlQXNzZXRVcGxvYWQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHMgPSBbXG4gICAgICB0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpLFxuICAgICAgdGhpcy5wcm92aWRlQXNzZXRVcGxvYWRTdGVwKCksXG4gICAgXTtcblxuICAgIGlmICh0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzKSB7XG4gICAgICBzdGVwcy5wdXNoKHRoaXMucHJvdmlkZUFzc2VtYmx5VXBsb2FkU3RlcCgpKTtcbiAgICB9XG5cbiAgICBjb25zdCBnaXRsYWJTdGVwcyA9IHN0ZXBzLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG5cbiAgICB0aGlzLmNvbmZpZy5hZGRTdGFnZXMoJ3B1Ymxpc2hfYXNzZXRzJyk7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICBwdWJsaXNoX2Fzc2V0czoge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsIC4uLmdpdGxhYlN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpXSxcbiAgICAgICAgc3RhZ2U6ICdwdWJsaXNoX2Fzc2V0cycsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5hc3NldFB1Ymxpc2hpbmcgPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG5lZWRzOiBbeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LCAuLi5naXRsYWJTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyldLFxuICAgICAgICBzY3JpcHQ6IGdpdGxhYlN0ZXBzLmZsYXRNYXAocyA9PiBzLmNvbW1hbmRzKSxcbiAgICAgICAgdmFyaWFibGVzOiBnaXRsYWJTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGRlcGxveW1lbnQgc3RhZ2VzIGJhc2VkIG9uIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBlYWNoIHByb3ZpZGVkIGRlcGxveW1lbnQgc3RhZ2UsIHRoaXMgbWV0aG9kIHNldHMgdXAgam9icyBmb3IgJ2RpZmYnIGFuZCAnZGVwbG95JyBhY3Rpb25zLFxuICAgKiBhcHBseWluZyB0aGUgY29ycmVjdCBJQU0gcm9sZXMgYW5kIHJ1bm5lciB0YWdzLiBJdCBzdXBwb3J0cyBjb25kaXRpb25hbCBtYW51YWwgYXBwcm92YWwgZm9yXG4gICAqIGRlcGxveW1lbnQgc3RhZ2VzLCBwcm92aWRpbmcgZmxleGliaWxpdHkgaW4gdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVwbG95bWVudFN0YWdlfSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuICAgIGNvbnN0IGRpZmZTdGVwcyA9IFtcbiAgICAgIHRoaXMucHJvdmlkZUluc3RhbGxTdGVwKCksXG4gICAgICB0aGlzLnByb3ZpZGVEaWZmU3RlcChzdGFnZSwgc3RhZ2UuZGlmZlR5cGUgPT09IENka0RpZmZUeXBlLkZBU1QpLFxuICAgIF0ubWFwKHMgPT4gcy50b0dpdGxhYigpKTtcblxuXG4gICAgY29uc3QgZGVwbG95U3RlcHMgPSBbXG4gICAgICB0aGlzLnByb3ZpZGVJbnN0YWxsU3RlcCgpLFxuICAgICAgdGhpcy5wcm92aWRlRGVwbG95U3RlcChzdGFnZSksXG4gICAgXS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgLi4uKHN0YWdlLmRpZmZUeXBlICE9PSBDZGtEaWZmVHlwZS5OT05FKSAmJiB7XG4gICAgICAgIFtgZGlmZi0ke3N0YWdlLm5hbWV9YF06IHtcbiAgICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsIC4uLmRpZmZTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgICAgc3RhZ2U6IHN0YWdlLm5hbWUsXG4gICAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRpZmY/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICAgIG9ubHk6IHtcbiAgICAgICAgICAgIHJlZnM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbmVlZHM6IFtcbiAgICAgICAgICAgIHsgam9iOiAnc3ludGgnLCBhcnRpZmFjdHM6IHRydWUgfSxcbiAgICAgICAgICAgIHsgam9iOiAncHVibGlzaF9hc3NldHMnIH0sXG4gICAgICAgICAgICAuLi5kaWZmU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2NyaXB0OiBkaWZmU3RlcHMuZmxhdE1hcChzID0+IHMuY29tbWFuZHMpLFxuICAgICAgICAgIHZhcmlhYmxlczogZGlmZlN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgW2BkZXBsb3ktJHtzdGFnZS5uYW1lfWBdOiB7XG4gICAgICAgIGV4dGVuZHM6IFsnLmF3c19iYXNlJywgJy5hcnRpZmFjdHNfY2RrZGVwbG95JywgLi4uZGVwbG95U3RlcHMuZmxhdE1hcChzID0+IHMuZXh0ZW5zaW9ucyldLFxuICAgICAgICBzdGFnZTogc3RhZ2UubmFtZSxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVmYXVsdCxcbiAgICAgICAgLi4uc3RhZ2UubWFudWFsQXBwcm92YWwgJiYge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5Kb2JXaGVuLk1BTlVBTCxcbiAgICAgICAgfSxcbiAgICAgICAgb25seToge1xuICAgICAgICAgIHJlZnM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgICB9LFxuICAgICAgICBuZWVkczogW1xuICAgICAgICAgIHsgam9iOiAnc3ludGgnLCBhcnRpZmFjdHM6IHRydWUgfSxcbiAgICAgICAgICB7IGpvYjogJ3B1Ymxpc2hfYXNzZXRzJyB9LFxuICAgICAgICAgIC4uLihzdGFnZS5kaWZmVHlwZSAhPT0gQ2RrRGlmZlR5cGUuTk9ORSkgPyBbeyBqb2I6IGBkaWZmLSR7c3RhZ2UubmFtZX1gIH1dIDogW10sXG4gICAgICAgICAgLi4uZGVwbG95U3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLFxuICAgICAgICBdLFxuICAgICAgICBzY3JpcHQ6IGRlcGxveVN0ZXBzLmZsYXRNYXAocyA9PiBzLmNvbW1hbmRzKSxcbiAgICAgICAgdmFyaWFibGVzOiBkZXBsb3lTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmRlcGxveW1lbnRTdGFnZXMucHVzaChzdGFnZS5uYW1lKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBqb2IgdG8gZGVwbG95IHRoZSBDREsgYXBwbGljYXRpb24gdG8gQVdTLlxuICAgKiBAcGFyYW0gc3RhZ2UgLSBUaGUgaW5kZXBlbmRlbnQgc3RhZ2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUluZGVwZW5kZW50RGVwbG95bWVudChzdGFnZTogSW5kZXBlbmRlbnRTdGFnZSk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXBzID0gW1xuICAgICAgdGhpcy5wcm92aWRlSW5zdGFsbFN0ZXAoKSxcbiAgICAgIHRoaXMucHJvdmlkZVN5bnRoU3RlcCgpLFxuICAgICAgLi4uKHN0YWdlLmRpZmZUeXBlICE9PSBDZGtEaWZmVHlwZS5OT05FID8gW3RoaXMucHJvdmlkZURpZmZTdGVwKHN0YWdlLCBzdGFnZS5kaWZmVHlwZSA9PSBDZGtEaWZmVHlwZS5GQVNUKV0gOiBbXSksXG4gICAgICB0aGlzLnByb3ZpZGVEZXBsb3lTdGVwKHN0YWdlKSxcbiAgICBdLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG5cbiAgICB0aGlzLmNvbmZpZy5hZGRTdGFnZXMoc3RhZ2UubmFtZSk7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICBbYGRlcGxveS0ke3N0YWdlLm5hbWV9YF06IHtcbiAgICAgICAgZXh0ZW5kczogWycuYXdzX2Jhc2UnLCAnLmFydGlmYWN0c19jZGtkZXBsb3knLCAuLi5zdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiBzdGFnZS5uYW1lLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICAuLi5zdGFnZS5kZXBsb3lPblB1c2ggJiYge1xuICAgICAgICAgIG9ubHk6IHtcbiAgICAgICAgICAgIHJlZnM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLiFzdGFnZS5kZXBsb3lPblB1c2ggJiYge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5Kb2JXaGVuLk1BTlVBTCxcbiAgICAgICAgfSxcbiAgICAgICAgbmVlZHM6IHN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgc2NyaXB0OiBzdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcyksXG4gICAgICAgIHZhcmlhYmxlczogc3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgfVxuXG4gIHB1YmxpYyBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lIHtcbiAgICByZXR1cm4gUGlwZWxpbmVFbmdpbmUuR0lUTEFCO1xuICB9XG5cbn1cblxuIl19
|
|
@@ -45,7 +45,7 @@ class DownloadArtifactStep extends step_1.PipelineStep {
|
|
|
45
45
|
}
|
|
46
46
|
exports.DownloadArtifactStep = DownloadArtifactStep;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
DownloadArtifactStep[_a] = { fqn: "projen-pipelines.DownloadArtifactStep", version: "0.2.
|
|
48
|
+
DownloadArtifactStep[_a] = { fqn: "projen-pipelines.DownloadArtifactStep", version: "0.2.5" };
|
|
49
49
|
class UploadArtifactStep extends step_1.PipelineStep {
|
|
50
50
|
constructor(project, config) {
|
|
51
51
|
super(project);
|
|
@@ -78,5 +78,5 @@ class UploadArtifactStep extends step_1.PipelineStep {
|
|
|
78
78
|
}
|
|
79
79
|
exports.UploadArtifactStep = UploadArtifactStep;
|
|
80
80
|
_b = JSII_RTTI_SYMBOL_1;
|
|
81
|
-
UploadArtifactStep[_b] = { fqn: "projen-pipelines.UploadArtifactStep", version: "0.2.
|
|
81
|
+
UploadArtifactStep[_b] = { fqn: "projen-pipelines.UploadArtifactStep", version: "0.2.5" };
|
|
82
82
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3Qtc3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXJ0aWZhY3Qtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FBa0c7QUFPbEcsTUFBYSxvQkFBcUIsU0FBUSxtQkFBWTtJQUVwRCxZQUFZLE9BQWdCLEVBQW1CLE1BQWtDO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUQ4QixXQUFNLEdBQU4sTUFBTSxDQUE0QjtJQUVqRixDQUFDO0lBRU0sUUFBUTtRQUNiLHdEQUF3RDtRQUN4RCxPQUFPO1lBQ0wsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUNNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLDhCQUE4QjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQXZDSCxvREF3Q0M7OztBQVFELE1BQWEsa0JBQW1CLFNBQVEsbUJBQVk7SUFFbEQsWUFBWSxPQUFnQixFQUFtQixNQUFnQztRQUM3RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEOEIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFFL0UsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLGdDQUFnQztvQkFDdEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQTlCSCxnREFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENvZGVDYXRhbHlzdFN0ZXBDb25maWcsIEdpdGh1YlN0ZXBDb25maWcsIEdpdGxhYlN0ZXBDb25maWcsIFBpcGVsaW5lU3RlcCB9IGZyb20gJy4vc3RlcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkQXJ0aWZhY3RTdGVwIGV4dGVuZHMgUGlwZWxpbmVTdGVwIHtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICAvLyBOb3RoaW5nIHRvIGRvOyBhcnRpZmFjdCBpcyBhbHJlYWR5IGRvd25sb2FkZWQgZm9yIHlvdVxuICAgIHJldHVybiB7XG4gICAgICBlbnY6IHt9LFxuICAgICAgZXh0ZW5zaW9uczogW10sXG4gICAgICBuZWVkczogW10sXG4gICAgICBjb21tYW5kczogW10sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0ZXBzOiBbe1xuICAgICAgICBuYW1lOiAnRG93bmxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2NCcsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBhdGg6IHRoaXMuY29uZmlnLnBhdGgsXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogW10sIC8vIE5vIGRlcGVuZGVuY2llcy5cbiAgICAgIGNvbW1hbmRzOiBbXSwgLy8gTWFwcyBlYWNoIGNvbW1hbmQgaW50byBhIENvZGVDYXRhbHlzdCBBY3Rpb24gam9iIHN0ZXAuXG4gICAgICBlbnY6IHt9LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkQXJ0aWZhY3RTdGVwQ29uZmlnIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRBcnRpZmFjdFN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBVcGxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIG5hbWU6ICdVcGxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQuMy42JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnLm5hbWUsXG4gICAgICAgICAgcGF0aDogdGhpcy5jb25maWcucGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH1dLFxuICAgICAgbmVlZHM6IFtdLFxuICAgICAgZW52OiB7fSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBDb2RlQ2F0YWx5c3QgQWN0aW9ucyBzdGVwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9Db2RlQ2F0YWx5c3QoKTogQ29kZUNhdGFseXN0U3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgY29tbWFuZHM6IFtdLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbiBqb2Igc3RlcC5cbiAgICAgIGVudjoge30sIC8vIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICB9O1xuICB9XG5cbn0iXX0=
|
|
@@ -61,5 +61,5 @@ class AwsAssumeRoleStep extends step_1.PipelineStep {
|
|
|
61
61
|
}
|
|
62
62
|
exports.AwsAssumeRoleStep = AwsAssumeRoleStep;
|
|
63
63
|
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
-
AwsAssumeRoleStep[_a] = { fqn: "projen-pipelines.AwsAssumeRoleStep", version: "0.2.
|
|
64
|
+
AwsAssumeRoleStep[_a] = { fqn: "projen-pipelines.AwsAssumeRoleStep", version: "0.2.5" };
|
|
65
65
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWFzc3VtZS1yb2xlLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXdzLWFzc3VtZS1yb2xlLnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBa0U7QUFDbEUsaUNBQWtIO0FBZWxIOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxtQkFBWTtJQUVqRCxZQUFZLE9BQWdCLEVBQW1CLE1BQStCO1FBQzVFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUQ4QixXQUFNLEdBQU4sTUFBTSxDQUF5QjtJQUU5RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU87WUFDTCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUNoRTtZQUNELFFBQVEsRUFBRTtnQkFDUixZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRTthQUNuRTtZQUNELFVBQVUsRUFBRSxFQUFFO1lBQ2QsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLDBDQUEwQztvQkFDaEQsSUFBSSxFQUFFO3dCQUNKLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzt3QkFDckMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksY0FBYzt3QkFDOUQsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFO3FCQUM3RjtpQkFDRixDQUFDO1lBQ0YsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxPQUFPLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixpQ0FBaUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLGVBQWUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksV0FBVyxHQUFHO2FBQ3hHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLGdDQUFnQztRQUNoQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixHQUFHLEVBQUUsRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7O0FBckRILDhDQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBCYXNoU3RlcENvbmZpZywgQ29kZUNhdGFseXN0U3RlcENvbmZpZywgR2l0aHViU3RlcENvbmZpZywgR2l0bGFiU3RlcENvbmZpZywgUGlwZWxpbmVTdGVwIH0gZnJvbSAnLi9zdGVwJztcblxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIEFXUyBBc3N1bWVSb2xlU3RlcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Fzc3VtZVJvbGVTdGVwQ29uZmlnIHtcbiAgLyoqIFRoZSBBUk4gb2YgdGhlIHJvbGUgdG8gYXNzdW1lICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcbiAgLyoqIEFuIGlkZW50aWZpZXIgZm9yIHRoZSBhc3N1bWVkIHJvbGUgc2Vzc2lvbiAqL1xuICByZWFkb25seSBzZXNzaW9uTmFtZT86IHN0cmluZztcbiAgLyoqIFRoZSBBV1MgcmVnaW9uIHRoYXQgc2hvdWxkIGJlIHNldCAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzdGVwIHRoYXQgYXNzdW1lcyBhIHJvbGUgaW4gQVdTXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NBc3N1bWVSb2xlU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF3c0Fzc3VtZVJvbGVTdGVwQ29uZmlnKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgdG9HaXRsYWIoKTogR2l0bGFiU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVudjoge1xuICAgICAgICAuLi50aGlzLmNvbmZpZy5yZWdpb24gPyB7IEFXU19SRUdJT046IHRoaXMuY29uZmlnLnJlZ2lvbiB9IDoge30sXG4gICAgICB9LFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgYGF3c2xvZ2luICR7dGhpcy5jb25maWcucm9sZUFybn0gJHt0aGlzLmNvbmZpZy5zZXNzaW9uTmFtZSA/PyAnJ31gLFxuICAgICAgXSxcbiAgICAgIGV4dGVuc2lvbnM6IFtdLFxuICAgICAgbmVlZHM6IFtdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0ZXBzOiBbe1xuICAgICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogdGhpcy5jb25maWcucm9sZUFybixcbiAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiB0aGlzLmNvbmZpZy5zZXNzaW9uTmFtZSA/PyAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAuLi50aGlzLmNvbmZpZy5yZWdpb24gPyB7ICdhd3MtcmVnaW9uJzogdGhpcy5jb25maWcucmVnaW9uIH0gOiB7ICdhd3MtcmVnaW9uJzogJ3VzLWVhc3QtMScgfSxcbiAgICAgICAgfSxcbiAgICAgIH1dLFxuICAgICAgbmVlZHM6IFtdLFxuICAgICAgZW52OiB7fSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9CYXNoKCk6IEJhc2hTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgYGVjaG8gXCJMb2dpbiB0byBBV1MgdXNpbmcgcm9sZSAke3RoaXMuY29uZmlnLnJvbGVBcm59IGZvciByZWdpb24gJHt0aGlzLmNvbmZpZy5yZWdpb24gPz8gJ3VuZGVmaW5lZCd9XCJgLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIC8vRklYTUUgdXNlIENDIGVudmlyb25tZW50cyBoZXJlXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgICBuZWVkczogW10sXG4gICAgfTtcbiAgfVxuXG59Il19
|
package/lib/steps/registries.js
CHANGED
|
@@ -25,7 +25,7 @@ class GithubPackagesLoginStep extends step_1.PipelineStep {
|
|
|
25
25
|
}
|
|
26
26
|
exports.GithubPackagesLoginStep = GithubPackagesLoginStep;
|
|
27
27
|
_a = JSII_RTTI_SYMBOL_1;
|
|
28
|
-
GithubPackagesLoginStep[_a] = { fqn: "projen-pipelines.GithubPackagesLoginStep", version: "0.2.
|
|
28
|
+
GithubPackagesLoginStep[_a] = { fqn: "projen-pipelines.GithubPackagesLoginStep", version: "0.2.5" };
|
|
29
29
|
class CodeArtifactLoginStep extends step_1.StepSequence {
|
|
30
30
|
constructor(project, options) {
|
|
31
31
|
super(project, [
|
|
@@ -40,5 +40,5 @@ class CodeArtifactLoginStep extends step_1.StepSequence {
|
|
|
40
40
|
}
|
|
41
41
|
exports.CodeArtifactLoginStep = CodeArtifactLoginStep;
|
|
42
42
|
_b = JSII_RTTI_SYMBOL_1;
|
|
43
|
-
CodeArtifactLoginStep[_b] = { fqn: "projen-pipelines.CodeArtifactLoginStep", version: "0.2.
|
|
43
|
+
CodeArtifactLoginStep[_b] = { fqn: "projen-pipelines.CodeArtifactLoginStep", version: "0.2.5" };
|
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9yZWdpc3RyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsdUVBQWtFO0FBQ2xFLGlFQUEyRDtBQUMzRCxpREFBNEM7QUFDNUMsaUNBQXNFO0FBV3RFLE1BQWEsdUJBQXdCLFNBQVEsbUJBQVk7SUFFdkQsWUFBWSxPQUFnQixFQUFVLE9BQXVDO1FBQzNFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURxQixZQUFPLEdBQVAsT0FBTyxDQUFnQztJQUU3RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU87WUFDTCxHQUFHLEVBQUUsRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLENBQUM7b0JBQ04sR0FBRyxFQUFFLGdFQUFnRTtpQkFDdEUsQ0FBQztZQUNGLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLCtCQUFhLENBQUMsSUFBSSxFQUFFO1NBQ3pGLENBQUM7SUFDSixDQUFDOztBQWZILDBEQWdCQzs7O0FBU0QsTUFBYSxxQkFBc0IsU0FBUSxtQkFBWTtJQUNyRCxZQUFZLE9BQWdCLEVBQVksT0FBcUM7UUFDM0UsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLElBQUksd0NBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3RGLElBQUkseUJBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLE9BQU8sRUFBRSxxREFBcUQsT0FBTyxDQUFDLFVBQVUsYUFBYSxPQUFPLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxDQUFDLFlBQVksMkNBQTJDO2FBQzlMLENBQUM7U0FDSCxDQUFDLENBQUM7UUFQbUMsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7SUFRN0UsQ0FBQzs7QUFUSCxzREFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBBd3NBc3N1bWVSb2xlU3RlcCB9IGZyb20gJy4vYXdzLWFzc3VtZS1yb2xlLnN0ZXAnO1xuaW1wb3J0IHsgU2V0RW52U3RlcCB9IGZyb20gJy4vc2V0LWVudi5zdGVwJztcbmltcG9ydCB7IEdpdGh1YlN0ZXBDb25maWcsIFBpcGVsaW5lU3RlcCwgU3RlcFNlcXVlbmNlIH0gZnJvbSAnLi9zdGVwJztcblxuZXhwb3J0IGludGVyZmFjZSBHaXRodWJQYWNrYWdlc0xvZ2luU3RlcE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZ3JhbnQgdGhlIHN0ZXAgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhlIHJlZ2lzdHJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgR2l0aHViUGFja2FnZXNMb2dpblN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgb3B0aW9uczogR2l0aHViUGFja2FnZXNMb2dpblN0ZXBPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVudjoge30sXG4gICAgICBuZWVkczogW10sXG4gICAgICBzdGVwczogW3tcbiAgICAgICAgcnVuOiAnZWNobyBcIkdJVEhVQl9UT0tFTj0ke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX1cIiA+PiAkR0lUSFVCX0VOVicsXG4gICAgICB9XSxcbiAgICAgIHBlcm1pc3Npb25zOiB7IHBhY2thZ2VzOiB0aGlzLm9wdGlvbnMud3JpdGUgPyBKb2JQZXJtaXNzaW9uLldSSVRFIDogSm9iUGVybWlzc2lvbi5SRUFEIH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVBcnRpZmFjdExvZ2luU3RlcE9wdGlvbnMge1xuICByZWFkb25seSBvd25lckFjY291bnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcm9sZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ29kZUFydGlmYWN0TG9naW5TdGVwIGV4dGVuZHMgU3RlcFNlcXVlbmNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgcHJvdGVjdGVkIG9wdGlvbnM6IENvZGVBcnRpZmFjdExvZ2luU3RlcE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBbXG4gICAgICBuZXcgQXdzQXNzdW1lUm9sZVN0ZXAocHJvamVjdCwgeyByb2xlQXJuOiBvcHRpb25zLnJvbGUsIHNlc3Npb25OYW1lOiAnQ29kZUFydGlmYWN0JyB9KSxcbiAgICAgIG5ldyBTZXRFbnZTdGVwKHByb2plY3QsIHtcbiAgICAgICAgbmFtZTogJ0NPREVBUlRJRkFDVF9BVVRIX1RPS0VOJyxcbiAgICAgICAgY29tbWFuZDogYGF3cyBjb2RlYXJ0aWZhY3QgZ2V0LWF1dGhvcml6YXRpb24tdG9rZW4gLS1kb21haW4gJHtvcHRpb25zLmRvbWFpbk5hbWV9IC0tcmVnaW9uICR7b3B0aW9ucy5yZWdpb259IC0tZG9tYWluLW93bmVyICR7b3B0aW9ucy5vd25lckFjY291bnR9IC0tcXVlcnkgYXV0aG9yaXphdGlvblRva2VuIC0tb3V0cHV0IHRleHRgLFxuICAgICAgfSksXG4gICAgXSk7XG4gIH1cblxufSJdfQ==
|
package/lib/steps/step.js
CHANGED
|
@@ -43,7 +43,7 @@ class PipelineStep {
|
|
|
43
43
|
}
|
|
44
44
|
exports.PipelineStep = PipelineStep;
|
|
45
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.2.
|
|
46
|
+
PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.2.5" };
|
|
47
47
|
/**
|
|
48
48
|
* Concrete implementation of PipelineStep that executes simple commands.
|
|
49
49
|
*/
|
|
@@ -99,7 +99,7 @@ class SimpleCommandStep extends PipelineStep {
|
|
|
99
99
|
}
|
|
100
100
|
exports.SimpleCommandStep = SimpleCommandStep;
|
|
101
101
|
_b = JSII_RTTI_SYMBOL_1;
|
|
102
|
-
SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.2.
|
|
102
|
+
SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.2.5" };
|
|
103
103
|
class ProjenScriptStep extends SimpleCommandStep {
|
|
104
104
|
constructor(project, scriptName, args) {
|
|
105
105
|
super(project, [`npx projen ${scriptName}${args ? ` ${args}` : ''}`]);
|
|
@@ -107,7 +107,7 @@ class ProjenScriptStep extends SimpleCommandStep {
|
|
|
107
107
|
}
|
|
108
108
|
exports.ProjenScriptStep = ProjenScriptStep;
|
|
109
109
|
_c = JSII_RTTI_SYMBOL_1;
|
|
110
|
-
ProjenScriptStep[_c] = { fqn: "projen-pipelines.ProjenScriptStep", version: "0.2.
|
|
110
|
+
ProjenScriptStep[_c] = { fqn: "projen-pipelines.ProjenScriptStep", version: "0.2.5" };
|
|
111
111
|
// Add class that is a sequence of pipleine steps but is a pipeline step in itself
|
|
112
112
|
class StepSequence extends PipelineStep {
|
|
113
113
|
/**
|
|
@@ -204,5 +204,5 @@ class StepSequence extends PipelineStep {
|
|
|
204
204
|
}
|
|
205
205
|
exports.StepSequence = StepSequence;
|
|
206
206
|
_d = JSII_RTTI_SYMBOL_1;
|
|
207
|
-
StepSequence[_d] = { fqn: "projen-pipelines.StepSequence", version: "0.2.
|
|
207
|
+
StepSequence[_d] = { fqn: "projen-pipelines.StepSequence", version: "0.2.5" };
|
|
208
208
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esd0NBQWlEO0FBK0RqRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7SUFFaEM7OztPQUdHO0lBQ0gsWUFBc0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNwQywyREFBMkQ7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUFwQ0gsb0NBcUNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsWUFBWTtJQUlqRDs7OztPQUlHO0lBQ0gsWUFBWSxPQUFnQixFQUFFLFFBQWtCO1FBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPO1lBQ0wsVUFBVSxFQUFFLEVBQUUsRUFBRSw2Q0FBNkM7WUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsc0JBQXNCO1lBQy9DLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7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Q0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUTtZQUNSLEdBQUc7U0FDSixDQUFDO0lBQ0osQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFHLEtBQXFCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFHLEtBQXFCO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7QUFwR0gsb0NBcUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9ucywgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBOZWVkIH0gZnJvbSAncHJvamVuL2xpYi9naXRsYWInO1xuaW1wb3J0IHsgbWVyZ2VKb2JQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2VuZ2luZXMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBhIEdpdExhYiBDSSBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYlN0ZXBDb25maWcge1xuXG4gIC8qKiBMaXN0IG9mIGpvYiBleHRlbnNpb25zIHJlbGF0ZWQgdG8gdGhlIHN0ZXAuICovXG4gIHJlYWRvbmx5IGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKiBEZXBlbmRlbmNpZXMgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgbmVlZHM6IE5lZWRbXTtcblxuICAvKiogU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZSBpbiB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzOiBzdHJpbmdbXTtcblxuICAvKiogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGZvciB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBHaXRIdWIgQWN0aW9ucyBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YlN0ZXBDb25maWcge1xuXG4gIC8qKiBEZXBlbmRlbmNpZXMgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgbmVlZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBDb21tYW5kcyB3cmFwcGVkIGFzIEdpdEh1YiBBY3Rpb24gam9iIHN0ZXBzLiAqL1xuICByZWFkb25seSBzdGVwczogSm9iU3RlcFtdO1xuXG4gIC8qKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgZm9yIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgZW52OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKiBBZGRpdGlvbmFsIGpvYiBwZXJtaXNzaW9ucyBuZWVkZWQgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnM/OiBKb2JQZXJtaXNzaW9ucztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBDb2RlQ2F0YWx5c3QgQWN0aW9ucyBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuXG4gIC8qKiBEZXBlbmRlbmNpZXMgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgbmVlZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBDb21tYW5kcyB3cmFwcGVkIGFzIEdpdEh1YiBBY3Rpb24gam9iIHN0ZXBzLiAqL1xuICByZWFkb25seSBjb21tYW5kczogc3RyaW5nW107XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBmb3IgdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBiYXNoIHNjcmlwdCBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2hTdGVwQ29uZmlnIHtcblxuICAvKiogU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZS4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwaXBlbGluZSBzdGVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGlwZWxpbmVTdGVwIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYSBQaXBlbGluZVN0ZXAgd2l0aCBhIHJlZmVyZW5jZSB0byBhIHByb2plbiBwcm9qZWN0LlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcHJvamVjdDogUHJvamVjdCkge1xuICAgIC8vIENvbnN0cnVjdG9yIGNhbiBiZSBleHRlbmRlZCB0byBpbmNsdWRlIG1vcmUgc2V0dXAgbG9naWMuXG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgY29uZmlndXJhdGlvbiBmb3IgYSBHaXRMYWIgQ0kgc3RlcC4gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqL1xuICBwdWJsaWMgdG9HaXRsYWIoKTogR2l0bGFiU3RlcENvbmZpZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC4gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqL1xuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcC4gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqL1xuICBwdWJsaWMgdG9Db2RlQ2F0YWx5c3QoKTogQ29kZUNhdGFseXN0U3RlcENvbmZpZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgYmFzaCBzY3JpcHQgc3RlcC4gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqL1xuICBwdWJsaWMgdG9CYXNoKCk6IEJhc2hTdGVwQ29uZmlnIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBQaXBlbGluZVN0ZXAgdGhhdCBleGVjdXRlcyBzaW1wbGUgY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVDb21tYW5kU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgcHJvdGVjdGVkIGNvbW1hbmRzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIHNpbXBsZSBjb21tYW5kIHN0ZXAgd2l0aCBhIHNwZWNpZmllZCBzZXQgb2YgY29tbWFuZHMuXG4gICAqIEBwYXJhbSBwcm9qZWN0IC0gVGhlIHByb2plbiBwcm9qZWN0IHJlZmVyZW5jZS5cbiAgICogQHBhcmFtIGNvbW1hbmRzIC0gU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIGNvbW1hbmRzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMuY29tbWFuZHMgPSBbLi4uY29tbWFuZHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBHaXRMYWIgQ0kgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXh0ZW5zaW9uczogW10sIC8vIE5vIGpvYiBleHRlbnNpb25zIHNwZWNpZmllZCBmb3IgdGhpcyBzdGVwLlxuICAgICAgY29tbWFuZHM6IHRoaXMuY29tbWFuZHMsIC8vIENvbW1hbmRzIHRvIGJlIHJ1bi5cbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgZW52OiB7fSwgLy8gTm8gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEJhc2ggc2NyaXB0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9CYXNoKCk6IEJhc2hTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IHRoaXMuY29tbWFuZHMsIC8vIENvbW1hbmRzIHRvIGJlIHJ1bi5cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBHaXRIdWIgQWN0aW9ucyBzdGVwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgc3RlcHM6IHRoaXMuY29tbWFuZHMubWFwKGMgPT4gKHsgcnVuOiBjIH0pKSwgLy8gTWFwcyBlYWNoIGNvbW1hbmQgaW50byBhIEdpdEh1YiBBY3Rpb24gam9iIHN0ZXAuXG4gICAgICBlbnY6IHt9LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogW10sIC8vIE5vIGRlcGVuZGVuY2llcy5cbiAgICAgIGNvbW1hbmRzOiB0aGlzLmNvbW1hbmRzLm1hcChjID0+IChjKSksIC8vIE1hcHMgZWFjaCBjb21tYW5kIGludG8gYSBDb2RlQ2F0YWx5c3QgQWN0aW9uIGpvYiBzdGVwLlxuICAgICAgZW52OiB7fSwgLy8gTm8gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2plblNjcmlwdFN0ZXAgZXh0ZW5kcyBTaW1wbGVDb21tYW5kU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHNjcmlwdE5hbWU6IHN0cmluZywgYXJncz86IHN0cmluZykge1xuICAgIHN1cGVyKHByb2plY3QsIFtgbnB4IHByb2plbiAke3NjcmlwdE5hbWV9JHthcmdzID8gYCAke2FyZ3N9YCA6ICcnfWBdKTtcbiAgfVxufVxuXG4vLyBBZGQgY2xhc3MgdGhhdCBpcyBhIHNlcXVlbmNlIG9mIHBpcGxlaW5lIHN0ZXBzIGJ1dCBpcyBhIHBpcGVsaW5lIHN0ZXAgaW4gaXRzZWxmXG5leHBvcnQgY2xhc3MgU3RlcFNlcXVlbmNlIGV4dGVuZHMgUGlwZWxpbmVTdGVwIHtcblxuICBwcm90ZWN0ZWQgc3RlcHM6IFBpcGVsaW5lU3RlcFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgc2VxdWVuY2Ugb2YgcGlwZWxpbmUgc3RlcHMuXG4gICAqIEBwYXJhbSBwcm9qZWN0IC0gVGhlIHByb2plbiBwcm9qZWN0IHJlZmVyZW5jZS5cbiAgICogQHBhcmFtIHN0ZXBzIC0gVGhlIHNlcXVlbmNlIG9mIHBpcGVsaW5lIHN0ZXBzLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgc3RlcHM6IFBpcGVsaW5lU3RlcFtdKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5zdGVwcyA9IFsuLi5zdGVwc107XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHNlcXVlbmNlIG9mIHN0ZXBzIGludG8gYSBHaXRMYWIgQ0kgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICBjb25zdCBleHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG5lZWRzOiBOZWVkW10gPSBbXTtcbiAgICBjb25zdCBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgY29uc3Qgc3RlcENvbmZpZyA9IHN0ZXAudG9HaXRsYWIoKTtcbiAgICAgIGV4dGVuc2lvbnMucHVzaCguLi5zdGVwQ29uZmlnLmV4dGVuc2lvbnMpO1xuICAgICAgY29tbWFuZHMucHVzaCguLi5zdGVwQ29uZmlnLmNvbW1hbmRzKTtcbiAgICAgIG5lZWRzLnB1c2goLi4uc3RlcENvbmZpZy5uZWVkcyk7XG4gICAgICBPYmplY3QuYXNzaWduKGVudiwgc3RlcENvbmZpZy5lbnYpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgbmVlZHM6IEFycmF5LmZyb20obmV3IFNldChuZWVkcykpLFxuICAgICAgZW52LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHNlcXVlbmNlIG9mIHN0ZXBzIGludG8gYSBCYXNoIHNjcmlwdCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZyB7XG4gICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHRoaXMuc3RlcHMpIHtcbiAgICAgIGNvbnN0IHN0ZXBDb25maWcgPSBzdGVwLnRvQmFzaCgpO1xuICAgICAgY29tbWFuZHMucHVzaCguLi5zdGVwQ29uZmlnLmNvbW1hbmRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY29tbWFuZHMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc2VxdWVuY2Ugb2Ygc3RlcHMgaW50byBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICBjb25zdCBuZWVkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzdGVwczogSm9iU3RlcFtdID0gW107XG4gICAgY29uc3QgZW52OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgY29uc3QgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgY29uc3Qgc3RlcENvbmZpZyA9IHN0ZXAudG9HaXRodWIoKTtcbiAgICAgIG5lZWRzLnB1c2goLi4uc3RlcENvbmZpZy5uZWVkcyk7XG4gICAgICBzdGVwcy5wdXNoKC4uLnN0ZXBDb25maWcuc3RlcHMpO1xuICAgICAgaWYgKHN0ZXBDb25maWcucGVybWlzc2lvbnMpIHtcbiAgICAgICAgcGVybWlzc2lvbnMucHVzaChzdGVwQ29uZmlnLnBlcm1pc3Npb25zKTtcbiAgICAgIH1cbiAgICAgIE9iamVjdC5hc3NpZ24oZW52LCBzdGVwQ29uZmlnLmVudik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogQXJyYXkuZnJvbShuZXcgU2V0KG5lZWRzKSksXG4gICAgICBzdGVwcyxcbiAgICAgIGVudixcbiAgICAgIHBlcm1pc3Npb25zOiBtZXJnZUpvYlBlcm1pc3Npb25zKC4uLnBlcm1pc3Npb25zKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzZXF1ZW5jZSBvZiBzdGVwcyBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIGNvbnN0IG5lZWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiB0aGlzLnN0ZXBzKSB7XG4gICAgICBjb25zdCBzdGVwQ29uZmlnID0gc3RlcC50b0NvZGVDYXRhbHlzdCgpO1xuICAgICAgbmVlZHMucHVzaCguLi5zdGVwQ29uZmlnLm5lZWRzKTtcbiAgICAgIGNvbW1hbmRzLnB1c2goLi4uc3RlcENvbmZpZy5jb21tYW5kcyk7XG4gICAgICBPYmplY3QuYXNzaWduKGVudiwgc3RlcENvbmZpZy5lbnYpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmVlZHM6IEFycmF5LmZyb20obmV3IFNldChuZWVkcykpLFxuICAgICAgY29tbWFuZHMsXG4gICAgICBlbnYsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGVwcyguLi5zdGVwczogUGlwZWxpbmVTdGVwW10pIHtcbiAgICB0aGlzLnN0ZXBzLnB1c2goLi4uc3RlcHMpO1xuICB9XG5cbiAgcHVibGljIHByZXBlbmRTdGVwcyguLi5zdGVwczogUGlwZWxpbmVTdGVwW10pIHtcbiAgICB0aGlzLnN0ZXBzLnVuc2hpZnQoLi4uc3RlcHMpO1xuICB9XG59Il19
|