projen-cdktf-hybrid-construct 0.1.55 → 0.1.58

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 CHANGED
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "name": "projen-cdktf-hybrid-construct",
72
72
  "readme": {
73
- "markdown": "# Projen-CDKTF-Hybrid-Construct\n\nProjen template for CDKTF Constructs that should also be used as Terraform Modules and for republishing Terraform Modules as Constructs.\n\n## Usage\n\n### `HybridModule`\n\nIf you want to write a CDKTF construct and also publish it as a Terraform Module you can use the `HybridModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct hybrid-module`.\n\nA configutation might look like this:\n\n```js\nconst { HybridModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // The name of the module & repository need to start with terraform-cdk-\n name: \"terraform-cdk-my-new-hybrid-construct\",\n repositoryUrl:\n \"github.com/DanielMSchmidt/terraform-cdk-my-new-hybrid-construct\",\n\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n\n // If enabled an example folder with terraform code will be created\n terraformExamples: {\n enabled: true,\n folder: \"terraform\",\n // The configuration to add to the example terraform file\n providerConfig: `\n terraform {\n required_providers {\n aws = {\n source = \"hashicorp/aws\"\n version = \"~> 3.74\"\n }\n }\n # Terraform binary version constraint\n required_version = \"~> 1.1.0\"\n }\n\n\n provider \"aws\" {\n region = \"eu-central-1\"\n }\n `,\n },\n\n // If enabled a constructs example folder will be created\n constructExamples: {\n enabled: true,\n folder: \"construct-examples\",\n },\n});\nproject.synth();\n```\n\n### `TerraformModule`\n\nIf you want to republish an existing Terraform module as a CDKTF construct or if you want to repackage them with an easier to use API you can use the `TerraformModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct terraform-module`.\n\nA configutation might look like this:\n\n```js\nconst { TerraformModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new TerraformModule({\n name: \"my-module\",\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n repositoryUrl: \"github.com/DanielMSchmidt/my-module\",\n\n terraformModules: [\n {\n name: \"eks\",\n source: \"terraform-aws-modules/eks/aws\",\n version: \"~> 18.0\",\n },\n {\n name: \"eks-managed-nodegroup\",\n source: \"terraform-aws-modules/eks/aws//modules/eks-managed-node-group\",\n version: \"~> 18.0\",\n },\n ],\n});\n\nproject.synth();\n```\n\n## Publishing\n\n### Open Source\n\nWe have a helper method for easy configuration, but there are still some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToRegistries,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToRegistries({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\", \"maven\"],\n }),\n});\n```\n\n#### Terraform\n\n1. [Sign in at the registry](https://registry.terraform.io/sign-in)\n2. [Select your repository](https://registry.terraform.io/github/create) and create the module\n\nPlease make sure your repository name starts with `terraform-cdk-`.\n\n#### npm (Typescript)\n\n1. Create an account at [npmjs.com](https://npmjs.com/)\n2. Create an [automation token](https://docs.npmjs.com/creating-and-viewing-access-tokens) on npm\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create an account at [pypi.org](https://pypi.org/)\n2. Create an [API token](https://pypi.org/help/#apitoken) on pypi\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the value `__token__` and a second one with the name `TWINE_PASSWORD` and the value of the token\n4. Set the `publishToPypi` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToPypi: {\n distName: name,\n module: name.replace(/-/g, \"_\"),\n },\n});\n```\n\n#### Maven (Java)\n\n1. [Create a Sonatype account and repository](https://central.sonatype.org/publish/publish-guide/#introduction)\n2. Create [GitHub Action Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) to configure maven:\n - `MAVEN_USERNAME`\n - `MAVEN_PASSWORD`\n - `MAVEN_STAGING_PROFILE_ID`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n3. Setup the `publishToMaven` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToMaven: {\n javaPackage: name.replace(/-/g, \"_\"),\n mavenGroupId: `com.${githubNamespace}`,\n mavenArtifactId: name,\n },\n});\n```\n\n#### NuGet (C#)\n\n1. [Create a NuGet account](https://www.nuget.org/users/account/LogOn) (you might need to create a Microsoft Account if you don't have one)\n2. [Create API keys](https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package#create-api-keys)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NUGET_API_KEY` and the value of the token\n4. Setup the `publishToNuget` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\n\nnew HybridModule({\n name,\n // ... other options\n publishToNuget: {\n dotNetNamespace: `MyOrg.NameOfMyHybridConstruct`,\n packageId: `MyOrg.NameOfMyHybridConstruct`,\n },\n});\n```\n\n### Github Packages\n\nWe have a helper method for easy configuration, no extra steps needed:\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"maven\"], // pypi and nuget are not yet supported\n }),\n});\n```\n\n### Roadmap\n\n- [x] Add dedicated file for HCL templates\n- [x] Add example folder\n- [x] Add `terraform` example folder\n- [x] [Auto-generate parts of the docs](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/e90c877a741ab3cc4215376a70f7bcc360b6a3d2/.github/workflows/pre-commit.yml)\n- [x] Add example folder to project using this\n- [x] Add testing strategy\n- [x] Add construct / option / docs to publish existing module as construct\n- [x] Add deployment scripts to Github Packages\n- [ ] Add deployment scripts to Artifactory\n"
73
+ "markdown": "# Projen-CDKTF-Hybrid-Construct\n\nProjen template for CDKTF Constructs that should also be used as Terraform Modules and for republishing Terraform Modules as Constructs.\n\n## Usage\n\n### `HybridModule`\n\nIf you want to write a CDKTF construct and also publish it as a Terraform Module you can use the `HybridModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct hybrid-module`.\n\nA configutation might look like this:\n\n```js\nconst { HybridModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // The name of the module & repository need to start with terraform-cdk-\n name: \"terraform-cdk-my-new-hybrid-construct\",\n repositoryUrl:\n \"github.com/DanielMSchmidt/terraform-cdk-my-new-hybrid-construct\",\n\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n\n // If enabled an example folder with terraform code will be created\n terraformExamples: {\n enabled: true,\n folder: \"terraform\",\n // The configuration to add to the example terraform file\n providerConfig: `\n terraform {\n required_providers {\n aws = {\n source = \"hashicorp/aws\"\n version = \"~> 3.74\"\n }\n }\n # Terraform binary version constraint\n required_version = \"~> 1.1.0\"\n }\n\n\n provider \"aws\" {\n region = \"eu-central-1\"\n }\n `,\n },\n\n // If enabled a constructs example folder will be created\n constructExamples: {\n enabled: true,\n folder: \"construct-examples\",\n },\n});\nproject.synth();\n```\n\n### `TerraformModule`\n\nIf you want to republish an existing Terraform module as a CDKTF construct or if you want to repackage them with an easier to use API you can use the `TerraformModule` template.\n\nYou can initialize such a project using `npx projen new --from projen-cdktf-hybrid-construct terraform-module`.\n\nA configutation might look like this:\n\n```js\nconst { TerraformModule } = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new TerraformModule({\n name: \"my-module\",\n author: \"Daniel Schmidt\",\n authorAddress: \"danielmschmidt92@gmail.com\",\n repositoryUrl: \"github.com/DanielMSchmidt/my-module\",\n\n terraformModules: [\n {\n name: \"eks\",\n source: \"terraform-aws-modules/eks/aws\",\n version: \"~> 18.0\",\n },\n {\n name: \"eks-managed-nodegroup\",\n source: \"terraform-aws-modules/eks/aws//modules/eks-managed-node-group\",\n version: \"~> 18.0\",\n },\n ],\n});\n\nproject.synth();\n```\n\n## Publishing\n\n### Open Source\n\nWe have a helper method for easy configuration, but there are still some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToRegistries,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToRegistries({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\", \"maven\"],\n }),\n});\n```\n\n#### Terraform\n\n1. [Sign in at the registry](https://registry.terraform.io/sign-in)\n2. [Select your repository](https://registry.terraform.io/github/create) and create the module\n\nPlease make sure your repository name starts with `terraform-cdk-`.\n\n#### npm (Typescript)\n\n1. Create an account at [npmjs.com](https://npmjs.com/)\n2. Create an [automation token](https://docs.npmjs.com/creating-and-viewing-access-tokens) on npm\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create an account at [pypi.org](https://pypi.org/)\n2. Create an [API token](https://pypi.org/help/#apitoken) on pypi\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the value `__token__` and a second one with the name `TWINE_PASSWORD` and the value of the token\n4. Set the `publishToPypi` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToPypi: {\n distName: name,\n module: name.replace(/-/g, \"_\"),\n },\n});\n```\n\n#### Maven (Java)\n\n1. [Create a Sonatype account and repository](https://central.sonatype.org/publish/publish-guide/#introduction)\n2. Create [GitHub Action Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) to configure maven:\n - `MAVEN_USERNAME`\n - `MAVEN_PASSWORD`\n - `MAVEN_STAGING_PROFILE_ID`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n - `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`\n3. Setup the `publishToMaven` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\nnew HybridModule({\n name,\n // ... other options\n publishToMaven: {\n javaPackage: name.replace(/-/g, \"_\"),\n mavenGroupId: `com.${githubNamespace}`,\n mavenArtifactId: name,\n },\n});\n```\n\n#### NuGet (C#)\n\n1. [Create a NuGet account](https://www.nuget.org/users/account/LogOn) (you might need to create a Microsoft Account if you don't have one)\n2. [Create API keys](https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package#create-api-keys)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NUGET_API_KEY` and the value of the token\n4. Setup the `publishToNuget` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)\n\n```js\nconst githubNamespace = \"my-org\";\nconst name = \"name-of-my-hybrid-construct\";\n\nnew HybridModule({\n name,\n // ... other options\n publishToNuget: {\n dotNetNamespace: `MyOrg.NameOfMyHybridConstruct`,\n packageId: `MyOrg.NameOfMyHybridConstruct`,\n },\n});\n```\n\n### Github Packages\n\nWe have a helper method for easy configuration, no extra steps needed:\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"maven\"], // pypi and nuget are not yet supported\n }),\n});\n```\n\n### Artifactory\n\nWe have a helper method for easy configuration, but there are also some manual steps required.\n\n```js\nconst {\n HybridModule,\n publishToGithubPackages,\n} = require(\"projen-cdktf-hybrid-construct\");\n\nconst project = new HybridModule({\n // ... all the other options\n ...publishToGithubPackages({\n name: \"my-new-hybrid-construct\",\n namespace: \"my-org\",\n registries: [\"npm\", \"pypi\", \"nuget\"], // maven is currently not supported, PRs welcome\n artifactoryApiUrl: \"https://artifactory.my-org.com/api/\",\n artifactoryRepository: \"my-repo\", // needs to be the same across all registries, defaults to namespace so \"my-org\" in this case\n }),\n});\n```\n\n#### Terraform\n\nYou can find more information about publishing Terraform Modules to Artifactory [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Registry#TerraformRegistry-SettingupaLocalModule/ProviderRegistry).\n\n#### npm (Typescript)\n\n1. [Create a virtual npm registry](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-VirtualnpmRegistry)\n2. [Authenticate against artifactory to get a token](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-AuthenticatingthenpmClient)\n3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token\n\n#### pypi (Python)\n\n1. Create a [local repository](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories#PyPIRepositories-LocalRepositories)\n2. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the artifactory user name and a second one with the name `TWINE_PASSWORD` and the artifactory password\n"
74
74
  },
75
75
  "repository": {
76
76
  "type": "git",
@@ -569,6 +569,6 @@
569
569
  "symbolId": "src/terraform-module:TerraformVersionConstraint"
570
570
  }
571
571
  },
572
- "version": "0.1.55",
573
- "fingerprint": "iQUpIupZYykqny2J6ugHQ6QQAOyVVqJrjR5H3pWcJL8="
572
+ "version": "0.1.58",
573
+ "fingerprint": "8gP7LdvhG/FLHH/4yr9gBFuGgfZkBYcs9Kexo0ghxAk="
574
574
  }
package/CHANGELOG.md CHANGED
@@ -1,2 +1,7 @@
1
1
 
2
- ### [0.1.55](https://github.com/DanielMSchmidt/projen-cdktf-hybrid-construct/compare/v0.1.54...v0.1.55) (2022-05-05)
2
+ ### [0.1.58](https://github.com/DanielMSchmidt/projen-cdktf-hybrid-construct/compare/v0.1.57...v0.1.58) (2022-05-06)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * use levels for tsconfig reference ([#60](https://github.com/DanielMSchmidt/projen-cdktf-hybrid-construct/issues/60)) ([e83b0c7](https://github.com/DanielMSchmidt/projen-cdktf-hybrid-construct/commit/e83b0c7ce7737fedc8f82920fd1de000a310b804))
package/README.md CHANGED
@@ -211,14 +211,39 @@ const project = new HybridModule({
211
211
  });
212
212
  ```
213
213
 
214
- ### Roadmap
215
-
216
- - [x] Add dedicated file for HCL templates
217
- - [x] Add example folder
218
- - [x] Add `terraform` example folder
219
- - [x] [Auto-generate parts of the docs](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/e90c877a741ab3cc4215376a70f7bcc360b6a3d2/.github/workflows/pre-commit.yml)
220
- - [x] Add example folder to project using this
221
- - [x] Add testing strategy
222
- - [x] Add construct / option / docs to publish existing module as construct
223
- - [x] Add deployment scripts to Github Packages
224
- - [ ] Add deployment scripts to Artifactory
214
+ ### Artifactory
215
+
216
+ We have a helper method for easy configuration, but there are also some manual steps required.
217
+
218
+ ```js
219
+ const {
220
+ HybridModule,
221
+ publishToGithubPackages,
222
+ } = require("projen-cdktf-hybrid-construct");
223
+
224
+ const project = new HybridModule({
225
+ // ... all the other options
226
+ ...publishToGithubPackages({
227
+ name: "my-new-hybrid-construct",
228
+ namespace: "my-org",
229
+ registries: ["npm", "pypi", "nuget"], // maven is currently not supported, PRs welcome
230
+ artifactoryApiUrl: "https://artifactory.my-org.com/api/",
231
+ artifactoryRepository: "my-repo", // needs to be the same across all registries, defaults to namespace so "my-org" in this case
232
+ }),
233
+ });
234
+ ```
235
+
236
+ #### Terraform
237
+
238
+ You can find more information about publishing Terraform Modules to Artifactory [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Registry#TerraformRegistry-SettingupaLocalModule/ProviderRegistry).
239
+
240
+ #### npm (Typescript)
241
+
242
+ 1. [Create a virtual npm registry](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-VirtualnpmRegistry)
243
+ 2. [Authenticate against artifactory to get a token](https://www.jfrog.com/confluence/display/JFROG/npm+Registry#npmRegistry-AuthenticatingthenpmClient)
244
+ 3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NPM_TOKEN` and the value of the token
245
+
246
+ #### pypi (Python)
247
+
248
+ 1. Create a [local repository](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories#PyPIRepositories-LocalRepositories)
249
+ 2. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the artifactory user name and a second one with the name `TWINE_PASSWORD` and the artifactory password
@@ -214,7 +214,7 @@ app.synth();
214
214
  "basic.ts": constructExampleCode.trim(),
215
215
  "cdktf.json": JSON.stringify({
216
216
  language: "typescript",
217
- app: "npx ts-node --project ../tsconfig.dev.json index.ts",
217
+ app: `npx ts-node --project ${levels}/tsconfig.dev.json index.ts`,
218
218
  projectId: options.projectId || uuid_1.v4(),
219
219
  }, null, 2),
220
220
  "README.md": constructReadmeDocs.trim(),
@@ -304,5 +304,5 @@ terraform -chdir=terraform plan
304
304
  }
305
305
  exports.HybridModule = HybridModule;
306
306
  _a = JSII_RTTI_SYMBOL_1;
307
- HybridModule[_a] = { fqn: "projen-cdktf-hybrid-construct.HybridModule", version: "0.1.55" };
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlicmlkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oeWJyaWQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWlFO0FBQ2pFLHdDQUFzRTtBQUN0RSwrQkFBa0M7QUFDbEMseUNBQXNDO0FBc0R0QyxNQUFNLGdCQUFnQixHQUFHOzs7Ozs7Ozs7Ozs7Q0FZeEIsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJ6QixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnJCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHOzs7Ozs7Ozs7S0FTdkIsQ0FBQztBQUVOLE1BQU0sVUFBVyxTQUFRLGlCQUFRO0lBQy9CLFlBQVksT0FBZ0IsRUFBRSxJQUFZLEVBQVUsT0FBZTtRQUNqRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFIK0MsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUluRSxDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsWUFBYSxTQUFRLGlCQUFXO0lBQzNDLFlBQVksT0FBNEI7O1FBQ3RDLEtBQUssQ0FBQztZQUNKLEdBQUcsbUJBQVE7WUFDWCxHQUFHLE9BQU87WUFDVixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDdEQsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQztZQUNGLGNBQWMsRUFBRSxFQUFFO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQztRQUNq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LElBQUksVUFBVSxDQUNaLElBQUksRUFDSix5QkFBeUIsRUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpREwsQ0FBQyxJQUFJLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDakQsSUFBSSxFQUFFLGtCQUFrQjtTQUN6QixDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFFcEMsSUFBSSxVQUFVLENBQ1osSUFBSSxFQUNKLDZCQUE2QixFQUM3Qjs7Ozs7Ozs7O1NBU0csQ0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNsRCxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtJQUMzQyxDQUFDOztBQWpRSCxvQ0FrUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQmFzZSwgSVJlc29sdmVyLCBQcm9qZWN0LCBTYW1wbGVEaXIgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBKc2lpUHJvamVjdCwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwicHJvamVuL2xpYi9jZGtcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgZGVmYXVsdHMgfSBmcm9tIFwiLi9kZWZhdWx0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdEV4YW1wbGVzT3B0aW9uIHtcbiAgLy8gSWYgc2V0IGNvbnN0cnVjdCBleGFtcGxlcyB3aWxsIGJlIHJlbmRlcmVkXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8vIFBhdGggZm9yIHRoZSBjb25zdHJ1Y3QgZXhhbXBsZXNcbiAgcmVhZG9ubHkgZm9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUV4YW1wbGVzT3B0aW9uIHtcbiAgLy8gSWYgc2V0IHRlcnJhZm9ybSBleGFtcGxlcyB3aWxsIGJlIHJlbmRlcmVkXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8vIFBhdGggZm9yIHRoZSB0ZXJyYWZvcm0gZXhhbXBsZXNcbiAgcmVhZG9ubHkgZm9sZGVyPzogc3RyaW5nO1xuICAvLyBUaGUgSENMIGNvbmZpZyBmaWxlIHRvIHVzZSBmb3IgdGhlIHRlcnJhZm9ybSBwcm92aWRlclxuICByZWFkb25seSBwcm92aWRlckNvbmZpZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIeWJyaWRNb2R1bGVPcHRpb25zIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSB0YXJnZXQgdmVyc2lvbiBvZiB0aGlzIGxpYnJhcnkuXG4gICAqIEBkZWZhdWx0IFwiXjAuMTAuMVwiXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrdGZWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgdmVyc2lvbiB0byB1c2VcbiAgICogQGRlZmF1bHQgXCJeMTAuMC4xMlwiXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSB0ZXJyYWZvcm1FeGFtcGxlcz86IFRlcnJhZm9ybUV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSBjb25zdHJ1Y3QgZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RFeGFtcGxlcz86IENvbnN0cnVjdEV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKkRlZmF1bHRzIHRvIGEgdXVpZCBzdHJpbmcgYXMgY2RrdGYgd291bGRcbiAgICogTW9zdGx5IHVzZWQgZm9yIHRlc3RpbmcgdG8gaGF2ZSBhIHByZWRpY3RhYmxlIHJlc3VsdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdElkPzogc3RyaW5nO1xufVxuXG5jb25zdCBjb25zdHJ1Y3RTcmNDb2RlID0gYFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNeUNvbnN0cnVjdE9wdGlvbnMge1xuICByZWFkb25seSBwcm9wZXJ0eUE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE15Q29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHVibGljIGNvbmZpZzogTXlDb25zdHJ1Y3RPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxufVxuYDtcblxuY29uc3QgY29uc3RydWN0VGVzdENvZGUgPSBgXG5pbXBvcnQgeyBUZXN0aW5nIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBNeUNvbnN0cnVjdCB9IGZyb20gXCIuLi9cIjtcblxuLy8gVG8gbGVhcm4gbW9yZSBhYm91dCB0ZXN0aW5nIHNlZSBjZGsudGYvdGVzdGluZ1xuZGVzY3JpYmUoXCJNeUNvbnN0cnVjdFwiLCAoKSA9PiB7XG4gIGl0KFwic2hvdWxkIHN5bnRoZXNpemVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIFRlc3Rpbmcuc3ludGhTY29wZSgoc2NvcGUpID0+IHtcbiAgICAgICAgbmV3IE15Q29uc3RydWN0KHNjb3BlLCBcIm15LWNvbnN0cnVjdFwiLCB7XG4gICAgICAgICAgcHJvcGVydHlBOiBcInZhbHVlQVwiLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG59KTtcbmA7XG5cbmNvbnN0IG1vZHVsZVNyY0NvZGUgPSBgXG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBURk1vZHVsZVN0YWNrIH0gZnJvbSBcImNka3RmLXRmLW1vZHVsZS1zdGFja1wiO1xuaW1wb3J0IHsgTXlDb25zdHJ1Y3QgfSBmcm9tIFwiLi9pbmRleFwiO1xuXG5jbGFzcyBNeUF3ZXNvbWVNb2R1bGUgZXh0ZW5kcyBURk1vZHVsZVN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgTXlDb25zdHJ1Y3QodGhpcywgXCJteS1jb25zdHJ1Y3RcIiwge1xuICAgICAgcHJvcGVydHlBOiBcInZhbHVlQVwiLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbi8vIFRoaXMgaXMgdGhlIG5hbWUgdGhlIG1vZHVsZSBjYW4gYmUgZm91bmQgdW5kZXIuIFxuLy8gV2UgZXhwZWN0IGEgXCJteS1hd2Vzb21lLW1vZHVsZS5tZFwiIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuXG4vLyBUaGUgUkVBRE1FLm1kIGZpbGUgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbSB0aGlzIGZpbGUuXG5uZXcgTXlBd2Vzb21lTW9kdWxlKGFwcCwgXCJteS1hd2Vzb21lLW1vZHVsZVwiKTtcbmFwcC5zeW50aCgpO1xuYDtcblxuY29uc3QgdGVycmFmb3JtUmVhZG1lRG9jcyA9IGBcbiMgUGxlYXNlIGFkZCBoZXJlIHNvbWUgcHVyZSBIQ0wgdGVzdHMgZm9yIHlvdXIgbW9kdWxlcyBpbiBvcmRlciB0byB0ZXN0IEhDTCBJbnRlcm9wZXJhYmlsaXR5XG5cbkV4YW1wbGVzOlxuXG5tb2R1bGUgXCJteV9hd2Vzb21lX3Rlc3RcIiB7XG4gIHNvdXJjZSA9IFwiLi4vbW9kdWxlcy9teS1hd2Vzb21lLW1vZHVsZXNcIlxuICAuLi52YXJpYWJsZXMuLi5cbn1cbiAgICBgO1xuXG5jbGFzcyBTY3JpcHRGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwYXRoOiBzdHJpbmcsIHByaXZhdGUgY29udGVudDogc3RyaW5nKSB7XG4gICAgc3VwZXIocHJvamVjdCwgcGF0aCwge1xuICAgICAgZXhlY3V0YWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBIeWJyaWQgQ0RLVEYgQ29uc3RydWN0IC8gVGVycmFmb3JtIE1vZHVsZVxuICpcbiAqIEBwamlkIGh5YnJpZC1tb2R1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIEh5YnJpZE1vZHVsZSBleHRlbmRzIEpzaWlQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSHlicmlkTW9kdWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmRlZmF1bHRzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGVzbGludE9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZXNsaW50T3B0aW9ucywge1xuICAgICAgICBsaW50UHJvamVuUmM6IGZhbHNlLFxuICAgICAgfSksXG4gICAgICBwb3N0QnVpbGRTdGVwczogW10sXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiB8fCBcIl4xMC4wLjEwN1wiO1xuICAgIGNvbnN0IGNka3RmVmVyc2lvbiA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uIHx8IFwiXjAuMTAuMVwiO1xuXG4gICAgdGhpcy5hZGRQZWVyRGVwcyhgY29uc3RydWN0c0Ake2NvbnN0cnVjdFZlcnNpb259YCwgYGNka3RmQCR7Y2RrdGZWZXJzaW9ufWApO1xuICAgIHRoaXMuYWRkRGV2RGVwcyhgY2RrdGYtY2xpQCR7Y2RrdGZWZXJzaW9ufWAsIFwidHMtbm9kZVwiKTtcbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrXCIsIFwiY2RrdGZcIiwgXCJjZGt0Zi1oeWJyaWRcIiwgXCJ0ZXJyYWZvcm1cIik7XG4gICAgdGhpcy5zZXRTY3JpcHQoXCJ0ZXJyYWZvcm06dGVzdFwiLCBcIi4vc2NyaXB0cy90Zi1tb2R1bGUtdGVzdC5zaFwiKTtcblxuICAgIC8vIE1vZHVsZSBFbnRyeXBvaW50XG4gICAgdGhpcy5hZGREZXBzKFwiY2RrdGYtdGYtbW9kdWxlLXN0YWNrXCIpO1xuICAgIGNvbnN0IG1vZHVsZURvY3MgPSBgXG4jIE15IEF3ZXNvbWUgTW9kdWxlXG5cbiMjIFVzYWdlXG5cblxcYFxcYFxcYGhjbFxubW9kdWxlIFwiZWtzX21hbmFnZWRfbm9kZV9ncm91cFwiIHtcbiAgc291cmNlID0gXCIke1xuICAgIG9wdGlvbnMucmVwb3NpdG9yeVVybFxuICAgICAgPy5yZXBsYWNlKFwiaHR0cHM6Ly9naXRodWIuY29tL1wiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCJodHRwOi8vZ2l0aHViLmNvbS9cIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiZ2l0aHViLmNvbS9cIiwgXCJcIikgfHwgXCJteS1naXRodWItcmVwb1wiXG4gIH0vL21vZHVsZXMvbXktYXdlc29tZS1tb2R1bGVcIlxuXG59XG5cXGBcXGBcXGBcbiAgICBgO1xuXG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJpbmRleC50c1wiOiBjb25zdHJ1Y3RTcmNDb2RlLnRyaW0oKSxcbiAgICAgICAgXCJ0Zk1vZHVsZXMudHNcIjogbW9kdWxlU3JjQ29kZS50cmltKCksXG4gICAgICAgIFwibXktYXdlc29tZS1tb2R1bGUubWRcIjogbW9kdWxlRG9jcy50cmltKCksXG4gICAgICAgIFwiY2RrdGYuanNvblwiOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgdGZNb2R1bGVzLnRzXCIsXG4gICAgICAgICAgICB0ZXJyYWZvcm1Qcm92aWRlcnM6IFtcImhhc2hpY29ycC9udWxsQDMuMS4xXCJdLCAvLyBXZSBuZWVkIGF0IGxlYXN0IGEgcHJvdmlkZXIgZm9yIGdldCB0byBzdWNjZWVkXG4gICAgICAgICAgICB0ZXJyYWZvcm1Nb2R1bGVzOiBbXSxcbiAgICAgICAgICAgIG91dHB1dDogXCJtb2R1bGVzXCIsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6IG9wdGlvbnMucHJvamVjdElkIHx8IHV1aWQoKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgMlxuICAgICAgICApLFxuICAgICAgICBcIl9fdGVzdHNfXy9pbmRleC10ZXN0LnRzXCI6IGNvbnN0cnVjdFRlc3RDb2RlLnRyaW0oKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcyAmJiBvcHRpb25zLnRlcnJhZm9ybUV4YW1wbGVzLmVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyQ29uZmlnID1cbiAgICAgICAgb3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcy5wcm92aWRlckNvbmZpZyB8fFxuICAgICAgICBgXG50ZXJyYWZvcm0ge1xuICAjIFRlcnJhZm9ybSBiaW5hcnkgdmVyc2lvbiBjb25zdHJhaW50XG4gIHJlcXVpcmVkX3ZlcnNpb24gPSBcIn4+IDEuMS4wXCJcblxuICAjIERlZmluZSBhbGwgbmVlZGVkIHByb3ZpZGVycyBoZXJlLCB5b3UgY2FuIGZpbmQgYWxsIGF2YWlsYWJsZSBwcm92aWRlcnMgaGVyZTpcbiAgIyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9cbiAgcmVxdWlyZWRfcHJvdmlkZXJzIHt9XG59XG5cbiMgSW5pdGlhbGl6ZSB5b3VyIHByb3ZpZGVyIGhlcmVcblxuYC50cmltKCk7XG4gICAgICBjb25zdCBleGFtcGxlc0ZvbGRlciA9XG4gICAgICAgIG9wdGlvbnMudGVycmFmb3JtRXhhbXBsZXMuZm9sZGVyIHx8IFwidGVycmFmb3JtLWV4YW1wbGVzXCI7XG5cbiAgICAgIG5ldyBTYW1wbGVEaXIodGhpcywgZXhhbXBsZXNGb2xkZXIsIHtcbiAgICAgICAgZmlsZXM6IHtcbiAgICAgICAgICBcIm1haW4udGZcIjogYFxuIyBDb25maWd1cmUgVGVycmFmb3JtXG4ke3Byb3ZpZGVyQ29uZmlnfVxuXG4gICAgICAgICAgICBgLnRyaW1TdGFydCgpLFxuICAgICAgICAgIFwiUkVBRE1FLm1kXCI6IHRlcnJhZm9ybVJlYWRtZURvY3MudHJpbSgpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZ2l0aWdub3JlLmFkZFBhdHRlcm5zKFxuICAgICAgICBgJHtleGFtcGxlc0ZvbGRlcn0vLnRlcnJhZm9ybWAsXG4gICAgICAgIGAke2V4YW1wbGVzRm9sZGVyfS8udGVycmFmb3JtLmxvY2suaGNsYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jb25zdHJ1Y3RFeGFtcGxlcyAmJiBvcHRpb25zLmNvbnN0cnVjdEV4YW1wbGVzLmVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdEV4YW1wbGVGb2xkZXIgPVxuICAgICAgICBvcHRpb25zLmNvbnN0cnVjdEV4YW1wbGVzLmZvbGRlciB8fCBcImNvbnN0cnVjdC1leGFtcGxlc1wiO1xuXG4gICAgICBjb25zdCBsZXZlbHMgPSBjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyXG4gICAgICAgIC5zcGxpdChcIi9cIilcbiAgICAgICAgLm1hcCgoKSA9PiBcIi4uXCIpXG4gICAgICAgIC5qb2luKFwiL1wiKTtcblxuICAgICAgY29uc3QgY29uc3RydWN0UmVhZG1lRG9jcyA9IGBcbiMgQ29uc3RydWN0IEV4YW1wbGVzXG5cbkV4YW1wbGUgdXNlLWNhc2VzIGZvciB0aGUgQ29uc3RydWN0IGxpYnJhcnkuXG5cbi0gW0Jhc2ljIFVzYWdlXSguL2Jhc2ljLnRzKVxuXG5UbyBlbnN1cmUgYWxsIGV4YW1wbGVzIGFyZSB3b3JraW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSBbaW5kZXgudHNdKC4vaW5kZXgudHMpIGZpbGUgaXMgaW1wb3J0aW5nIGFsbCBvZiB0aGVtLlxuYDtcblxuICAgICAgY29uc3QgY29uc3RydWN0RXhhbXBsZUNvZGUgPSBgXG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgTXlDb25zdHJ1Y3QgfSBmcm9tIFwiJHtsZXZlbHN9L3NyYy9cIjtcblxuZXhwb3J0IGNsYXNzIEJhc2ljRXhhbXBsZSBleHRlbmRzIFRlcnJhZm9ybVN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUpO1xuXG4gICAgbmV3IE15Q29uc3RydWN0KHRoaXMsIFwibXktY29uc3RydWN0XCIsIHtcbiAgICAgIHByb3BlcnR5QTogXCJ2YWx1ZUFcIixcbiAgICB9KTtcbiAgfVxufVxuXG5cbmA7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGVDb2xsZWN0aW9uQ29kZSA9IGBcbi8vIFRoaXMgZmlsZSB3aWxsIGJlIHN5bnRoZXNpemVkIHRvIGNoZWNrIGlmIGFsbCBleGFtcGxlcyBhcmUgd29ya2luZ1xuXG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbi8vIEFsbCBleGFtcGxlcyBuZWVkIHRvIGJlIGltcG9ydGVkIGhlcmVcbmltcG9ydCB7IEJhc2ljRXhhbXBsZSB9IGZyb20gXCIuL2Jhc2ljXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuLy8gQWxsIGV4YW1wbGVzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgaGVyZVxubmV3IEJhc2ljRXhhbXBsZShhcHAsIFwiYmFzaWMtZXhhbXBsZVwiKTtcbmFwcC5zeW50aCgpO1xuYDtcblxuICAgICAgbmV3IFNhbXBsZURpcih0aGlzLCBjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyLCB7XG4gICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgXCJpbmRleC50c1wiOiBleGFtcGxlQ29sbGVjdGlvbkNvZGUudHJpbSgpLFxuICAgICAgICAgIFwiYmFzaWMudHNcIjogY29uc3RydWN0RXhhbXBsZUNvZGUudHJpbSgpLFxuICAgICAgICAgIFwiY2RrdGYuanNvblwiOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgLS1wcm9qZWN0IC4uL3RzY29uZmlnLmRldi5qc29uIGluZGV4LnRzXCIsXG4gICAgICAgICAgICAgIHByb2plY3RJZDogb3B0aW9ucy5wcm9qZWN0SWQgfHwgdXVpZCgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKSxcbiAgICAgICAgICBcIlJFQURNRS5tZFwiOiBjb25zdHJ1Y3RSZWFkbWVEb2NzLnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRlc3RUYXNrLmV4ZWMoYGNka3RmIHN5bnRoYCwge1xuICAgICAgICBjd2Q6IGNvbnN0cnVjdEV4YW1wbGVGb2xkZXIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZ2l0aWdub3JlLmFkZFBhdHRlcm5zKGAke2NvbnN0cnVjdEV4YW1wbGVGb2xkZXJ9L2Nka3RmLm91dGApO1xuICAgIH1cblxuICAgIHRoaXMuZ2l0aWdub3JlLmFkZFBhdHRlcm5zKFwic3JjLy5nZW5cIiwgXCJzcmMvY2RrdGYub3V0XCIsIFwic3JjL21vZHVsZXNcIik7XG4gICAgdGhpcy5jb21waWxlVGFzay5wcmVwZW5kRXhlYyhcImNka3RmIGdldFwiLCB7XG4gICAgICBjd2Q6IHRoaXMuc3JjZGlyLFxuICAgIH0pO1xuICAgIHRoaXMuY29tcGlsZVRhc2suZXhlYyhcImNka3RmIHN5bnRoXCIsIHtcbiAgICAgIGN3ZDogdGhpcy5zcmNkaXIsXG4gICAgICBuYW1lOiBcIlN5bnRoZXNpemUgbW9kdWxlIEhDTFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IFNjcmlwdEZpbGUoXG4gICAgICB0aGlzLFxuICAgICAgXCJzY3JpcHRzL2NvcHktbW9kdWxlcy5zaFwiLFxuICAgICAgYFxuIyEvYmluL2Jhc2hcbiMgVGhpcyBzY3JpcHQgaXMgY3JlYXRlZCBieSBwcm9qZW4sIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5Llxuc2V0IC1lXG5cblNDUklQVFBBVEg9XCIkKCBjZCAtLSBcIiQoZGlybmFtZSBcIiQwXCIpXCIgPi9kZXYvbnVsbCAyPiYxIDsgcHdkIC1QIClcIlxuXG4jIGNoZWNrIGlmIHRoZSBtb2R1bGUgZm9sZGVyIGhhcyBiZWVuIGdlbmVyYXRlZCBhcyBleHBlY3RlZFxuTU9EVUxFU19GT0xERVI9JCggY2QgLS0gXCIkU0NSSVBUUEFUSC8uLi9zcmMvbW9kdWxlcy9zdGFja3NcIiA+L2Rldi9udWxsIDI+JjEgOyBwd2QgLVAgKVxuU1JDX0ZPTERFUj0kKCBjZCAtLSBcIiRTQ1JJUFRQQVRILy4uL3NyYy9cIiA+L2Rldi9udWxsIDI+JjEgOyBwd2QgLVAgKVxuVEFSR0VUX0ZPTERFUj1cIiRTQ1JJUFRQQVRILy4uL21vZHVsZXNcIlxuXG5pZiBbICEgLWQgXCIkTU9EVUxFU19GT0xERVJcIiBdOyB0aGVuXG4gIGVjaG8gXCJFeHBlY3RlZCBtb2R1bGUgZm9sZGVyIHRvIGV4aXN0IGF0ICRNT0RVTEVTX0ZPTERFUlwiXG4gIGV4aXQgMVxuZmlcblxuY2QgXCIkTU9EVUxFU19GT0xERVJcIlxuZm9yIGQgaW4gKi8gOyBkb1xuICAgIFsgLUwgXCJcXCR7ZCUvfVwiIF0gJiYgY29udGludWVcblxuICAgIGRpcm5hbWU9XCJcXCR7ZCUvfVwiXG5cblxuICAgICMgQ2hlY2sgaWYgZXZlcnl0aGluZyBpcyBpbiBwbGFjZVxuICAgIGlmIFsgISAtZiBcIiRNT0RVTEVTX0ZPTERFUi8kZGlybmFtZS9jZGsudGYuanNvblwiIF07IHRoZW5cbiAgICAgIGVjaG8gXCJFeHBlY3RlZCBjb2RlIGZvciAkZGlybmFtZSBhdCBjZGsudGYuanNvbiB0byBleGlzdCBhdCAkTU9EVUxFU19GT0xERVIvJGRpcm5hbWVcIlxuICAgICAgZXhpdCAxXG4gICAgZmlcblxuICAgIGlmIFsgISAtZiBcIiRTUkNfRk9MREVSLyRkaXJuYW1lLm1kXCIgXTsgdGhlblxuICAgICAgZWNobyBcIkV4cGVjdGVkIERvY3VtZW50YXRpb24gZm9yICRkaXJuYW1lIGF0ICRkaXJuYW1lLm1kIHRvIGV4aXN0IGF0ICRTUkNfRk9MREVSLyRkaXJuYW1lLm1kXCJcbiAgICAgIGV4aXQgMVxuICAgIGZpXG5cbiAgICAjIENvcHkgbW9kdWxlIGFuZCByZWFkbWUgdG9nZXRoZXJcbiAgICBlY2hvIFwiQ29weWluZyBDb2RlIGFuZCBSRUFETUUgZm9yIG1vZHVsZSAkZGlybmFtZVwiXG4gICAgbWtkaXIgLXAgXCIkVEFSR0VUX0ZPTERFUlwiXG4gICAgbWtkaXIgLXAgXCIkVEFSR0VUX0ZPTERFUi8kZGlybmFtZVwiXG4gICAgY3AgXCIkTU9EVUxFU19GT0xERVIvJGRpcm5hbWUvY2RrLnRmLmpzb25cIiBcIiRUQVJHRVRfRk9MREVSLyRkaXJuYW1lL2Nkay50Zi5qc29uXCJcbiAgICBjcCBcIiRTUkNfRk9MREVSLyRkaXJuYW1lLm1kXCIgXCIkVEFSR0VUX0ZPTERFUi8kZGlybmFtZS9SRUFETUUubWRcIlxuXG4gICAgIyBBZGQgUkVBRE1FIGhjbCBkb2NzXG4gICAgaWYgd2hpY2ggdGVycmFmb3JtLWRvY3MgPi9kZXYvbnVsbDsgdGhlblxuICAgICAgdGVycmFmb3JtLWRvY3MgbWFya2Rvd24gdGFibGUgLS1vdXRwdXQtZmlsZSBcIiRUQVJHRVRfRk9MREVSLyRkaXJuYW1lL1JFQURNRS5tZFwiIFwiJFRBUkdFVF9GT0xERVIvJGRpcm5hbWVcIiBcbiAgICBlbHNlXG4gICAgICBkb2NrZXIgcnVuIC0tcm0gLS12b2x1bWUgXCIkU0NSSVBUUEFUSC8uLi9tb2R1bGVzOi90ZXJyYWZvcm0tZG9jc1wiIC11ICQoaWQgLXUpIHF1YXkuaW8vdGVycmFmb3JtLWRvY3MvdGVycmFmb3JtLWRvY3M6MC4xNi4wIG1hcmtkb3duIHRhYmxlIC0tb3V0cHV0LWZpbGUgXCIvdGVycmFmb3JtLWRvY3MvJGRpcm5hbWUvUkVBRE1FLm1kXCIgL3RlcnJhZm9ybS1kb2NzLyRkaXJuYW1lXG4gICAgZmlcbmRvbmVcbmAudHJpbSgpXG4gICAgKTtcbiAgICB0aGlzLmNvbXBpbGVUYXNrLmV4ZWMoXCIuL3NjcmlwdHMvY29weS1tb2R1bGVzLnNoXCIsIHtcbiAgICAgIG5hbWU6IFwiQ29weSBIQ0wgTW9kdWxlc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gaWdub3JlIGRpc3QgaW4gdGVzdHNcbiAgICB0aGlzLmplc3Q/LmFkZElnbm9yZVBhdHRlcm4oXCJkaXN0XCIpO1xuXG4gICAgbmV3IFNjcmlwdEZpbGUoXG4gICAgICB0aGlzLFxuICAgICAgXCIuL3NjcmlwdHMvdGYtbW9kdWxlLXRlc3Quc2hcIixcbiAgICAgIGBcbiMhL2Jpbi9iYXNoXG4jIFRoaXMgc2NyaXB0IGlzIGNyZWF0ZWQgYnkgcHJvamVuLCBkbyBub3QgZWRpdCBpdCBkaXJlY3RseS5cbnNldCAtZVxuXG50ZXJyYWZvcm0gLWNoZGlyPXRlcnJhZm9ybSBpbml0IC0tdXBncmFkZVxudGVycmFmb3JtIC1jaGRpcj10ZXJyYWZvcm0gZm10XG50ZXJyYWZvcm0gLWNoZGlyPXRlcnJhZm9ybSB2YWxpZGF0ZVxudGVycmFmb3JtIC1jaGRpcj10ZXJyYWZvcm0gcGxhbiAgICAgXG4gICAgICAgIGBcbiAgICApO1xuXG4gICAgdGhpcy50ZXN0VGFzay5leGVjKFwiLi9zY3JpcHRzL3RmLW1vZHVsZS10ZXN0LnNoXCIpO1xuICAgIHRoaXMuamVzdD8uYWRkSWdub3JlUGF0dGVybihcInRlcnJhZm9ybVwiKTtcbiAgfVxufVxuIl19
307
+ HybridModule[_a] = { fqn: "projen-cdktf-hybrid-construct.HybridModule", version: "0.1.58" };
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlicmlkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oeWJyaWQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWlFO0FBQ2pFLHdDQUFzRTtBQUN0RSwrQkFBa0M7QUFDbEMseUNBQXNDO0FBc0R0QyxNQUFNLGdCQUFnQixHQUFHOzs7Ozs7Ozs7Ozs7Q0FZeEIsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJ6QixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnJCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHOzs7Ozs7Ozs7S0FTdkIsQ0FBQztBQUVOLE1BQU0sVUFBVyxTQUFRLGlCQUFRO0lBQy9CLFlBQVksT0FBZ0IsRUFBRSxJQUFZLEVBQVUsT0FBZTtRQUNqRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFIK0MsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUluRSxDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsWUFBYSxTQUFRLGlCQUFXO0lBQzNDLFlBQVksT0FBNEI7O1FBQ3RDLEtBQUssQ0FBQztZQUNKLEdBQUcsbUJBQVE7WUFDWCxHQUFHLE9BQU87WUFDVixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDdEQsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQztZQUNGLGNBQWMsRUFBRSxFQUFFO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQztRQUNq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QUMsQ0FBQztRQUVILElBQUksVUFBVSxDQUNaLElBQUksRUFDSix5QkFBeUIsRUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpREwsQ0FBQyxJQUFJLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDakQsSUFBSSxFQUFFLGtCQUFrQjtTQUN6QixDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFFcEMsSUFBSSxVQUFVLENBQ1osSUFBSSxFQUNKLDZCQUE2QixFQUM3Qjs7Ozs7Ozs7O1NBU0csQ0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNsRCxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtJQUMzQyxDQUFDOztBQWpRSCxvQ0FrUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQmFzZSwgSVJlc29sdmVyLCBQcm9qZWN0LCBTYW1wbGVEaXIgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBKc2lpUHJvamVjdCwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwicHJvamVuL2xpYi9jZGtcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgZGVmYXVsdHMgfSBmcm9tIFwiLi9kZWZhdWx0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdEV4YW1wbGVzT3B0aW9uIHtcbiAgLy8gSWYgc2V0IGNvbnN0cnVjdCBleGFtcGxlcyB3aWxsIGJlIHJlbmRlcmVkXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8vIFBhdGggZm9yIHRoZSBjb25zdHJ1Y3QgZXhhbXBsZXNcbiAgcmVhZG9ubHkgZm9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUV4YW1wbGVzT3B0aW9uIHtcbiAgLy8gSWYgc2V0IHRlcnJhZm9ybSBleGFtcGxlcyB3aWxsIGJlIHJlbmRlcmVkXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8vIFBhdGggZm9yIHRoZSB0ZXJyYWZvcm0gZXhhbXBsZXNcbiAgcmVhZG9ubHkgZm9sZGVyPzogc3RyaW5nO1xuICAvLyBUaGUgSENMIGNvbmZpZyBmaWxlIHRvIHVzZSBmb3IgdGhlIHRlcnJhZm9ybSBwcm92aWRlclxuICByZWFkb25seSBwcm92aWRlckNvbmZpZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIeWJyaWRNb2R1bGVPcHRpb25zIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSB0YXJnZXQgdmVyc2lvbiBvZiB0aGlzIGxpYnJhcnkuXG4gICAqIEBkZWZhdWx0IFwiXjAuMTAuMVwiXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrdGZWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgdmVyc2lvbiB0byB1c2VcbiAgICogQGRlZmF1bHQgXCJeMTAuMC4xMlwiXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSB0ZXJyYWZvcm1FeGFtcGxlcz86IFRlcnJhZm9ybUV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSBjb25zdHJ1Y3QgZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RFeGFtcGxlcz86IENvbnN0cnVjdEV4YW1wbGVzT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgYSB0ZXJyYWZvcm0gZXhhbXBsZXMgZm9sZGVyIHdpbGwgYmUgY3JlYXRlZFxuICAgKkRlZmF1bHRzIHRvIGEgdXVpZCBzdHJpbmcgYXMgY2RrdGYgd291bGRcbiAgICogTW9zdGx5IHVzZWQgZm9yIHRlc3RpbmcgdG8gaGF2ZSBhIHByZWRpY3RhYmxlIHJlc3VsdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdElkPzogc3RyaW5nO1xufVxuXG5jb25zdCBjb25zdHJ1Y3RTcmNDb2RlID0gYFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNeUNvbnN0cnVjdE9wdGlvbnMge1xuICByZWFkb25seSBwcm9wZXJ0eUE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE15Q29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHVibGljIGNvbmZpZzogTXlDb25zdHJ1Y3RPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxufVxuYDtcblxuY29uc3QgY29uc3RydWN0VGVzdENvZGUgPSBgXG5pbXBvcnQgeyBUZXN0aW5nIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBNeUNvbnN0cnVjdCB9IGZyb20gXCIuLi9cIjtcblxuLy8gVG8gbGVhcm4gbW9yZSBhYm91dCB0ZXN0aW5nIHNlZSBjZGsudGYvdGVzdGluZ1xuZGVzY3JpYmUoXCJNeUNvbnN0cnVjdFwiLCAoKSA9PiB7XG4gIGl0KFwic2hvdWxkIHN5bnRoZXNpemVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIFRlc3Rpbmcuc3ludGhTY29wZSgoc2NvcGUpID0+IHtcbiAgICAgICAgbmV3IE15Q29uc3RydWN0KHNjb3BlLCBcIm15LWNvbnN0cnVjdFwiLCB7XG4gICAgICAgICAgcHJvcGVydHlBOiBcInZhbHVlQVwiLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG59KTtcbmA7XG5cbmNvbnN0IG1vZHVsZVNyY0NvZGUgPSBgXG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBURk1vZHVsZVN0YWNrIH0gZnJvbSBcImNka3RmLXRmLW1vZHVsZS1zdGFja1wiO1xuaW1wb3J0IHsgTXlDb25zdHJ1Y3QgfSBmcm9tIFwiLi9pbmRleFwiO1xuXG5jbGFzcyBNeUF3ZXNvbWVNb2R1bGUgZXh0ZW5kcyBURk1vZHVsZVN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgTXlDb25zdHJ1Y3QodGhpcywgXCJteS1jb25zdHJ1Y3RcIiwge1xuICAgICAgcHJvcGVydHlBOiBcInZhbHVlQVwiLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbi8vIFRoaXMgaXMgdGhlIG5hbWUgdGhlIG1vZHVsZSBjYW4gYmUgZm91bmQgdW5kZXIuIFxuLy8gV2UgZXhwZWN0IGEgXCJteS1hd2Vzb21lLW1vZHVsZS5tZFwiIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuXG4vLyBUaGUgUkVBRE1FLm1kIGZpbGUgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbSB0aGlzIGZpbGUuXG5uZXcgTXlBd2Vzb21lTW9kdWxlKGFwcCwgXCJteS1hd2Vzb21lLW1vZHVsZVwiKTtcbmFwcC5zeW50aCgpO1xuYDtcblxuY29uc3QgdGVycmFmb3JtUmVhZG1lRG9jcyA9IGBcbiMgUGxlYXNlIGFkZCBoZXJlIHNvbWUgcHVyZSBIQ0wgdGVzdHMgZm9yIHlvdXIgbW9kdWxlcyBpbiBvcmRlciB0byB0ZXN0IEhDTCBJbnRlcm9wZXJhYmlsaXR5XG5cbkV4YW1wbGVzOlxuXG5tb2R1bGUgXCJteV9hd2Vzb21lX3Rlc3RcIiB7XG4gIHNvdXJjZSA9IFwiLi4vbW9kdWxlcy9teS1hd2Vzb21lLW1vZHVsZXNcIlxuICAuLi52YXJpYWJsZXMuLi5cbn1cbiAgICBgO1xuXG5jbGFzcyBTY3JpcHRGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwYXRoOiBzdHJpbmcsIHByaXZhdGUgY29udGVudDogc3RyaW5nKSB7XG4gICAgc3VwZXIocHJvamVjdCwgcGF0aCwge1xuICAgICAgZXhlY3V0YWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBIeWJyaWQgQ0RLVEYgQ29uc3RydWN0IC8gVGVycmFmb3JtIE1vZHVsZVxuICpcbiAqIEBwamlkIGh5YnJpZC1tb2R1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIEh5YnJpZE1vZHVsZSBleHRlbmRzIEpzaWlQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSHlicmlkTW9kdWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmRlZmF1bHRzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGVzbGludE9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZXNsaW50T3B0aW9ucywge1xuICAgICAgICBsaW50UHJvamVuUmM6IGZhbHNlLFxuICAgICAgfSksXG4gICAgICBwb3N0QnVpbGRTdGVwczogW10sXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiB8fCBcIl4xMC4wLjEwN1wiO1xuICAgIGNvbnN0IGNka3RmVmVyc2lvbiA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uIHx8IFwiXjAuMTAuMVwiO1xuXG4gICAgdGhpcy5hZGRQZWVyRGVwcyhgY29uc3RydWN0c0Ake2NvbnN0cnVjdFZlcnNpb259YCwgYGNka3RmQCR7Y2RrdGZWZXJzaW9ufWApO1xuICAgIHRoaXMuYWRkRGV2RGVwcyhgY2RrdGYtY2xpQCR7Y2RrdGZWZXJzaW9ufWAsIFwidHMtbm9kZVwiKTtcbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrXCIsIFwiY2RrdGZcIiwgXCJjZGt0Zi1oeWJyaWRcIiwgXCJ0ZXJyYWZvcm1cIik7XG4gICAgdGhpcy5zZXRTY3JpcHQoXCJ0ZXJyYWZvcm06dGVzdFwiLCBcIi4vc2NyaXB0cy90Zi1tb2R1bGUtdGVzdC5zaFwiKTtcblxuICAgIC8vIE1vZHVsZSBFbnRyeXBvaW50XG4gICAgdGhpcy5hZGREZXBzKFwiY2RrdGYtdGYtbW9kdWxlLXN0YWNrXCIpO1xuICAgIGNvbnN0IG1vZHVsZURvY3MgPSBgXG4jIE15IEF3ZXNvbWUgTW9kdWxlXG5cbiMjIFVzYWdlXG5cblxcYFxcYFxcYGhjbFxubW9kdWxlIFwiZWtzX21hbmFnZWRfbm9kZV9ncm91cFwiIHtcbiAgc291cmNlID0gXCIke1xuICAgIG9wdGlvbnMucmVwb3NpdG9yeVVybFxuICAgICAgPy5yZXBsYWNlKFwiaHR0cHM6Ly9naXRodWIuY29tL1wiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCJodHRwOi8vZ2l0aHViLmNvbS9cIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiZ2l0aHViLmNvbS9cIiwgXCJcIikgfHwgXCJteS1naXRodWItcmVwb1wiXG4gIH0vL21vZHVsZXMvbXktYXdlc29tZS1tb2R1bGVcIlxuXG59XG5cXGBcXGBcXGBcbiAgICBgO1xuXG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJpbmRleC50c1wiOiBjb25zdHJ1Y3RTcmNDb2RlLnRyaW0oKSxcbiAgICAgICAgXCJ0Zk1vZHVsZXMudHNcIjogbW9kdWxlU3JjQ29kZS50cmltKCksXG4gICAgICAgIFwibXktYXdlc29tZS1tb2R1bGUubWRcIjogbW9kdWxlRG9jcy50cmltKCksXG4gICAgICAgIFwiY2RrdGYuanNvblwiOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgdGZNb2R1bGVzLnRzXCIsXG4gICAgICAgICAgICB0ZXJyYWZvcm1Qcm92aWRlcnM6IFtcImhhc2hpY29ycC9udWxsQDMuMS4xXCJdLCAvLyBXZSBuZWVkIGF0IGxlYXN0IGEgcHJvdmlkZXIgZm9yIGdldCB0byBzdWNjZWVkXG4gICAgICAgICAgICB0ZXJyYWZvcm1Nb2R1bGVzOiBbXSxcbiAgICAgICAgICAgIG91dHB1dDogXCJtb2R1bGVzXCIsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6IG9wdGlvbnMucHJvamVjdElkIHx8IHV1aWQoKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgMlxuICAgICAgICApLFxuICAgICAgICBcIl9fdGVzdHNfXy9pbmRleC10ZXN0LnRzXCI6IGNvbnN0cnVjdFRlc3RDb2RlLnRyaW0oKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcyAmJiBvcHRpb25zLnRlcnJhZm9ybUV4YW1wbGVzLmVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyQ29uZmlnID1cbiAgICAgICAgb3B0aW9ucy50ZXJyYWZvcm1FeGFtcGxlcy5wcm92aWRlckNvbmZpZyB8fFxuICAgICAgICBgXG50ZXJyYWZvcm0ge1xuICAjIFRlcnJhZm9ybSBiaW5hcnkgdmVyc2lvbiBjb25zdHJhaW50XG4gIHJlcXVpcmVkX3ZlcnNpb24gPSBcIn4+IDEuMS4wXCJcblxuICAjIERlZmluZSBhbGwgbmVlZGVkIHByb3ZpZGVycyBoZXJlLCB5b3UgY2FuIGZpbmQgYWxsIGF2YWlsYWJsZSBwcm92aWRlcnMgaGVyZTpcbiAgIyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9cbiAgcmVxdWlyZWRfcHJvdmlkZXJzIHt9XG59XG5cbiMgSW5pdGlhbGl6ZSB5b3VyIHByb3ZpZGVyIGhlcmVcblxuYC50cmltKCk7XG4gICAgICBjb25zdCBleGFtcGxlc0ZvbGRlciA9XG4gICAgICAgIG9wdGlvbnMudGVycmFmb3JtRXhhbXBsZXMuZm9sZGVyIHx8IFwidGVycmFmb3JtLWV4YW1wbGVzXCI7XG5cbiAgICAgIG5ldyBTYW1wbGVEaXIodGhpcywgZXhhbXBsZXNGb2xkZXIsIHtcbiAgICAgICAgZmlsZXM6IHtcbiAgICAgICAgICBcIm1haW4udGZcIjogYFxuIyBDb25maWd1cmUgVGVycmFmb3JtXG4ke3Byb3ZpZGVyQ29uZmlnfVxuXG4gICAgICAgICAgICBgLnRyaW1TdGFydCgpLFxuICAgICAgICAgIFwiUkVBRE1FLm1kXCI6IHRlcnJhZm9ybVJlYWRtZURvY3MudHJpbSgpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZ2l0aWdub3JlLmFkZFBhdHRlcm5zKFxuICAgICAgICBgJHtleGFtcGxlc0ZvbGRlcn0vLnRlcnJhZm9ybWAsXG4gICAgICAgIGAke2V4YW1wbGVzRm9sZGVyfS8udGVycmFmb3JtLmxvY2suaGNsYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jb25zdHJ1Y3RFeGFtcGxlcyAmJiBvcHRpb25zLmNvbnN0cnVjdEV4YW1wbGVzLmVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdEV4YW1wbGVGb2xkZXIgPVxuICAgICAgICBvcHRpb25zLmNvbnN0cnVjdEV4YW1wbGVzLmZvbGRlciB8fCBcImNvbnN0cnVjdC1leGFtcGxlc1wiO1xuXG4gICAgICBjb25zdCBsZXZlbHMgPSBjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyXG4gICAgICAgIC5zcGxpdChcIi9cIilcbiAgICAgICAgLm1hcCgoKSA9PiBcIi4uXCIpXG4gICAgICAgIC5qb2luKFwiL1wiKTtcblxuICAgICAgY29uc3QgY29uc3RydWN0UmVhZG1lRG9jcyA9IGBcbiMgQ29uc3RydWN0IEV4YW1wbGVzXG5cbkV4YW1wbGUgdXNlLWNhc2VzIGZvciB0aGUgQ29uc3RydWN0IGxpYnJhcnkuXG5cbi0gW0Jhc2ljIFVzYWdlXSguL2Jhc2ljLnRzKVxuXG5UbyBlbnN1cmUgYWxsIGV4YW1wbGVzIGFyZSB3b3JraW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSBbaW5kZXgudHNdKC4vaW5kZXgudHMpIGZpbGUgaXMgaW1wb3J0aW5nIGFsbCBvZiB0aGVtLlxuYDtcblxuICAgICAgY29uc3QgY29uc3RydWN0RXhhbXBsZUNvZGUgPSBgXG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgTXlDb25zdHJ1Y3QgfSBmcm9tIFwiJHtsZXZlbHN9L3NyYy9cIjtcblxuZXhwb3J0IGNsYXNzIEJhc2ljRXhhbXBsZSBleHRlbmRzIFRlcnJhZm9ybVN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUpO1xuXG4gICAgbmV3IE15Q29uc3RydWN0KHRoaXMsIFwibXktY29uc3RydWN0XCIsIHtcbiAgICAgIHByb3BlcnR5QTogXCJ2YWx1ZUFcIixcbiAgICB9KTtcbiAgfVxufVxuXG5cbmA7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGVDb2xsZWN0aW9uQ29kZSA9IGBcbi8vIFRoaXMgZmlsZSB3aWxsIGJlIHN5bnRoZXNpemVkIHRvIGNoZWNrIGlmIGFsbCBleGFtcGxlcyBhcmUgd29ya2luZ1xuXG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbi8vIEFsbCBleGFtcGxlcyBuZWVkIHRvIGJlIGltcG9ydGVkIGhlcmVcbmltcG9ydCB7IEJhc2ljRXhhbXBsZSB9IGZyb20gXCIuL2Jhc2ljXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuLy8gQWxsIGV4YW1wbGVzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgaGVyZVxubmV3IEJhc2ljRXhhbXBsZShhcHAsIFwiYmFzaWMtZXhhbXBsZVwiKTtcbmFwcC5zeW50aCgpO1xuYDtcblxuICAgICAgbmV3IFNhbXBsZURpcih0aGlzLCBjb25zdHJ1Y3RFeGFtcGxlRm9sZGVyLCB7XG4gICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgXCJpbmRleC50c1wiOiBleGFtcGxlQ29sbGVjdGlvbkNvZGUudHJpbSgpLFxuICAgICAgICAgIFwiYmFzaWMudHNcIjogY29uc3RydWN0RXhhbXBsZUNvZGUudHJpbSgpLFxuICAgICAgICAgIFwiY2RrdGYuanNvblwiOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICAgICAgICBhcHA6IGBucHggdHMtbm9kZSAtLXByb2plY3QgJHtsZXZlbHN9L3RzY29uZmlnLmRldi5qc29uIGluZGV4LnRzYCxcbiAgICAgICAgICAgICAgcHJvamVjdElkOiBvcHRpb25zLnByb2plY3RJZCB8fCB1dWlkKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApLFxuICAgICAgICAgIFwiUkVBRE1FLm1kXCI6IGNvbnN0cnVjdFJlYWRtZURvY3MudHJpbSgpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudGVzdFRhc2suZXhlYyhgY2RrdGYgc3ludGhgLCB7XG4gICAgICAgIGN3ZDogY29uc3RydWN0RXhhbXBsZUZvbGRlcixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5naXRpZ25vcmUuYWRkUGF0dGVybnMoYCR7Y29uc3RydWN0RXhhbXBsZUZvbGRlcn0vY2RrdGYub3V0YCk7XG4gICAgfVxuXG4gICAgdGhpcy5naXRpZ25vcmUuYWRkUGF0dGVybnMoXCJzcmMvLmdlblwiLCBcInNyYy9jZGt0Zi5vdXRcIiwgXCJzcmMvbW9kdWxlc1wiKTtcbiAgICB0aGlzLmNvbXBpbGVUYXNrLnByZXBlbmRFeGVjKFwiY2RrdGYgZ2V0XCIsIHtcbiAgICAgIGN3ZDogdGhpcy5zcmNkaXIsXG4gICAgfSk7XG4gICAgdGhpcy5jb21waWxlVGFzay5leGVjKFwiY2RrdGYgc3ludGhcIiwge1xuICAgICAgY3dkOiB0aGlzLnNyY2RpcixcbiAgICAgIG5hbWU6IFwiU3ludGhlc2l6ZSBtb2R1bGUgSENMXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgU2NyaXB0RmlsZShcbiAgICAgIHRoaXMsXG4gICAgICBcInNjcmlwdHMvY29weS1tb2R1bGVzLnNoXCIsXG4gICAgICBgXG4jIS9iaW4vYmFzaFxuIyBUaGlzIHNjcmlwdCBpcyBjcmVhdGVkIGJ5IHByb2plbiwgZG8gbm90IGVkaXQgaXQgZGlyZWN0bHkuXG5zZXQgLWVcblxuU0NSSVBUUEFUSD1cIiQoIGNkIC0tIFwiJChkaXJuYW1lIFwiJDBcIilcIiA+L2Rldi9udWxsIDI+JjEgOyBwd2QgLVAgKVwiXG5cbiMgY2hlY2sgaWYgdGhlIG1vZHVsZSBmb2xkZXIgaGFzIGJlZW4gZ2VuZXJhdGVkIGFzIGV4cGVjdGVkXG5NT0RVTEVTX0ZPTERFUj0kKCBjZCAtLSBcIiRTQ1JJUFRQQVRILy4uL3NyYy9tb2R1bGVzL3N0YWNrc1wiID4vZGV2L251bGwgMj4mMSA7IHB3ZCAtUCApXG5TUkNfRk9MREVSPSQoIGNkIC0tIFwiJFNDUklQVFBBVEgvLi4vc3JjL1wiID4vZGV2L251bGwgMj4mMSA7IHB3ZCAtUCApXG5UQVJHRVRfRk9MREVSPVwiJFNDUklQVFBBVEgvLi4vbW9kdWxlc1wiXG5cbmlmIFsgISAtZCBcIiRNT0RVTEVTX0ZPTERFUlwiIF07IHRoZW5cbiAgZWNobyBcIkV4cGVjdGVkIG1vZHVsZSBmb2xkZXIgdG8gZXhpc3QgYXQgJE1PRFVMRVNfRk9MREVSXCJcbiAgZXhpdCAxXG5maVxuXG5jZCBcIiRNT0RVTEVTX0ZPTERFUlwiXG5mb3IgZCBpbiAqLyA7IGRvXG4gICAgWyAtTCBcIlxcJHtkJS99XCIgXSAmJiBjb250aW51ZVxuXG4gICAgZGlybmFtZT1cIlxcJHtkJS99XCJcblxuXG4gICAgIyBDaGVjayBpZiBldmVyeXRoaW5nIGlzIGluIHBsYWNlXG4gICAgaWYgWyAhIC1mIFwiJE1PRFVMRVNfRk9MREVSLyRkaXJuYW1lL2Nkay50Zi5qc29uXCIgXTsgdGhlblxuICAgICAgZWNobyBcIkV4cGVjdGVkIGNvZGUgZm9yICRkaXJuYW1lIGF0IGNkay50Zi5qc29uIHRvIGV4aXN0IGF0ICRNT0RVTEVTX0ZPTERFUi8kZGlybmFtZVwiXG4gICAgICBleGl0IDFcbiAgICBmaVxuXG4gICAgaWYgWyAhIC1mIFwiJFNSQ19GT0xERVIvJGRpcm5hbWUubWRcIiBdOyB0aGVuXG4gICAgICBlY2hvIFwiRXhwZWN0ZWQgRG9jdW1lbnRhdGlvbiBmb3IgJGRpcm5hbWUgYXQgJGRpcm5hbWUubWQgdG8gZXhpc3QgYXQgJFNSQ19GT0xERVIvJGRpcm5hbWUubWRcIlxuICAgICAgZXhpdCAxXG4gICAgZmlcblxuICAgICMgQ29weSBtb2R1bGUgYW5kIHJlYWRtZSB0b2dldGhlclxuICAgIGVjaG8gXCJDb3B5aW5nIENvZGUgYW5kIFJFQURNRSBmb3IgbW9kdWxlICRkaXJuYW1lXCJcbiAgICBta2RpciAtcCBcIiRUQVJHRVRfRk9MREVSXCJcbiAgICBta2RpciAtcCBcIiRUQVJHRVRfRk9MREVSLyRkaXJuYW1lXCJcbiAgICBjcCBcIiRNT0RVTEVTX0ZPTERFUi8kZGlybmFtZS9jZGsudGYuanNvblwiIFwiJFRBUkdFVF9GT0xERVIvJGRpcm5hbWUvY2RrLnRmLmpzb25cIlxuICAgIGNwIFwiJFNSQ19GT0xERVIvJGRpcm5hbWUubWRcIiBcIiRUQVJHRVRfRk9MREVSLyRkaXJuYW1lL1JFQURNRS5tZFwiXG5cbiAgICAjIEFkZCBSRUFETUUgaGNsIGRvY3NcbiAgICBpZiB3aGljaCB0ZXJyYWZvcm0tZG9jcyA+L2Rldi9udWxsOyB0aGVuXG4gICAgICB0ZXJyYWZvcm0tZG9jcyBtYXJrZG93biB0YWJsZSAtLW91dHB1dC1maWxlIFwiJFRBUkdFVF9GT0xERVIvJGRpcm5hbWUvUkVBRE1FLm1kXCIgXCIkVEFSR0VUX0ZPTERFUi8kZGlybmFtZVwiIFxuICAgIGVsc2VcbiAgICAgIGRvY2tlciBydW4gLS1ybSAtLXZvbHVtZSBcIiRTQ1JJUFRQQVRILy4uL21vZHVsZXM6L3RlcnJhZm9ybS1kb2NzXCIgLXUgJChpZCAtdSkgcXVheS5pby90ZXJyYWZvcm0tZG9jcy90ZXJyYWZvcm0tZG9jczowLjE2LjAgbWFya2Rvd24gdGFibGUgLS1vdXRwdXQtZmlsZSBcIi90ZXJyYWZvcm0tZG9jcy8kZGlybmFtZS9SRUFETUUubWRcIiAvdGVycmFmb3JtLWRvY3MvJGRpcm5hbWVcbiAgICBmaVxuZG9uZVxuYC50cmltKClcbiAgICApO1xuICAgIHRoaXMuY29tcGlsZVRhc2suZXhlYyhcIi4vc2NyaXB0cy9jb3B5LW1vZHVsZXMuc2hcIiwge1xuICAgICAgbmFtZTogXCJDb3B5IEhDTCBNb2R1bGVzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBpZ25vcmUgZGlzdCBpbiB0ZXN0c1xuICAgIHRoaXMuamVzdD8uYWRkSWdub3JlUGF0dGVybihcImRpc3RcIik7XG5cbiAgICBuZXcgU2NyaXB0RmlsZShcbiAgICAgIHRoaXMsXG4gICAgICBcIi4vc2NyaXB0cy90Zi1tb2R1bGUtdGVzdC5zaFwiLFxuICAgICAgYFxuIyEvYmluL2Jhc2hcbiMgVGhpcyBzY3JpcHQgaXMgY3JlYXRlZCBieSBwcm9qZW4sIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5Llxuc2V0IC1lXG5cbnRlcnJhZm9ybSAtY2hkaXI9dGVycmFmb3JtIGluaXQgLS11cGdyYWRlXG50ZXJyYWZvcm0gLWNoZGlyPXRlcnJhZm9ybSBmbXRcbnRlcnJhZm9ybSAtY2hkaXI9dGVycmFmb3JtIHZhbGlkYXRlXG50ZXJyYWZvcm0gLWNoZGlyPXRlcnJhZm9ybSBwbGFuICAgICBcbiAgICAgICAgYFxuICAgICk7XG5cbiAgICB0aGlzLnRlc3RUYXNrLmV4ZWMoXCIuL3NjcmlwdHMvdGYtbW9kdWxlLXRlc3Quc2hcIik7XG4gICAgdGhpcy5qZXN0Py5hZGRJZ25vcmVQYXR0ZXJuKFwidGVycmFmb3JtXCIpO1xuICB9XG59XG4iXX0=
@@ -12,4 +12,9 @@ declare type Mutable<T> = T extends AtomicObject ? T : T extends ReadonlyMap<inf
12
12
  declare type Config = Mutable<Pick<ConstructLibraryOptions, "publishToPypi" | "publishToMaven" | "publishToNuget" | "releaseToNpm" | "npmRegistryUrl">>;
13
13
  export declare function publishToRegistries(options: PublishOptions): Config;
14
14
  export declare function publishToGithubPackages(options: PublishOptions): Config;
15
+ export declare type ArtifactoryPublishOptions = PublishOptions & {
16
+ artifactoryApiUrl: string;
17
+ artifactoryRepository?: string;
18
+ };
19
+ export declare function publishToArtifactory(options: ArtifactoryPublishOptions): Config;
15
20
  export {};
package/lib/publishing.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishToGithubPackages = exports.publishToRegistries = void 0;
3
+ exports.publishToArtifactory = exports.publishToGithubPackages = exports.publishToRegistries = void 0;
4
4
  const change_case_1 = require("change-case");
5
5
  function publishToRegistries(options) {
6
6
  const { name, namespace, registries } = options;
@@ -51,4 +51,26 @@ function publishToGithubPackages(options) {
51
51
  return config;
52
52
  }
53
53
  exports.publishToGithubPackages = publishToGithubPackages;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF5QztBQXlDekMsU0FBZ0IsbUJBQW1CLENBQUMsT0FBdUI7SUFDekQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxNQUFNLEdBQVc7UUFDckIsWUFBWSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ3pDLENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxDQUFDLGFBQWEsR0FBRztZQUNyQixRQUFRLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxhQUFhLEVBQUU7WUFDbEQsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLElBQUksYUFBYSxFQUFFO1NBQ2pELENBQUM7S0FDSDtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsY0FBYyxHQUFHO1lBQ3RCLFdBQVcsRUFBRSxPQUFPLGtCQUFrQixJQUFJLGFBQWEsRUFBRTtZQUN6RCxZQUFZLEVBQUUsT0FBTyxrQkFBa0IsRUFBRTtZQUN6QyxlQUFlLEVBQUUsYUFBYTtTQUMvQixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxTQUFTLEdBQUcsR0FBRyx3QkFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHdCQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFHO1lBQ3RCLGVBQWUsRUFBRSxTQUFTO1lBQzFCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7S0FDSDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEvQkQsa0RBK0JDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBdUI7SUFDN0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMvQixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0tBQ3JFO0lBQ0QsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2hDLGdMQUFnTDtRQUNoTCxNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQztLQUN0RDtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsY0FBZSxDQUFDLGtCQUFrQixHQUFHLDhCQUE4QixDQUFDO0tBQzVFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQXRCRCwwREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXNjYWxDYXNlIH0gZnJvbSBcImNoYW5nZS1jYXNlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCJwcm9qZW4vbGliL2Nka1wiO1xuXG5leHBvcnQgdHlwZSBSZWdpc3RyeSA9IFwibnBtXCIgfCBcIm1hdmVuXCIgfCBcIm51Z2V0XCIgfCBcInB5cGlcIjtcblxuZXhwb3J0IHR5cGUgUHVibGlzaE9wdGlvbnMgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlZ2lzdHJpZXM6IFJlZ2lzdHJ5W107XG59O1xuXG50eXBlIEF0b21pY09iamVjdCA9XG4gIHwgRnVuY3Rpb25cbiAgfCBQcm9taXNlPGFueT5cbiAgfCBEYXRlXG4gIHwgUmVnRXhwXG4gIHwgQm9vbGVhblxuICB8IE51bWJlclxuICB8IFN0cmluZztcblxudHlwZSBNdXRhYmxlPFQ+ID0gVCBleHRlbmRzIEF0b21pY09iamVjdFxuICA/IFRcbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlNYXA8aW5mZXIgSywgaW5mZXIgVj4gLy8gTWFwIGV4dGVuZHMgUmVhZG9ubHlNYXBcbiAgPyBNYXA8TXV0YWJsZTxLPiwgTXV0YWJsZTxWPj5cbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlTZXQ8aW5mZXIgVj4gLy8gU2V0IGV4dGVuZHMgUmVhZG9ubHlTZXRcbiAgPyBTZXQ8TXV0YWJsZTxWPj5cbiAgOiBUIGV4dGVuZHMgb2JqZWN0XG4gID8geyAtcmVhZG9ubHkgW0sgaW4ga2V5b2YgVF06IE11dGFibGU8VFtLXT4gfVxuICA6IFQ7XG5cbnR5cGUgQ29uZmlnID0gTXV0YWJsZTxcbiAgUGljazxcbiAgICBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyxcbiAgICB8IFwicHVibGlzaFRvUHlwaVwiXG4gICAgfCBcInB1Ymxpc2hUb01hdmVuXCJcbiAgICB8IFwicHVibGlzaFRvTnVnZXRcIlxuICAgIHwgXCJyZWxlYXNlVG9OcG1cIlxuICAgIHwgXCJucG1SZWdpc3RyeVVybFwiXG4gID5cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoVG9SZWdpc3RyaWVzKG9wdGlvbnM6IFB1Ymxpc2hPcHRpb25zKTogQ29uZmlnIHtcbiAgY29uc3QgeyBuYW1lLCBuYW1lc3BhY2UsIHJlZ2lzdHJpZXMgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHNhbml0aXplZE5hbWVzcGFjZSA9IG5hbWVzcGFjZS5yZXBsYWNlKC8tL2dpLCBcIl9cIik7XG4gIGNvbnN0IHNhbml0aXplZE5hbWUgPSBuYW1lLnJlcGxhY2UoLy0vZ2ksIFwiX1wiKTtcbiAgY29uc3QgY29uZmlnOiBDb25maWcgPSB7XG4gICAgcmVsZWFzZVRvTnBtOiByZWdpc3RyaWVzLmluY2x1ZGVzKFwibnBtXCIpLFxuICB9O1xuXG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwicHlwaVwiKSkge1xuICAgIGNvbmZpZy5wdWJsaXNoVG9QeXBpID0ge1xuICAgICAgZGlzdE5hbWU6IGAke3Nhbml0aXplZE5hbWVzcGFjZX0tJHtzYW5pdGl6ZWROYW1lfWAsXG4gICAgICBtb2R1bGU6IGAke3Nhbml0aXplZE5hbWVzcGFjZX1fJHtzYW5pdGl6ZWROYW1lfWAsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwibWF2ZW5cIikpIHtcbiAgICBjb25maWcucHVibGlzaFRvTWF2ZW4gPSB7XG4gICAgICBqYXZhUGFja2FnZTogYGNvbS4ke3Nhbml0aXplZE5hbWVzcGFjZX0uJHtzYW5pdGl6ZWROYW1lfWAsXG4gICAgICBtYXZlbkdyb3VwSWQ6IGBjb20uJHtzYW5pdGl6ZWROYW1lc3BhY2V9YCxcbiAgICAgIG1hdmVuQXJ0aWZhY3RJZDogc2FuaXRpemVkTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJudWdldFwiKSkge1xuICAgIGNvbnN0IG51Z2V0TmFtZSA9IGAke3Bhc2NhbENhc2UobmFtZXNwYWNlKX0uJHtwYXNjYWxDYXNlKG5hbWUpfWA7XG4gICAgY29uZmlnLnB1Ymxpc2hUb051Z2V0ID0ge1xuICAgICAgZG90TmV0TmFtZXNwYWNlOiBudWdldE5hbWUsXG4gICAgICBwYWNrYWdlSWQ6IG51Z2V0TmFtZSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoVG9HaXRodWJQYWNrYWdlcyhvcHRpb25zOiBQdWJsaXNoT3B0aW9ucyk6IENvbmZpZyB7XG4gIGNvbnN0IHsgcmVnaXN0cmllcyB9ID0gb3B0aW9ucztcbiAgY29uc3QgY29uZmlnID0gcHVibGlzaFRvUmVnaXN0cmllcyhvcHRpb25zKTtcbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJweXBpXCIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiR2l0aHViIFBhY2thZ2VzIGRvZXMgbm90IHN1cHBvcnQgcHl0aG9uIHBhY2thZ2VzXCIpO1xuICB9XG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwibnVnZXRcIikpIHtcbiAgICAvLyBTZWVtcyBsaWtlIHByb2plbiBkb2VzIG5vdCBzdXBwb3J0IGdpdGh1YiBwYWNrYWdlcyBvbiBudWdldCB5ZXQ6IGh0dHBzOi8vZ2l0aHViLmRldi9wcm9qZW4vcHJvamVuL2Jsb2IvMTRmMzdlYzcwNGFmZGM1MTQzZTZhMjk1NGMxMjUwYjFmMGNjYWRkZi9zcmMvcmVsZWFzZS9wdWJsaXNoZXIudHMjTDM0M1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiR2l0aHViIFBhY2thZ2VzIGRvZXMgc3VwcG9ydCBudWdldCBwYWNrYWdlcywgYnV0IHRoaXMgbGlicmFyeSBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBpdFwiXG4gICAgKTtcbiAgfVxuXG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwibnBtXCIpKSB7XG4gICAgY29uZmlnLm5wbVJlZ2lzdHJ5VXJsID0gXCJodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbVwiO1xuICB9XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJtYXZlblwiKSkge1xuICAgIGNvbmZpZy5wdWJsaXNoVG9NYXZlbiEubWF2ZW5SZXBvc2l0b3J5VXJsID0gXCJodHRwczovL21hdmVuLnBrZy5naXRodWIuY29tXCI7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuIl19
54
+ function publishToArtifactory(options) {
55
+ const { registries, artifactoryApiUrl, artifactoryRepository = options.namespace, } = options;
56
+ const config = publishToRegistries(options);
57
+ if (registries.includes("npm")) {
58
+ config.npmRegistryUrl = `${artifactoryApiUrl}/npm/${artifactoryRepository}/`;
59
+ }
60
+ if (registries.includes("pypi")) {
61
+ config.publishToPypi.twineRegistryUrl = `${artifactoryApiUrl}/pypi/${artifactoryRepository}/`;
62
+ }
63
+ if (registries.includes("maven")) {
64
+ throw new Error("Artifactory does support maven packages, but this library does not yet support it");
65
+ // With no chance to test it the docs dont tell me enough to implement it
66
+ // https://www.jfrog.com/confluence/display/JFROG/Maven+Repository#MavenRepository-ResolvingArtifactsThroughArtifactory
67
+ // config.publishToMaven!.mavenRepositoryUrl = `${artifactoryApiUrl}/`;
68
+ }
69
+ if (registries.includes("nuget")) {
70
+ // Seems like projen does not support artifactory on nuget yet: https://github.dev/projen/projen/blob/14f37ec704afdc5143e6a2954c1250b1f0ccaddf/src/release/publisher.ts#L343
71
+ throw new Error("Artifactory does support nuget packages, but this library does not yet support it");
72
+ }
73
+ return config;
74
+ }
75
+ exports.publishToArtifactory = publishToArtifactory;
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF5QztBQXlDekMsU0FBZ0IsbUJBQW1CLENBQUMsT0FBdUI7SUFDekQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxNQUFNLEdBQVc7UUFDckIsWUFBWSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ3pDLENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxDQUFDLGFBQWEsR0FBRztZQUNyQixRQUFRLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxhQUFhLEVBQUU7WUFDbEQsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLElBQUksYUFBYSxFQUFFO1NBQ2pELENBQUM7S0FDSDtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsY0FBYyxHQUFHO1lBQ3RCLFdBQVcsRUFBRSxPQUFPLGtCQUFrQixJQUFJLGFBQWEsRUFBRTtZQUN6RCxZQUFZLEVBQUUsT0FBTyxrQkFBa0IsRUFBRTtZQUN6QyxlQUFlLEVBQUUsYUFBYTtTQUMvQixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxTQUFTLEdBQUcsR0FBRyx3QkFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHdCQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFHO1lBQ3RCLGVBQWUsRUFBRSxTQUFTO1lBQzFCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7S0FDSDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEvQkQsa0RBK0JDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBdUI7SUFDN0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMvQixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0tBQ3JFO0lBQ0QsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2hDLGdMQUFnTDtRQUNoTCxNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQztLQUN0RDtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsY0FBZSxDQUFDLGtCQUFrQixHQUFHLDhCQUE4QixDQUFDO0tBQzVFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQXRCRCwwREFzQkM7QUFVRCxTQUFnQixvQkFBb0IsQ0FDbEMsT0FBa0M7SUFFbEMsTUFBTSxFQUNKLFVBQVUsRUFDVixpQkFBaUIsRUFDakIscUJBQXFCLEdBQUcsT0FBTyxDQUFDLFNBQVMsR0FDMUMsR0FBRyxPQUFPLENBQUM7SUFDWixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxDQUFDLGNBQWMsR0FBRyxHQUFHLGlCQUFpQixRQUFRLHFCQUFxQixHQUFHLENBQUM7S0FDOUU7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxDQUFDLGFBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLGlCQUFpQixTQUFTLHFCQUFxQixHQUFHLENBQUM7S0FDaEc7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYixtRkFBbUYsQ0FDcEYsQ0FBQztRQUNGLHlFQUF5RTtRQUN6RSx1SEFBdUg7UUFDdkgsdUVBQXVFO0tBQ3hFO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2hDLDRLQUE0SztRQUM1SyxNQUFNLElBQUksS0FBSyxDQUNiLG1GQUFtRixDQUNwRixDQUFDO0tBQ0g7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBbkNELG9EQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tIFwiY2hhbmdlLWNhc2VcIjtcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSBcInByb2plbi9saWIvY2RrXCI7XG5cbmV4cG9ydCB0eXBlIFJlZ2lzdHJ5ID0gXCJucG1cIiB8IFwibWF2ZW5cIiB8IFwibnVnZXRcIiB8IFwicHlwaVwiO1xuXG5leHBvcnQgdHlwZSBQdWJsaXNoT3B0aW9ucyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgcmVnaXN0cmllczogUmVnaXN0cnlbXTtcbn07XG5cbnR5cGUgQXRvbWljT2JqZWN0ID1cbiAgfCBGdW5jdGlvblxuICB8IFByb21pc2U8YW55PlxuICB8IERhdGVcbiAgfCBSZWdFeHBcbiAgfCBCb29sZWFuXG4gIHwgTnVtYmVyXG4gIHwgU3RyaW5nO1xuXG50eXBlIE11dGFibGU8VD4gPSBUIGV4dGVuZHMgQXRvbWljT2JqZWN0XG4gID8gVFxuICA6IFQgZXh0ZW5kcyBSZWFkb25seU1hcDxpbmZlciBLLCBpbmZlciBWPiAvLyBNYXAgZXh0ZW5kcyBSZWFkb25seU1hcFxuICA/IE1hcDxNdXRhYmxlPEs+LCBNdXRhYmxlPFY+PlxuICA6IFQgZXh0ZW5kcyBSZWFkb25seVNldDxpbmZlciBWPiAvLyBTZXQgZXh0ZW5kcyBSZWFkb25seVNldFxuICA/IFNldDxNdXRhYmxlPFY+PlxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBUXTogTXV0YWJsZTxUW0tdPiB9XG4gIDogVDtcblxudHlwZSBDb25maWcgPSBNdXRhYmxlPFxuICBQaWNrPFxuICAgIENvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxuICAgIHwgXCJwdWJsaXNoVG9QeXBpXCJcbiAgICB8IFwicHVibGlzaFRvTWF2ZW5cIlxuICAgIHwgXCJwdWJsaXNoVG9OdWdldFwiXG4gICAgfCBcInJlbGVhc2VUb05wbVwiXG4gICAgfCBcIm5wbVJlZ2lzdHJ5VXJsXCJcbiAgPlxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hUb1JlZ2lzdHJpZXMob3B0aW9uczogUHVibGlzaE9wdGlvbnMpOiBDb25maWcge1xuICBjb25zdCB7IG5hbWUsIG5hbWVzcGFjZSwgcmVnaXN0cmllcyB9ID0gb3B0aW9ucztcbiAgY29uc3Qgc2FuaXRpemVkTmFtZXNwYWNlID0gbmFtZXNwYWNlLnJlcGxhY2UoLy0vZ2ksIFwiX1wiKTtcbiAgY29uc3Qgc2FuaXRpemVkTmFtZSA9IG5hbWUucmVwbGFjZSgvLS9naSwgXCJfXCIpO1xuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWxlYXNlVG9OcG06IHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJucG1cIiksXG4gIH07XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJweXBpXCIpKSB7XG4gICAgY29uZmlnLnB1Ymxpc2hUb1B5cGkgPSB7XG4gICAgICBkaXN0TmFtZTogYCR7c2FuaXRpemVkTmFtZXNwYWNlfS0ke3Nhbml0aXplZE5hbWV9YCxcbiAgICAgIG1vZHVsZTogYCR7c2FuaXRpemVkTmFtZXNwYWNlfV8ke3Nhbml0aXplZE5hbWV9YCxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJtYXZlblwiKSkge1xuICAgIGNvbmZpZy5wdWJsaXNoVG9NYXZlbiA9IHtcbiAgICAgIGphdmFQYWNrYWdlOiBgY29tLiR7c2FuaXRpemVkTmFtZXNwYWNlfS4ke3Nhbml0aXplZE5hbWV9YCxcbiAgICAgIG1hdmVuR3JvdXBJZDogYGNvbS4ke3Nhbml0aXplZE5hbWVzcGFjZX1gLFxuICAgICAgbWF2ZW5BcnRpZmFjdElkOiBzYW5pdGl6ZWROYW1lLFxuICAgIH07XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm51Z2V0XCIpKSB7XG4gICAgY29uc3QgbnVnZXROYW1lID0gYCR7cGFzY2FsQ2FzZShuYW1lc3BhY2UpfS4ke3Bhc2NhbENhc2UobmFtZSl9YDtcbiAgICBjb25maWcucHVibGlzaFRvTnVnZXQgPSB7XG4gICAgICBkb3ROZXROYW1lc3BhY2U6IG51Z2V0TmFtZSxcbiAgICAgIHBhY2thZ2VJZDogbnVnZXROYW1lLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hUb0dpdGh1YlBhY2thZ2VzKG9wdGlvbnM6IFB1Ymxpc2hPcHRpb25zKTogQ29uZmlnIHtcbiAgY29uc3QgeyByZWdpc3RyaWVzIH0gPSBvcHRpb25zO1xuICBjb25zdCBjb25maWcgPSBwdWJsaXNoVG9SZWdpc3RyaWVzKG9wdGlvbnMpO1xuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcInB5cGlcIikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJHaXRodWIgUGFja2FnZXMgZG9lcyBub3Qgc3VwcG9ydCBweXRob24gcGFja2FnZXNcIik7XG4gIH1cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJudWdldFwiKSkge1xuICAgIC8vIFNlZW1zIGxpa2UgcHJvamVuIGRvZXMgbm90IHN1cHBvcnQgZ2l0aHViIHBhY2thZ2VzIG9uIG51Z2V0IHlldDogaHR0cHM6Ly9naXRodWIuZGV2L3Byb2plbi9wcm9qZW4vYmxvYi8xNGYzN2VjNzA0YWZkYzUxNDNlNmEyOTU0YzEyNTBiMWYwY2NhZGRmL3NyYy9yZWxlYXNlL3B1Ymxpc2hlci50cyNMMzQzXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJHaXRodWIgUGFja2FnZXMgZG9lcyBzdXBwb3J0IG51Z2V0IHBhY2thZ2VzLCBidXQgdGhpcyBsaWJyYXJ5IGRvZXMgbm90IHlldCBzdXBwb3J0IGl0XCJcbiAgICApO1xuICB9XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJucG1cIikpIHtcbiAgICBjb25maWcubnBtUmVnaXN0cnlVcmwgPSBcImh0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tXCI7XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm1hdmVuXCIpKSB7XG4gICAgY29uZmlnLnB1Ymxpc2hUb01hdmVuIS5tYXZlblJlcG9zaXRvcnlVcmwgPSBcImh0dHBzOi8vbWF2ZW4ucGtnLmdpdGh1Yi5jb21cIjtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCB0eXBlIEFydGlmYWN0b3J5UHVibGlzaE9wdGlvbnMgPSBQdWJsaXNoT3B0aW9ucyAmIHtcbiAgLy8gVGhlIGFydGlmYWN0b3J5IHVybCB0byBwdWJsaXNoIHRvLCBlLmcuIFwiaHR0cHM6Ly9hcnRpZmFjdG9yeS5leGFtcGxlLmNvbS9hcnRpZmFjdG9yeS9hcGlcIlxuICBhcnRpZmFjdG9yeUFwaVVybDogc3RyaW5nO1xuXG4gIC8vIE5hbWUgb2YgdGhlIGFydGlmYWN0b3J5IHJlcG9zaXRvcnkgdG8gcHVibGlzaCB0bywgZGVmYXVsdHMgdG8gdGhlIG5hbWVzcGFjZVxuICBhcnRpZmFjdG9yeVJlcG9zaXRvcnk/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFRvQXJ0aWZhY3RvcnkoXG4gIG9wdGlvbnM6IEFydGlmYWN0b3J5UHVibGlzaE9wdGlvbnNcbik6IENvbmZpZyB7XG4gIGNvbnN0IHtcbiAgICByZWdpc3RyaWVzLFxuICAgIGFydGlmYWN0b3J5QXBpVXJsLFxuICAgIGFydGlmYWN0b3J5UmVwb3NpdG9yeSA9IG9wdGlvbnMubmFtZXNwYWNlLFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgY29uZmlnID0gcHVibGlzaFRvUmVnaXN0cmllcyhvcHRpb25zKTtcblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm5wbVwiKSkge1xuICAgIGNvbmZpZy5ucG1SZWdpc3RyeVVybCA9IGAke2FydGlmYWN0b3J5QXBpVXJsfS9ucG0vJHthcnRpZmFjdG9yeVJlcG9zaXRvcnl9L2A7XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcInB5cGlcIikpIHtcbiAgICBjb25maWcucHVibGlzaFRvUHlwaSEudHdpbmVSZWdpc3RyeVVybCA9IGAke2FydGlmYWN0b3J5QXBpVXJsfS9weXBpLyR7YXJ0aWZhY3RvcnlSZXBvc2l0b3J5fS9gO1xuICB9XG5cbiAgaWYgKHJlZ2lzdHJpZXMuaW5jbHVkZXMoXCJtYXZlblwiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiQXJ0aWZhY3RvcnkgZG9lcyBzdXBwb3J0IG1hdmVuIHBhY2thZ2VzLCBidXQgdGhpcyBsaWJyYXJ5IGRvZXMgbm90IHlldCBzdXBwb3J0IGl0XCJcbiAgICApO1xuICAgIC8vIFdpdGggbm8gY2hhbmNlIHRvIHRlc3QgaXQgdGhlIGRvY3MgZG9udCB0ZWxsIG1lIGVub3VnaCB0byBpbXBsZW1lbnQgaXRcbiAgICAvLyBodHRwczovL3d3dy5qZnJvZy5jb20vY29uZmx1ZW5jZS9kaXNwbGF5L0pGUk9HL01hdmVuK1JlcG9zaXRvcnkjTWF2ZW5SZXBvc2l0b3J5LVJlc29sdmluZ0FydGlmYWN0c1Rocm91Z2hBcnRpZmFjdG9yeVxuICAgIC8vIGNvbmZpZy5wdWJsaXNoVG9NYXZlbiEubWF2ZW5SZXBvc2l0b3J5VXJsID0gYCR7YXJ0aWZhY3RvcnlBcGlVcmx9L2A7XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm51Z2V0XCIpKSB7XG4gICAgLy8gU2VlbXMgbGlrZSBwcm9qZW4gZG9lcyBub3Qgc3VwcG9ydCBhcnRpZmFjdG9yeSBvbiBudWdldCB5ZXQ6IGh0dHBzOi8vZ2l0aHViLmRldi9wcm9qZW4vcHJvamVuL2Jsb2IvMTRmMzdlYzcwNGFmZGM1MTQzZTZhMjk1NGMxMjUwYjFmMGNjYWRkZi9zcmMvcmVsZWFzZS9wdWJsaXNoZXIudHMjTDM0M1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiQXJ0aWZhY3RvcnkgZG9lcyBzdXBwb3J0IG51Z2V0IHBhY2thZ2VzLCBidXQgdGhpcyBsaWJyYXJ5IGRvZXMgbm90IHlldCBzdXBwb3J0IGl0XCJcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
@@ -71,5 +71,5 @@ describe("MyModule", () => {
71
71
  }
72
72
  exports.TerraformModule = TerraformModule;
73
73
  _a = JSII_RTTI_SYMBOL_1;
74
- TerraformModule[_a] = { fqn: "projen-cdktf-hybrid-construct.TerraformModule", version: "0.1.55" };
74
+ TerraformModule[_a] = { fqn: "projen-cdktf-hybrid-construct.TerraformModule", version: "0.1.58" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQXVEO0FBQ3ZELHdDQUEyRTtBQUMzRSwrQkFBa0M7QUFFbEMseUNBQXNDO0FBd0N0Qzs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHNCQUFnQjtJQUNuRCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsbUJBQVE7WUFDWCxHQUFHLE9BQU87WUFDVixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDdEQsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQztZQUNGLGNBQWMsRUFBRSxFQUFFO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQztRQUNqRSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLFNBQVMsQ0FBQztRQUV2RCxNQUFNLGdCQUFnQixHQUFHOzs7OztDQUs1QixDQUFDO1FBRUUsTUFBTSxpQkFBaUIsR0FBRzs7Ozs7Ozs7Q0FRN0IsQ0FBQztRQUVFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsWUFBWSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFMUMsSUFBSSxrQkFBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQy9CLEtBQUssRUFBRTtnQkFDTCxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO2dCQUNuQyx5QkFBeUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUU7YUFDcEQ7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGlCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0JBQXNCLEVBQUU7WUFDdkQsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRTtnQkFDTCxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDckMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQ2pFO2dCQUNELEVBQUU7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksaUJBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxhQUFhLEVBQUU7WUFDOUMsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUU7Z0JBQ0gsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLEdBQUcsRUFBRSxzQkFBc0I7Z0JBQzNCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxFQUFFO2dCQUNwRCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCO2dCQUMxQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFJLEVBQUU7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7QUEvREgsMENBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvbkZpbGUsIFNhbXBsZURpciwgVGV4dEZpbGUgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCJwcm9qZW4vbGliL2Nka1wiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5cbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSBcIi4vZGVmYXVsdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1WZXJzaW9uQ29uc3RyYWludCB7XG4gIC8vIG5hbWUgb2YgdGhlIG1vZHVsZVxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8vIHBhdGggLyB1cmwgLyByZWdpc3RyeSBpZGVudGlmaWVyIGZvciB0aGUgbW9kdWxlXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuICAvLyB2ZXJzaW9uIGNvbnN0cmFpbnQgKGh0dHBzOi8vd3d3LnRlcnJhZm9ybS5pby9kb2NzL2xhbmd1YWdlL3Byb3ZpZGVycy9yZXF1aXJlbWVudHMuaHRtbCN2ZXJzaW9uLWNvbnN0cmFpbnRzKVxuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtTW9kdWxlT3B0aW9ucyBleHRlbmRzIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gdGFyZ2V0IHZlcnNpb24gb2YgdGhpcyBsaWJyYXJ5LlxuICAgKiBAZGVmYXVsdCBcIl4wLjEwLjFcIlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGNka3RmVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0IHZlcnNpb24gdG8gdXNlXG4gICAqIEBkZWZhdWx0IFwiXjEwLjAuMTJcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0VmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogIExpc3Qgb2YgcHJvdmlkZXIgYmluZGluZ3MgdG8gZ2VuZXJhdGUgaW4gYWRkaXRpb24gdG8gdGhlIG1vZHVsZXMuXG4gICAqL1xuICByZWFkb25seSB0ZXJyYWZvcm1Qcm92aWRlcnM/OiBUZXJyYWZvcm1WZXJzaW9uQ29uc3RyYWludFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG1vZHVsZXMgdG8gZ2VuZXJhdGUgYmluZGluZ3MgZm9yLlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IHRlcnJhZm9ybU1vZHVsZXM6IFRlcnJhZm9ybVZlcnNpb25Db25zdHJhaW50W107XG5cbiAgLy8gRGVmYXVsdGVkIHRvIGEgdXVpZCBzdHJpbmcgYXMgY2RrdGYgd291bGRcbiAgcmVhZG9ubHkgcHJvamVjdElkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRlcnJhZm9ybSBNb2R1bGVzIHJlcHVibGlzaGVkIGFzIENES1RGIENvbnN0cnVjdHNcbiAqXG4gKiBAcGppZCB0ZXJyYWZvcm0tbW9kdWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1Nb2R1bGUgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogVGVycmFmb3JtTW9kdWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmRlZmF1bHRzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGVzbGludE9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZXNsaW50T3B0aW9ucywge1xuICAgICAgICBsaW50UHJvamVuUmM6IGZhbHNlLFxuICAgICAgfSksXG4gICAgICBwb3N0QnVpbGRTdGVwczogW10sXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiB8fCBcIl4xMC4wLjEwN1wiO1xuICAgIGNvbnN0IGNka3RmVmVyc2lvbiA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uIHx8IFwiXjAuMTAuMVwiO1xuXG4gICAgY29uc3QgY29uc3RydWN0U3JjQ29kZSA9IGBcbi8vIFJlLUV4cG9ydCBtb2R1bGUgYmluZGluZ3NcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybU1vZHVsZXNcIjtcblxuLy8gQWRkIHlvdXIgY3VzdG9tIGNvbnN0cnVjdHMgaGVyZVxuYDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdFRlc3RDb2RlID0gYFxuLy8gaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0ZlwiO1xuLy8gaW1wb3J0IFwiY2RrdGYvbGliL3Rlc3RpbmcvYWRhcHRlcnMvamVzdFwiO1xuXG4vLyBUbyBsZWFybiBtb3JlIGFib3V0IHRlc3Rpbmcgc2VlIGNkay50Zi90ZXN0aW5nXG5kZXNjcmliZShcIk15TW9kdWxlXCIsICgpID0+IHtcbiAgaXQudG9kbyhcInNob3VsZCBiZSB0ZXN0ZWRcIilcbn0pO1xuYDtcblxuICAgIHRoaXMuYWRkUGVlckRlcHMoYGNvbnN0cnVjdHNAJHtjb25zdHJ1Y3RWZXJzaW9ufWAsIGBjZGt0ZkAke2Nka3RmVmVyc2lvbn1gKTtcbiAgICB0aGlzLmFkZERldkRlcHMoYGNka3RmLWNsaUAke2Nka3RmVmVyc2lvbn1gLCBcInRzLW5vZGVcIik7XG4gICAgdGhpcy5hZGRLZXl3b3JkcyhcImNka3RmXCIsIFwiY2RrdGYtaHlicmlkXCIpO1xuXG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJpbmRleC50c1wiOiBjb25zdHJ1Y3RTcmNDb2RlLnRyaW0oKSxcbiAgICAgICAgXCJfX3Rlc3RzX18vaW5kZXgtdGVzdC50c1wiOiBjb25zdHJ1Y3RUZXN0Q29kZS50cmltKCksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCBgJHt0aGlzLnNyY2Rpcn0vdGVycmFmb3JtTW9kdWxlcy50c2AsIHtcbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgIC4uLihvcHRpb25zLnRlcnJhZm9ybU1vZHVsZXMgfHwgW10pLm1hcChcbiAgICAgICAgICAodGZNb2R1bGUpID0+IGBleHBvcnQgKiBmcm9tIFwiLi8uZ2VuL21vZHVsZXMvJHt0Zk1vZHVsZS5uYW1lfVwiO2BcbiAgICAgICAgKSxcbiAgICAgICAgXCJcIixcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBuZXcgSnNvbkZpbGUodGhpcywgYCR7dGhpcy5zcmNkaXJ9L2Nka3RmLmpzb25gLCB7XG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbGFuZ3VhZ2U6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBhcHA6IFwibnB4IHRzLW5vZGUgaW5kZXgudHNcIixcbiAgICAgICAgdGVycmFmb3JtUHJvdmlkZXJzOiBvcHRpb25zLnRlcnJhZm9ybVByb3ZpZGVycyB8fCBbXSxcbiAgICAgICAgdGVycmFmb3JtTW9kdWxlczogb3B0aW9ucy50ZXJyYWZvcm1Nb2R1bGVzLFxuICAgICAgICBwcm9qZWN0SWQ6IG9wdGlvbnMucHJvamVjdElkIHx8IHV1aWQoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnByZUNvbXBpbGVUYXNrLmV4ZWMoYGNka3RmIGdldGAsIHsgY3dkOiB0aGlzLnNyY2RpciB9KTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -83,7 +83,7 @@
83
83
  ],
84
84
  "main": "lib/index.js",
85
85
  "license": "MIT",
86
- "version": "0.1.55",
86
+ "version": "0.1.58",
87
87
  "jest": {
88
88
  "testMatch": [
89
89
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
package/releasetag.txt CHANGED
@@ -1 +1 @@
1
- v0.1.55
1
+ v0.1.58
package/version.txt CHANGED
@@ -1 +1 @@
1
- 0.1.55
1
+ 0.1.58