@mavogel/mvc-projen 0.0.11 → 0.0.13
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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"constructs": "^10.4.2",
|
|
11
|
-
"projen": "0.
|
|
11
|
+
"projen": "0.97.2"
|
|
12
12
|
},
|
|
13
13
|
"dependencyClosure": {
|
|
14
14
|
"constructs": {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"stability": "stable"
|
|
83
83
|
},
|
|
84
84
|
"homepage": "https://github.com/MV-Consulting/mvc-projen",
|
|
85
|
-
"jsiiVersion": "5.
|
|
85
|
+
"jsiiVersion": "5.9.11 (build e3d2007)",
|
|
86
86
|
"keywords": [
|
|
87
87
|
"aws",
|
|
88
88
|
"cdk",
|
|
@@ -219,6 +219,6 @@
|
|
|
219
219
|
"symbolId": "src/projects/cdk-construct:MvcCdkConstructLibraryOptions"
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
|
-
"version": "0.0.
|
|
223
|
-
"fingerprint": "
|
|
222
|
+
"version": "0.0.13",
|
|
223
|
+
"fingerprint": "cBBqND31bZuvVW0ApgGSuZ/0kKQCZMj4RiLPQQmy+jE="
|
|
224
224
|
}
|
package/API.md
CHANGED
|
@@ -26,7 +26,7 @@ class MvcCdkConstructLibrary extends awscdk_1.AwsCdkConstructLibrary {
|
|
|
26
26
|
copyrightOwner: 'MV Consulting GmbH',
|
|
27
27
|
copyrightPeriod: '2025',
|
|
28
28
|
license: 'Apache-2.0',
|
|
29
|
-
jsiiVersion: '~5.
|
|
29
|
+
jsiiVersion: '~5.9.0',
|
|
30
30
|
minNodeVersion: nodeVersion,
|
|
31
31
|
workflowNodeVersion: nodeVersion,
|
|
32
32
|
stability: 'experimental',
|
|
@@ -220,9 +220,9 @@ add tools or links which inspired you
|
|
|
220
220
|
for (const file of filesPatternToGitignore) {
|
|
221
221
|
this.gitignore.exclude(file);
|
|
222
222
|
}
|
|
223
|
-
this.addDeps('cdk-nag@^2.
|
|
223
|
+
this.addDeps('cdk-nag@^2.37.55');
|
|
224
224
|
this.addDevDeps(`@aws-cdk/integ-runner@${this.cdkVersion}-alpha.0`, // NOTE: keep in sync with cdkversion
|
|
225
|
-
`@aws-cdk/integ-tests-alpha@${this.cdkVersion}-alpha.0`, '@commitlint/cli@^
|
|
225
|
+
`@aws-cdk/integ-tests-alpha@${this.cdkVersion}-alpha.0`, '@commitlint/cli@^20.1.0', '@commitlint/config-conventional@^20.0.0', `awslint@${this.cdkVersion}-alpha.0`, 'husky@^9.1.7');
|
|
226
226
|
this.package.setScript('prepare', 'husky');
|
|
227
227
|
new projen_1.TextFile(this, '.commitlintrc.js', {
|
|
228
228
|
lines: [
|
|
@@ -280,7 +280,7 @@ add tools or links which inspired you
|
|
|
280
280
|
}
|
|
281
281
|
exports.MvcCdkConstructLibrary = MvcCdkConstructLibrary;
|
|
282
282
|
_a = JSII_RTTI_SYMBOL_1;
|
|
283
|
-
MvcCdkConstructLibrary[_a] = { fqn: "@mavogel/mvc-projen.MvcCdkConstructLibrary", version: "0.0.
|
|
283
|
+
MvcCdkConstructLibrary[_a] = { fqn: "@mavogel/mvc-projen.MvcCdkConstructLibrary", version: "0.0.13" };
|
|
284
284
|
class SampleCode extends projen_1.Component {
|
|
285
285
|
constructor(library, options) {
|
|
286
286
|
super(library);
|
|
@@ -347,4 +347,4 @@ class SampleCode extends projen_1.Component {
|
|
|
347
347
|
fs.writeFileSync(path.join(examplesdir, 'main.ts'), fs.readFileSync(`${this.options.baseAssetsDirectory}/cdk-construct/examples_simple_main.ts`).toString());
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9jZGstY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBOEI7QUFDOUIsbUNBQXNGO0FBQ3RGLDhDQUF5RztBQUN6Ryw4Q0FBK0Q7QUFHL0QsMkVBQTJFO0FBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLGlCQUFpQixHQUFHLHNCQUFhLENBQUMsV0FBVyxDQUFDO0FBcUJwRDs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwrQkFBc0I7SUFFaEUsWUFBWSxPQUFzQztRQUNoRCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxHQUFHLElBQUEsYUFBRyxHQUFFLDBDQUEwQyxDQUFDO1FBQzlHLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWhGLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxlQUFlLEVBQUUsTUFBTTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixXQUFXLEVBQUUsUUFBUTtZQUNyQixjQUFjLEVBQUUsV0FBVztZQUMzQixtQkFBbUIsRUFBRSxXQUFXO1lBQ2hDLFNBQVMsRUFBRSxjQUFjO1lBQ3pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDakQsU0FBUyxFQUFFLG1CQUFVLENBQUMsU0FBUyxDQUFDLE1BQU07WUFDdEMsYUFBYSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLHFCQUFxQixFQUFFLEtBQUssRUFBRSxpQ0FBaUM7YUFDaEU7WUFDRCxrQkFBa0Is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QyxDQUFDO1FBRTdKLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUNFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ2hFLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9KLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IENvbXBvbmVudCwgamF2YXNjcmlwdCwgUmVsZWFzYWJsZUNvbW1pdHMsIFRleHRGaWxlLCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LCBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgTGFtYmRhUnVudGltZSB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5cbi8vIFNldCB0aGUgbWluaW11bSBub2RlIHZlcnNpb24gZm9yIEFXUyBDREsgYW5kIHRoZSBHaXRIdWIgYWN0aW9ucyB3b3JrZmxvd1xuY29uc3Qgbm9kZVZlcnNpb24gPSAnMjIueCc7XG5jb25zdCBsYW1iZGFOb2RlVmVyc2lvbiA9IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzIyX1g7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdmNDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEJhc2UgZGlyZWN0b3J5IGZvciB0aGUgYXNzZXRzXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7Y3dkKCl9L25vZGVfbW9kdWxlcy9tdmMtcHJvamVuL2Fzc2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgYmFzZUFzc2V0c0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbnMgdG8gcnVuIHRoZSBpbnRlZyB0ZXN0cyBpblxuICAgKlxuICAgKiBAZGVmYXVsdCBldS13ZXN0LTEgYW5kIGV1LXdlc3QtMlxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdUZXN0UmVnaW9ucz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFR5cGVTY3JpcHQgbGlicmFyeVxuICpcbiAqIEBwamlkIG12Yy1hd3NjZGstY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBNdmNDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTXZjQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMpIHtcbiAgICBjb25zdCBiYXNlQXNzZXRzRGlyZWN0b3J5ID0gb3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5ID8/IGAke2N3ZCgpfS9ub2RlX21vZHVsZXMvQG1hdm9nZWwvbXZjLXByb2plbi9hc3NldHNgO1xuICAgIGNvbnN0IGludGVnVGVzdFJlZ2lvbnMgPSBvcHRpb25zLmludGVnVGVzdFJlZ2lvbnMgPz8gWydldS13ZXN0LTEnLCAnZXUtd2VzdC0yJ107XG5cbiAgICBzdXBlcih7XG4gICAgICBhdXRob3JPcmdhbml6YXRpb246IHRydWUsXG4gICAgICBjb3B5cmlnaHRPd25lcjogJ01WIENvbnN1bHRpbmcgR21iSCcsXG4gICAgICBjb3B5cmlnaHRQZXJpb2Q6ICcyMDI1JyxcbiAgICAgIGxpY2Vuc2U6ICdBcGFjaGUtMi4wJyxcbiAgICAgIGpzaWlWZXJzaW9uOiAnfjUuOC4wJyxcbiAgICAgIG1pbk5vZGVWZXJzaW9uOiBub2RlVmVyc2lvbixcbiAgICAgIHdvcmtmbG93Tm9kZVZlcnNpb246IG5vZGVWZXJzaW9uLFxuICAgICAgc3RhYmlsaXR5OiAnZXhwZXJpbWVudGFsJyxcbiAgICAgIHJlbGVhc2VUb05wbTogdHJ1ZSxcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5OUE0sXG4gICAgICBucG1BY2Nlc3M6IGphdmFzY3JpcHQuTnBtQWNjZXNzLlBVQkxJQyxcbiAgICAgIGxhbWJkYU9wdGlvbnM6IHtcbiAgICAgICAgcnVudGltZTogbGFtYmRhTm9kZVZlcnNpb24sXG4gICAgICAgIGF3c1Nka0Nvbm5lY3Rpb25SZXVzZTogZmFsc2UsIC8vIGRvZXNuJ3QgZXhpc3QgaW4gQVdTIFNESyBKUyB2M1xuICAgICAgfSxcbiAgICAgIGF1dG9BcHByb3ZlT3B0aW9uczoge1xuICAgICAgICBhbGxvd2VkVXNlcm5hbWVzOiBbXG4gICAgICAgICAgJ2RlcGVuZGFib3QnLFxuICAgICAgICAgICdkZXBlbmRhYm90W2JvdF0nLFxuICAgICAgICAgICdnaXRodWItYm90JyxcbiAgICAgICAgICAnZ2l0aHViLWFjdGlvbnNbYm90XScsXG4gICAgICAgICAgJ212Yy1ib3QnLFxuICAgICAgICBdLFxuICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgc2VjcmV0IHRoYXQgaGFzIHRoZSBHaXRIdWIgUEFUIGZvciBhdXRvLWFwcHJvdmluZyBQUnMgd2l0aCBwZXJtaXNzaW9ucyByZXBvLCB3b3JrZmxvdywgd3JpdGU6cGFja2FnZXNcbiAgICAgICAgLy8gR2VuZXJhdGUgYSBuZXcgUEFUIChodHRwczovL2dpdGh1Yi5jb20vc2V0dGluZ3MvdG9rZW5zL25ldykgYW5kIGFkZCBpdCB0byB5b3VyIHJlcG8ncyBzZWNyZXRzXG4gICAgICAgIC8vIE5PVEU6IGNvbWVzIGZyb20gTVYtQ29uc3VsdGluZyBPcmdcbiAgICAgICAgc2VjcmV0OiAnUFJPSkVOX0dJVEhVQl9UT0tFTicsXG4gICAgICB9LFxuICAgICAgZGVwZW5kYWJvdDogdHJ1ZSxcbiAgICAgIGRlcGVuZGFib3RPcHRpb25zOiB7XG4gICAgICAgIHNjaGVkdWxlSW50ZXJ2YWw6IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsLldFRUtMWSxcbiAgICAgICAgbGFiZWxzOiBbJ2RlcGVuZGVuY2llcycsICdhdXRvLWFwcHJvdmUnXSxcbiAgICAgICAgZ3JvdXBzOiB7XG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcGF0dGVybnM6IFsnKiddLFxuICAgICAgICAgICAgZXhjbHVkZVBhdHRlcm5zOiBbJ2F3cy1jZGsqJywgJ3Byb2plbiddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlnbm9yZTogW3sgZGVwZW5kZW5jeU5hbWU6ICdhd3MtY2RrLWxpYicgfSwgeyBkZXBlbmRlbmN5TmFtZTogJ2F3cy1jZGsnIH1dLFxuICAgICAgfSxcbiAgICAgIC8vIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9kaXNjdXNzaW9ucy80MDQwI2Rpc2N1c3Npb25jb21tZW50LTExOTA1NjI4XG4gICAgICByZWxlYXNhYmxlQ29tbWl0czogUmVsZWFzYWJsZUNvbW1pdHMub2ZUeXBlKFtcbiAgICAgICAgJ2ZlYXQnLFxuICAgICAgICAnZml4JyxcbiAgICAgICAgJ2Nob3JlJyxcbiAgICAgICAgJ3JlZmFjdG9yJyxcbiAgICAgICAgJ3BlcmYnLFxuICAgICAgXSksXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludE9wdGlvbnM6IHtcbiAgICAgICAgICBzZW1hbnRpY1RpdGxlT3B0aW9uczoge1xuICAgICAgICAgICAgLy8gc2VlIGNvbW1pdCB0eXBlcyBoZXJlOiBodHRwczovL3d3dy5jb252ZW50aW9uYWxjb21taXRzLm9yZy9lbi92MS4wLjAvI3N1bW1hcnlcbiAgICAgICAgICAgIHR5cGVzOiBbXG4gICAgICAgICAgICAgICdmZWF0JyxcbiAgICAgICAgICAgICAgJ2ZpeCcsXG4gICAgICAgICAgICAgICdjaG9yZScsXG4gICAgICAgICAgICAgICdyZWZhY3RvcicsXG4gICAgICAgICAgICAgICdwZXJmJyxcbiAgICAgICAgICAgICAgJ2RvY3MnLFxuICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAndGVzdCcsXG4gICAgICAgICAgICAgICdidWlsZCcsXG4gICAgICAgICAgICAgICdjaScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdmVyc2lvbnJjT3B0aW9uczoge1xuICAgICAgICB0eXBlczogW1xuICAgICAgICAgIHsgdHlwZTogJ2ZlYXQnLCBzZWN0aW9uOiAnRmVhdHVyZXMnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnZml4Jywgc2VjdGlvbjogJ0J1ZyBGaXhlcycgfSxcbiAgICAgICAgICB7IHR5cGU6ICdjaG9yZScsIHNlY3Rpb246ICdDaG9yZXMnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnZG9jcycsIHNlY3Rpb246ICdEb2NzJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ3N0eWxlJywgaGlkZGVuOiB0cnVlIH0sXG4gICAgICAgICAgeyB0eXBlOiAncmVmYWN0b3InLCBoaWRkZW46IHRydWUgfSxcbiAgICAgICAgICB7IHR5cGU6ICdwZXJmJywgc2VjdGlvbjogJ1BlcmZvcm1hbmNlJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ3Rlc3QnLCBoaWRkZW46IHRydWUgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBlc2xpbnRPcHRpb25zOiB7XG4gICAgICAgIHByZXR0aWVyOiBmYWxzZSxcbiAgICAgICAgZGlyczogWydzcmMnXSxcbiAgICAgICAgaWdub3JlUGF0dGVybnM6IFsnKiovKi1mdW5jdGlvbi50cycsICdleGFtcGxlcy8nXSxcbiAgICAgIH0sXG4gICAgICAvLyBleHBlcmltZW50YWxJbnRlZ1J1bm5lcjogdHJ1ZSxcbiAgICAgIC8vIG1hbnVhbCBpbnRlZyB0ZXN0IHNldHVwXG4gICAgICB0c2NvbmZpZ0Rldjoge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHt9LFxuICAgICAgICBpbmNsdWRlOiBbJ2ludGVnLXRlc3RzLyoqLyoudHMnXSxcbiAgICAgIH0sXG4gICAgICBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2dpdGh1Yl9wdWxsX3JlcXVlc3QubWRgKS50b1N0cmluZygpXSxcbiAgICAgIC8vIE5PVEU6IGlzc3VlIHRlbXBsYXRlcyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9wdWxsLzM2NDhcbiAgICAgIC8vIGlzc3VlVGVtcGxhdGVzOiB7fVxuICAgICAgcmVhZG1lOiB7XG4gICAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgICAgYFxuIVtTb3VyY2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL3N0YXJzL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9P2xvZ289Z2l0aHViJmxhYmVsPUdpdEh1YiUyMFN0YXJzKVxuWyFbQnVpbGQgU3RhdHVzXShodHRwczovL2dpdGh1Yi5jb20vTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0vYWN0aW9ucy93b3JrZmxvd3MvYnVpbGQueW1sL2JhZGdlLnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS9hY3Rpb25zL3dvcmtmbG93cy9idWlsZC55bWwpXG5bIVtFU0xpbnQgQ29kZSBGb3JtYXR0aW5nXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2NvZGVfc3R5bGUtZXNsaW50LWJyaWdodGdyZWVuLnN2ZyldKGh0dHBzOi8vZXNsaW50Lm9yZylcblshW0xhdGVzdCByZWxlYXNlXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9yZWxlYXNlL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9LnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS9yZWxlYXNlcylcbiFbR2l0SHViXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9saWNlbnNlL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9KVxuWyFbbnBtXShodHRwczovL2ltZy5zaGllbGRzLmlvL25wbS9kdC9AbWF2b2dlbC8ke29wdGlvbnMubmFtZX0/bGFiZWw9bnBtJmNvbG9yPW9yYW5nZSldKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfSlcblshW3R5cGVzY3JpcHRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvanNpaS10eXBlc2NyaXB0LWJsdWV2aW9sZXQuc3ZnKV0oaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9KVxuICAgICAgICAgIGAsXG4gICAgICAgICAgYCMgJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgICAgICAnTXkgYXdlc29tZSBkZXNjcmlwdGlvbi4uLicsXG4gICAgICAgICAgYFxuIyMgVGFibGUgb2YgQ29udGVudHNcblxuLSBbRmVhdHVyZXNdKCNmZWF0dXJlcylcbi0gW1VzYWdlXSgjdXNhZ2UpXG4tIFtTb2x1dGlvbiBEZXNpZ25dKCNzb2x1dGlvbi1kZXNpZ24pXG4tIFtJbnNwaXJhdGlvbl0oI2luc3BpcmF0aW9uKVxuXG4jIyBGZWF0dXJlc1xuXG4tIOKaoSAqKlF1aWNrIFNldHVwKio6IFRCRFxuLSDwn5OPICoqQmVzdCBQcmFjdGljZSBTZXR1cCoqOiBUQkRcbi0g8J+kueKAjeKZgu+4jyAqKlByZS1pbnN0YWxsZWQgcGFja2FnZXMqKjogVEJEXG4tIPCfj5fvuI8gKipFeHRlbnNpYmlsaXR5Kio6IFRCRFxuXG4jIyBVc2FnZVxuVGhlIGZvbGxvd2luZyBzdGVwcyBnZXQgeW91IHN0YXJ0ZWQ6XG5cbjEuIENyZWF0ZSBhIG5ldyBcXGBhd3NjZGstYXBwXFxgIHZpYVxuXFxgXFxgXFxgYmFzaFxubnB4IHByb2plbiBuZXcgYXdzY2RrLWFwcC10cyAtLWNka1ZlcnNpb249Mi4xNzcuMCAtLXBhY2thZ2UtbWFuYWdlcj1ucG1cblxcYFxcYFxcYFxuMy4gQWRkIFxcYEBtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfVxcYCBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBwcm9qZWN0IGluIHRoZSBcXGAucHJvamVucmMudHNcXGAgZmlsZVxuNC4gUnVuIFxcYG5weCBwcm9qZW5cXGAgdG8gaW5zdGFsbCBpdFxuNS4gQWRkIHRoZSBmb2xsb3dpbmcgdG8gdGhlIFxcYHNyYy9tYWluLnRzXFxgIGZpbGU6XG5cXGBcXGBcXGB0c1xuaW1wb3J0IHsgQXBwLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tICdAbWF2b2dlbC8ke29wdGlvbnMubmFtZX0nO1xuXG5leHBvcnQgY2xhc3MgTXlTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNrUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbmV3IFBsYWNlaG9sZGVyKHRoaXMsICdwbGFjZWhvbGRlcicsIHtcbiAgICAgIC8vIGFuZCBtb3JlLi4uIPCfkqFcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBlbnYgPSB7XG4gIGFjY291bnQ6ICcxMjM0NTY3ODk5MTInLFxuICByZWdpb246ICdldS1jZW50cmFsLTEnLFxufTtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xubmV3IE15U3RhY2soYXBwLCAncGxhY2Vob2xkZXInLCB7IGVudiB9KTtcbmFwcC5zeW50aCgpO1xuXFxgXFxgXFxgXG5cbmFuZCBkZXBsb3kgaXRcblxcYFxcYFxcYGJhc2hcbm5weCBwcm9qZW4gYnVpbGRcbm5weCBwcm9qZW4gZGVwbG95XG5cXGBcXGBcXGBcblxud2l0aCB0aGUgb3V0cHV0XG5cXGBcXGBcXGBjb25zb2xlXG5UQkRcblxcYFxcYFxcYFxuXG5TZWUgdGhlIFtleGFtcGxlc10oLi9leGFtcGxlcykgZm9sZGVyIGZvciBtb3JlIGluc3BpcmF0aW9uLlxuXG4jIyBTb2x1dGlvbiBEZXNpZ25cblxuPGRldGFpbHM+XG4gIDxzdW1tYXJ5Pi4uLiBpZiB5b3UncmUgY3VyaW91cyBhYm91dCBjbGljayBoZXJlIGZvciB0aGUgZGV0YWlsczwvc3VtbWFyeT5cblxuIVtwbGFjZWhvbGRlcl0oZG9jcy9pbWcvcGxhY2Vob2xkZXIuZHJhd2lvLW1pbi5wbmcpXG5cbjwvZGV0YWlscz5cblxuIyMgSW5zcGlyYXRpb25cblxuYWRkIHRvb2xzIG9yIGxpbmtzIHdoaWNoIGluc3BpcmVkIHlvdVxuICAgICAgICAgIGAsXG4gICAgICAgICAgZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9naXRodWJfcmVhZG1lX2N0YS5tZGApLnRvU3RyaW5nKCksXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgICAgLy8gTk9URToga2VlcCBhbGwgdGhlIHBhc3NlZCBpbiBvcHRpb25zIHdoaWNoIGNhbiBvdmVycmlkZSB0aGUgZXhpc3Rpbmcgb25lcyFcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBnaXRpZ25vcmVcbiAgICBjb25zdCBmaWxlc1BhdHRlcm5Ub0dpdGlnbm9yZSA9IFtcbiAgICAgICd0bXAnLFxuICAgICAgJy5jb2RlZ3B0JyxcbiAgICBdO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlc1BhdHRlcm5Ub0dpdGlnbm9yZSkge1xuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShmaWxlKTtcbiAgICB9XG4gICAgdGhpcy5hZGREZXBzKFxuICAgICAgJ2Nkay1uYWdAXjIuMzUuMCcsXG4gICAgKTtcbiAgICB0aGlzLmFkZERldkRlcHMoXG4gICAgICBgQGF3cy1jZGsvaW50ZWctcnVubmVyQCR7dGhpcy5jZGtWZXJzaW9ufS1hbHBoYS4wYCwgLy8gTk9URToga2VlcCBpbiBzeW5jIHdpdGggY2RrdmVyc2lvblxuICAgICAgYEBhd3MtY2RrL2ludGVnLXRlc3RzLWFscGhhQCR7dGhpcy5jZGtWZXJzaW9ufS1hbHBoYS4wYCxcbiAgICAgICdAY29tbWl0bGludC9jbGlAXjE5LjYuMScsXG4gICAgICAnQGNvbW1pdGxpbnQvY29uZmlnLWNvbnZlbnRpb25hbEBeMTkuNi4wJyxcbiAgICAgICdhd3NsaW50QF4yLjcyLjEnLFxuICAgICAgJ2h1c2t5QF45LjEuNycsXG4gICAgKTtcblxuICAgIHRoaXMucGFja2FnZS5zZXRTY3JpcHQoJ3ByZXBhcmUnLCAnaHVza3knKTtcbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5jb21taXRsaW50cmMuanMnLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICAnbW9kdWxlLmV4cG9ydHMgPSB7IGV4dGVuZHM6IFtcXCdAY29tbWl0bGludC9jb25maWctY29udmVudGlvbmFsXFwnXSB9OycsXG4gICAgICBdLFxuICAgICAgbWFya2VyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWNrYWdlLnNldFNjcmlwdCgnYXdzbGludCcsICdhd3NsaW50Jyk7XG4gICAgLy8gLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueW1sXG4gICAgY29uc3QgYnVpbGRXb3JrZmxvdyA9IHRoaXMuZ2l0aHViPy50cnlGaW5kV29ya2Zsb3coJ2J1aWxkJyk7XG4gICAgaWYgKCFidWlsZFdvcmtmbG93KSByZXR1cm47XG4gICAgY29uc3QgYnVpbGRKb2IgPSBidWlsZFdvcmtmbG93LmdldEpvYignYnVpbGQnKTtcbiAgICBpZiAoIWJ1aWxkSm9iIHx8ICEoJ3N0ZXBzJyBpbiBidWlsZEpvYikpIHJldHVybjtcbiAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IHdoeSB3cm9uZyB0eXBlc1xuICAgIGNvbnN0IGdldEJ1aWxkU3RlcHMgPSBidWlsZEpvYi5zdGVwcyBhcyB1bmtub3duIGFzICgpID0+IEpvYlN0ZXBbXTtcbiAgICBjb25zdCBidWlsZEpvYlN0ZXBzID0gZ2V0QnVpbGRTdGVwcygpO1xuICAgIGJ1aWxkV29ya2Zsb3cudXBkYXRlSm9iKCdidWlsZCcsIHtcbiAgICAgIC4uLmJ1aWxkSm9iLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uYnVpbGRKb2JTdGVwcy5zbGljZSgwLCA0KSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdSdW4gYXdzbGludCcsXG4gICAgICAgICAgcnVuOiAnbnBtIHJ1biBhd3NsaW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYnVpbGRKb2JTdGVwcy5zbGljZSg0KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2Uuc2V0U2NyaXB0KFxuICAgICAgJ2ludGVnLXRlc3QnLFxuICAgICAgYGludGVnLXJ1bm5lciAtLWRpcmVjdG9yeSAuL2ludGVnLXRlc3RzICR7aW50ZWdUZXN0UmVnaW9ucz8ubWFwKHJlZ2lvbiA9PiBgLS1wYXJhbGxlbC1yZWdpb25zICR7cmVnaW9ufWApLmpvaW4oJyAnKX0gLS11cGRhdGUtb24tZmFpbGVkYCxcbiAgICApO1xuXG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICcuZ2l0aHViL0lTU1VFX1RFTVBMQVRFL2J1Z19yZXBvcnQubWQnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX2J1Z19yZXBvcnQubWRgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLmdpdGh1Yi9JU1NVRV9URU1QTEFURS9mZWF0dXJlX3JlcXVlc3QubWQnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX2ZlYXR1cmVfcmVxdWVzdC5tZGApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMsICcuZ2l0aHViL0ZVTkRJTkcueWFtbCcsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBnaXRodWI6ICdtYXZvZ2VsJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJ0NPTlRSSUJVVElORy5tZCcsIHtcbiAgICAgIGxpbmVzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9jb250cmlidXRpbmcubWRgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLnByZXR0aWVycmMnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vcHJldHRpZXJyY2ApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgLy8gd3JpdGUgc2FtcGxlIGNvZGUgdG8gbWFpbi50cyAmIHRvIG1haW4udGVzdC50c1xuICAgIGlmIChvcHRpb25zLnNhbXBsZUNvZGUgPz8gdHJ1ZSkge1xuICAgICAgbmV3IFNhbXBsZUNvZGUodGhpcywge1xuICAgICAgICBiYXNlQXNzZXRzRGlyZWN0b3J5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBTYW1wbGVDb2RlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGJhc2VBc3NldHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmNsYXNzIFNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGxpYnJhcnk6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU2FtcGxlQ29kZU9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGlicmFyeTogQXdzQ2RrQ29uc3RydWN0TGlicmFyeSxcbiAgICBvcHRpb25zOiBTYW1wbGVDb2RlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIobGlicmFyeSk7XG4gICAgdGhpcy5saWJyYXJ5ID0gbGlicmFyeTtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgcHVibGljIHN5bnRoZXNpemUoKSB7XG4gICAgY29uc3Qgb3V0ZGlyID0gdGhpcy5wcm9qZWN0Lm91dGRpcjtcbiAgICBjb25zdCBzcmNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLmxpYnJhcnkuc3JjZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKHNyY2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKHNyY2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSkgJiZcbiAgICAgICFmcy5yZWFkRmlsZVN5bmMoYCR7c3JjZGlyfS9pbmRleC50c2ApLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2V4cG9ydCBjbGFzcyBIZWxsbycpIC8vIE5vdGU6IGZyb20gcGFyZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZnMubWtkaXJTeW5jKHNyY2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCAnaW5kZXgudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19pbmRleC50c2ApLnRvU3RyaW5nKCkpO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHNyY2RpciwgJ3BsYWNlaG9sZGVyLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9zcmNfcGxhY2Vob2xkZXIudHNgKS50b1N0cmluZygpKTtcbiAgICAvLyBjcmQgd2l0aCBsYW1iZGEgZ2VuZXJhdGlvblxuICAgIGZzLm1rZGlyU3luYyhgJHtzcmNkaXJ9L2NyZC1leGFtcGxlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7c3JjZGlyfS9jcmQtZXhhbXBsZWAsICdjcmQtZXhhbXBsZS50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3Qvc3JjX2NyZC1leGFtcGxlLnRzYCkudG9TdHJpbmcoKSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7c3JjZGlyfS9jcmQtZXhhbXBsZWAsICdjcmQtZXhhbXBsZS5sYW1iZGEudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19jcmQtZXhhbXBsZS5sYW1iZGEudHNgKS50b1N0cmluZygpKTtcblxuXG4gICAgY29uc3QgdGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMubGlicmFyeS50ZXN0ZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKHRlc3RkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyh0ZXN0ZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKSAmJlxuICAgICAgIWZzLmV4aXN0c1N5bmMoYCR7dGVzdGRpcn0vaGVsbG8udGVzdC50c2ApIC8vIE5vdGU6IGZyb20gcGFyZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIHJlbW92ZSAke3Rlc3RkaXJ9L2hlbGxvLnRlc3QudHMgZmlsZS4gT24gdGhlIG90aGVyIGhhbmQsIHdlIG92ZXJyaWRlIGluZGV4LnRzXG4gICAgZnMudW5saW5rU3luYyhgJHt0ZXN0ZGlyfS9oZWxsby50ZXN0LnRzYCk7XG4gICAgZnMubWtkaXJTeW5jKHRlc3RkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHRlc3RkaXIsICdpbmRleC50ZXN0LnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC90ZXN0X2luZGV4LnRlc3QudHNgKS50b1N0cmluZygpKTtcbiAgICAvLyBsYW1iZGEgdGVzdHMgd2l0aCBqZXN0IHN0dWJzXG4gICAgZnMubWtkaXJTeW5jKGAke3Rlc3RkaXJ9L2NyZC1leGFtcGxlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7dGVzdGRpcn0vY3JkLWV4YW1wbGVgLCAnY3JkLWV4YW1wbGUudGVzdC50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvdGVzdF9jcmQtZXhhbXBsZS50ZXN0LnRzYCkudG9TdHJpbmcoKSk7XG5cblxuICAgIGNvbnN0IGludGVnVGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsICdpbnRlZy10ZXN0cycpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoaW50ZWdUZXN0ZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoaW50ZWdUZXN0ZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoaW50ZWdUZXN0ZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihpbnRlZ1Rlc3RkaXIsICdpbnRlZy5wbGFjZWhvbGRlci50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvaW50ZWdfaW50ZWcucGxhY2Vob2xkZXIudHNgKS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IGludGVnVGVzdEZ1bmN0aW9uc2RpciA9IHBhdGguam9pbihpbnRlZ1Rlc3RkaXIsICdmdW5jdGlvbnMnKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oaW50ZWdUZXN0RnVuY3Rpb25zZGlyLCAndGVzdC1oYW5kbGVyLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9pbnRlZ190ZXN0LWhhbmRsZXIudHNgKS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IGRvY3NkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCAnZG9jcycpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoZG9jc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGRvY3NkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLmRyYXdpbycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoZG9jc2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oZG9jc2RpciwgJ3BsYWNlaG9sZGVyLmRyYXdpbycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9kb2NzX3BsYWNlaG9sZGVyLmRyYXdpb2ApLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgZXhhbXBsZXNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCAnZXhhbXBsZXMnLCAnc2ltcGxlJyk7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhleGFtcGxlc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGV4YW1wbGVzZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy5kcmF3aW8nKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGV4YW1wbGVzZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihleGFtcGxlc2RpciwgJ21haW4udHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L2V4YW1wbGVzX3NpbXBsZV9tYWluLnRzYCkudG9TdHJpbmcoKSk7XG4gIH1cbn0iXX0=
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9jZGstY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBOEI7QUFDOUIsbUNBQXNGO0FBQ3RGLDhDQUF5RztBQUN6Ryw4Q0FBK0Q7QUFHL0QsMkVBQTJFO0FBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLGlCQUFpQixHQUFHLHNCQUFhLENBQUMsV0FBVyxDQUFDO0FBcUJwRDs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwrQkFBc0I7SUFFaEUsWUFBWSxPQUFzQztRQUNoRCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxHQUFHLElBQUEsYUFBRyxHQUFFLDBDQUEwQyxDQUFDO1FBQzlHLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWhGLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxlQUFlLEVBQUUsTUFBTTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixXQUFXLEVBQUUsUUFBUTtZQUNyQixjQUFjLEVBQUUsV0FBVztZQUMzQixtQkFBbUIsRUFBRSxXQUFXO1lBQ2hDLFNBQVMsRUFBRSxjQUFjO1lBQ3pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDakQsU0FBUyxFQUFFLG1CQUFVLENBQUMsU0FBUyxDQUFDLE1BQU07WUFDdEMsYUFBYSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLHFCQUFxQixFQUFFLEtBQUssRUFBRSxpQ0FBaUM7YUFDaEU7WUFDRCxrQkFBa0Is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Q0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTdKLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUNFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ2hFLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9KLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IENvbXBvbmVudCwgamF2YXNjcmlwdCwgUmVsZWFzYWJsZUNvbW1pdHMsIFRleHRGaWxlLCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LCBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgTGFtYmRhUnVudGltZSB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5cbi8vIFNldCB0aGUgbWluaW11bSBub2RlIHZlcnNpb24gZm9yIEFXUyBDREsgYW5kIHRoZSBHaXRIdWIgYWN0aW9ucyB3b3JrZmxvd1xuY29uc3Qgbm9kZVZlcnNpb24gPSAnMjIueCc7XG5jb25zdCBsYW1iZGFOb2RlVmVyc2lvbiA9IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzIyX1g7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdmNDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEJhc2UgZGlyZWN0b3J5IGZvciB0aGUgYXNzZXRzXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7Y3dkKCl9L25vZGVfbW9kdWxlcy9tdmMtcHJvamVuL2Fzc2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgYmFzZUFzc2V0c0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbnMgdG8gcnVuIHRoZSBpbnRlZyB0ZXN0cyBpblxuICAgKlxuICAgKiBAZGVmYXVsdCBldS13ZXN0LTEgYW5kIGV1LXdlc3QtMlxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdUZXN0UmVnaW9ucz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFR5cGVTY3JpcHQgbGlicmFyeVxuICpcbiAqIEBwamlkIG12Yy1hd3NjZGstY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBNdmNDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTXZjQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMpIHtcbiAgICBjb25zdCBiYXNlQXNzZXRzRGlyZWN0b3J5ID0gb3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5ID8/IGAke2N3ZCgpfS9ub2RlX21vZHVsZXMvQG1hdm9nZWwvbXZjLXByb2plbi9hc3NldHNgO1xuICAgIGNvbnN0IGludGVnVGVzdFJlZ2lvbnMgPSBvcHRpb25zLmludGVnVGVzdFJlZ2lvbnMgPz8gWydldS13ZXN0LTEnLCAnZXUtd2VzdC0yJ107XG5cbiAgICBzdXBlcih7XG4gICAgICBhdXRob3JPcmdhbml6YXRpb246IHRydWUsXG4gICAgICBjb3B5cmlnaHRPd25lcjogJ01WIENvbnN1bHRpbmcgR21iSCcsXG4gICAgICBjb3B5cmlnaHRQZXJpb2Q6ICcyMDI1JyxcbiAgICAgIGxpY2Vuc2U6ICdBcGFjaGUtMi4wJyxcbiAgICAgIGpzaWlWZXJzaW9uOiAnfjUuOS4wJyxcbiAgICAgIG1pbk5vZGVWZXJzaW9uOiBub2RlVmVyc2lvbixcbiAgICAgIHdvcmtmbG93Tm9kZVZlcnNpb246IG5vZGVWZXJzaW9uLFxuICAgICAgc3RhYmlsaXR5OiAnZXhwZXJpbWVudGFsJyxcbiAgICAgIHJlbGVhc2VUb05wbTogdHJ1ZSxcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5OUE0sXG4gICAgICBucG1BY2Nlc3M6IGphdmFzY3JpcHQuTnBtQWNjZXNzLlBVQkxJQyxcbiAgICAgIGxhbWJkYU9wdGlvbnM6IHtcbiAgICAgICAgcnVudGltZTogbGFtYmRhTm9kZVZlcnNpb24sXG4gICAgICAgIGF3c1Nka0Nvbm5lY3Rpb25SZXVzZTogZmFsc2UsIC8vIGRvZXNuJ3QgZXhpc3QgaW4gQVdTIFNESyBKUyB2M1xuICAgICAgfSxcbiAgICAgIGF1dG9BcHByb3ZlT3B0aW9uczoge1xuICAgICAgICBhbGxvd2VkVXNlcm5hbWVzOiBbXG4gICAgICAgICAgJ2RlcGVuZGFib3QnLFxuICAgICAgICAgICdkZXBlbmRhYm90W2JvdF0nLFxuICAgICAgICAgICdnaXRodWItYm90JyxcbiAgICAgICAgICAnZ2l0aHViLWFjdGlvbnNbYm90XScsXG4gICAgICAgICAgJ212Yy1ib3QnLFxuICAgICAgICBdLFxuICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgc2VjcmV0IHRoYXQgaGFzIHRoZSBHaXRIdWIgUEFUIGZvciBhdXRvLWFwcHJvdmluZyBQUnMgd2l0aCBwZXJtaXNzaW9ucyByZXBvLCB3b3JrZmxvdywgd3JpdGU6cGFja2FnZXNcbiAgICAgICAgLy8gR2VuZXJhdGUgYSBuZXcgUEFUIChodHRwczovL2dpdGh1Yi5jb20vc2V0dGluZ3MvdG9rZW5zL25ldykgYW5kIGFkZCBpdCB0byB5b3VyIHJlcG8ncyBzZWNyZXRzXG4gICAgICAgIC8vIE5PVEU6IGNvbWVzIGZyb20gTVYtQ29uc3VsdGluZyBPcmdcbiAgICAgICAgc2VjcmV0OiAnUFJPSkVOX0dJVEhVQl9UT0tFTicsXG4gICAgICB9LFxuICAgICAgZGVwZW5kYWJvdDogdHJ1ZSxcbiAgICAgIGRlcGVuZGFib3RPcHRpb25zOiB7XG4gICAgICAgIHNjaGVkdWxlSW50ZXJ2YWw6IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsLldFRUtMWSxcbiAgICAgICAgbGFiZWxzOiBbJ2RlcGVuZGVuY2llcycsICdhdXRvLWFwcHJvdmUnXSxcbiAgICAgICAgZ3JvdXBzOiB7XG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcGF0dGVybnM6IFsnKiddLFxuICAgICAgICAgICAgZXhjbHVkZVBhdHRlcm5zOiBbJ2F3cy1jZGsqJywgJ3Byb2plbiddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlnbm9yZTogW3sgZGVwZW5kZW5jeU5hbWU6ICdhd3MtY2RrLWxpYicgfSwgeyBkZXBlbmRlbmN5TmFtZTogJ2F3cy1jZGsnIH1dLFxuICAgICAgfSxcbiAgICAgIC8vIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9kaXNjdXNzaW9ucy80MDQwI2Rpc2N1c3Npb25jb21tZW50LTExOTA1NjI4XG4gICAgICByZWxlYXNhYmxlQ29tbWl0czogUmVsZWFzYWJsZUNvbW1pdHMub2ZUeXBlKFtcbiAgICAgICAgJ2ZlYXQnLFxuICAgICAgICAnZml4JyxcbiAgICAgICAgJ2Nob3JlJyxcbiAgICAgICAgJ3JlZmFjdG9yJyxcbiAgICAgICAgJ3BlcmYnLFxuICAgICAgXSksXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludE9wdGlvbnM6IHtcbiAgICAgICAgICBzZW1hbnRpY1RpdGxlT3B0aW9uczoge1xuICAgICAgICAgICAgLy8gc2VlIGNvbW1pdCB0eXBlcyBoZXJlOiBodHRwczovL3d3dy5jb252ZW50aW9uYWxjb21taXRzLm9yZy9lbi92MS4wLjAvI3N1bW1hcnlcbiAgICAgICAgICAgIHR5cGVzOiBbXG4gICAgICAgICAgICAgICdmZWF0JyxcbiAgICAgICAgICAgICAgJ2ZpeCcsXG4gICAgICAgICAgICAgICdjaG9yZScsXG4gICAgICAgICAgICAgICdyZWZhY3RvcicsXG4gICAgICAgICAgICAgICdwZXJmJyxcbiAgICAgICAgICAgICAgJ2RvY3MnLFxuICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAndGVzdCcsXG4gICAgICAgICAgICAgICdidWlsZCcsXG4gICAgICAgICAgICAgICdjaScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdmVyc2lvbnJjT3B0aW9uczoge1xuICAgICAgICB0eXBlczogW1xuICAgICAgICAgIHsgdHlwZTogJ2ZlYXQnLCBzZWN0aW9uOiAnRmVhdHVyZXMnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnZml4Jywgc2VjdGlvbjogJ0J1ZyBGaXhlcycgfSxcbiAgICAgICAgICB7IHR5cGU6ICdjaG9yZScsIHNlY3Rpb246ICdDaG9yZXMnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnZG9jcycsIHNlY3Rpb246ICdEb2NzJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ3N0eWxlJywgaGlkZGVuOiB0cnVlIH0sXG4gICAgICAgICAgeyB0eXBlOiAncmVmYWN0b3InLCBoaWRkZW46IHRydWUgfSxcbiAgICAgICAgICB7IHR5cGU6ICdwZXJmJywgc2VjdGlvbjogJ1BlcmZvcm1hbmNlJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ3Rlc3QnLCBoaWRkZW46IHRydWUgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBlc2xpbnRPcHRpb25zOiB7XG4gICAgICAgIHByZXR0aWVyOiBmYWxzZSxcbiAgICAgICAgZGlyczogWydzcmMnXSxcbiAgICAgICAgaWdub3JlUGF0dGVybnM6IFsnKiovKi1mdW5jdGlvbi50cycsICdleGFtcGxlcy8nXSxcbiAgICAgIH0sXG4gICAgICAvLyBleHBlcmltZW50YWxJbnRlZ1J1bm5lcjogdHJ1ZSxcbiAgICAgIC8vIG1hbnVhbCBpbnRlZyB0ZXN0IHNldHVwXG4gICAgICB0c2NvbmZpZ0Rldjoge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHt9LFxuICAgICAgICBpbmNsdWRlOiBbJ2ludGVnLXRlc3RzLyoqLyoudHMnXSxcbiAgICAgIH0sXG4gICAgICBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2dpdGh1Yl9wdWxsX3JlcXVlc3QubWRgKS50b1N0cmluZygpXSxcbiAgICAgIC8vIE5PVEU6IGlzc3VlIHRlbXBsYXRlcyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9wdWxsLzM2NDhcbiAgICAgIC8vIGlzc3VlVGVtcGxhdGVzOiB7fVxuICAgICAgcmVhZG1lOiB7XG4gICAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgICAgYFxuIVtTb3VyY2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL3N0YXJzL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9P2xvZ289Z2l0aHViJmxhYmVsPUdpdEh1YiUyMFN0YXJzKVxuWyFbQnVpbGQgU3RhdHVzXShodHRwczovL2dpdGh1Yi5jb20vTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0vYWN0aW9ucy93b3JrZmxvd3MvYnVpbGQueW1sL2JhZGdlLnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS9hY3Rpb25zL3dvcmtmbG93cy9idWlsZC55bWwpXG5bIVtFU0xpbnQgQ29kZSBGb3JtYXR0aW5nXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2NvZGVfc3R5bGUtZXNsaW50LWJyaWdodGdyZWVuLnN2ZyldKGh0dHBzOi8vZXNsaW50Lm9yZylcblshW0xhdGVzdCByZWxlYXNlXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9yZWxlYXNlL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9LnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS9yZWxlYXNlcylcbiFbR2l0SHViXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9saWNlbnNlL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9KVxuWyFbbnBtXShodHRwczovL2ltZy5zaGllbGRzLmlvL25wbS9kdC9AbWF2b2dlbC8ke29wdGlvbnMubmFtZX0/bGFiZWw9bnBtJmNvbG9yPW9yYW5nZSldKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfSlcblshW3R5cGVzY3JpcHRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvanNpaS10eXBlc2NyaXB0LWJsdWV2aW9sZXQuc3ZnKV0oaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9KVxuICAgICAgICAgIGAsXG4gICAgICAgICAgYCMgJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgICAgICAnTXkgYXdlc29tZSBkZXNjcmlwdGlvbi4uLicsXG4gICAgICAgICAgYFxuIyMgVGFibGUgb2YgQ29udGVudHNcblxuLSBbRmVhdHVyZXNdKCNmZWF0dXJlcylcbi0gW1VzYWdlXSgjdXNhZ2UpXG4tIFtTb2x1dGlvbiBEZXNpZ25dKCNzb2x1dGlvbi1kZXNpZ24pXG4tIFtJbnNwaXJhdGlvbl0oI2luc3BpcmF0aW9uKVxuXG4jIyBGZWF0dXJlc1xuXG4tIOKaoSAqKlF1aWNrIFNldHVwKio6IFRCRFxuLSDwn5OPICoqQmVzdCBQcmFjdGljZSBTZXR1cCoqOiBUQkRcbi0g8J+kueKAjeKZgu+4jyAqKlByZS1pbnN0YWxsZWQgcGFja2FnZXMqKjogVEJEXG4tIPCfj5fvuI8gKipFeHRlbnNpYmlsaXR5Kio6IFRCRFxuXG4jIyBVc2FnZVxuVGhlIGZvbGxvd2luZyBzdGVwcyBnZXQgeW91IHN0YXJ0ZWQ6XG5cbjEuIENyZWF0ZSBhIG5ldyBcXGBhd3NjZGstYXBwXFxgIHZpYVxuXFxgXFxgXFxgYmFzaFxubnB4IHByb2plbiBuZXcgYXdzY2RrLWFwcC10cyAtLWNka1ZlcnNpb249Mi4xNzcuMCAtLXBhY2thZ2UtbWFuYWdlcj1ucG1cblxcYFxcYFxcYFxuMy4gQWRkIFxcYEBtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfVxcYCBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBwcm9qZWN0IGluIHRoZSBcXGAucHJvamVucmMudHNcXGAgZmlsZVxuNC4gUnVuIFxcYG5weCBwcm9qZW5cXGAgdG8gaW5zdGFsbCBpdFxuNS4gQWRkIHRoZSBmb2xsb3dpbmcgdG8gdGhlIFxcYHNyYy9tYWluLnRzXFxgIGZpbGU6XG5cXGBcXGBcXGB0c1xuaW1wb3J0IHsgQXBwLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tICdAbWF2b2dlbC8ke29wdGlvbnMubmFtZX0nO1xuXG5leHBvcnQgY2xhc3MgTXlTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNrUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbmV3IFBsYWNlaG9sZGVyKHRoaXMsICdwbGFjZWhvbGRlcicsIHtcbiAgICAgIC8vIGFuZCBtb3JlLi4uIPCfkqFcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBlbnYgPSB7XG4gIGFjY291bnQ6ICcxMjM0NTY3ODk5MTInLFxuICByZWdpb246ICdldS1jZW50cmFsLTEnLFxufTtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xubmV3IE15U3RhY2soYXBwLCAncGxhY2Vob2xkZXInLCB7IGVudiB9KTtcbmFwcC5zeW50aCgpO1xuXFxgXFxgXFxgXG5cbmFuZCBkZXBsb3kgaXRcblxcYFxcYFxcYGJhc2hcbm5weCBwcm9qZW4gYnVpbGRcbm5weCBwcm9qZW4gZGVwbG95XG5cXGBcXGBcXGBcblxud2l0aCB0aGUgb3V0cHV0XG5cXGBcXGBcXGBjb25zb2xlXG5UQkRcblxcYFxcYFxcYFxuXG5TZWUgdGhlIFtleGFtcGxlc10oLi9leGFtcGxlcykgZm9sZGVyIGZvciBtb3JlIGluc3BpcmF0aW9uLlxuXG4jIyBTb2x1dGlvbiBEZXNpZ25cblxuPGRldGFpbHM+XG4gIDxzdW1tYXJ5Pi4uLiBpZiB5b3UncmUgY3VyaW91cyBhYm91dCBjbGljayBoZXJlIGZvciB0aGUgZGV0YWlsczwvc3VtbWFyeT5cblxuIVtwbGFjZWhvbGRlcl0oZG9jcy9pbWcvcGxhY2Vob2xkZXIuZHJhd2lvLW1pbi5wbmcpXG5cbjwvZGV0YWlscz5cblxuIyMgSW5zcGlyYXRpb25cblxuYWRkIHRvb2xzIG9yIGxpbmtzIHdoaWNoIGluc3BpcmVkIHlvdVxuICAgICAgICAgIGAsXG4gICAgICAgICAgZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9naXRodWJfcmVhZG1lX2N0YS5tZGApLnRvU3RyaW5nKCksXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgICAgLy8gTk9URToga2VlcCBhbGwgdGhlIHBhc3NlZCBpbiBvcHRpb25zIHdoaWNoIGNhbiBvdmVycmlkZSB0aGUgZXhpc3Rpbmcgb25lcyFcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBnaXRpZ25vcmVcbiAgICBjb25zdCBmaWxlc1BhdHRlcm5Ub0dpdGlnbm9yZSA9IFtcbiAgICAgICd0bXAnLFxuICAgICAgJy5jb2RlZ3B0JyxcbiAgICBdO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlc1BhdHRlcm5Ub0dpdGlnbm9yZSkge1xuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShmaWxlKTtcbiAgICB9XG4gICAgdGhpcy5hZGREZXBzKFxuICAgICAgJ2Nkay1uYWdAXjIuMzcuNTUnLFxuICAgICk7XG4gICAgdGhpcy5hZGREZXZEZXBzKFxuICAgICAgYEBhd3MtY2RrL2ludGVnLXJ1bm5lckAke3RoaXMuY2RrVmVyc2lvbn0tYWxwaGEuMGAsIC8vIE5PVEU6IGtlZXAgaW4gc3luYyB3aXRoIGNka3ZlcnNpb25cbiAgICAgIGBAYXdzLWNkay9pbnRlZy10ZXN0cy1hbHBoYUAke3RoaXMuY2RrVmVyc2lvbn0tYWxwaGEuMGAsXG4gICAgICAnQGNvbW1pdGxpbnQvY2xpQF4yMC4xLjAnLFxuICAgICAgJ0Bjb21taXRsaW50L2NvbmZpZy1jb252ZW50aW9uYWxAXjIwLjAuMCcsXG4gICAgICBgYXdzbGludEAke3RoaXMuY2RrVmVyc2lvbn0tYWxwaGEuMGAsXG4gICAgICAnaHVza3lAXjkuMS43JyxcbiAgICApO1xuXG4gICAgdGhpcy5wYWNrYWdlLnNldFNjcmlwdCgncHJlcGFyZScsICdodXNreScpO1xuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLmNvbW1pdGxpbnRyYy5qcycsIHtcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgICdtb2R1bGUuZXhwb3J0cyA9IHsgZXh0ZW5kczogW1xcJ0Bjb21taXRsaW50L2NvbmZpZy1jb252ZW50aW9uYWxcXCddIH07JyxcbiAgICAgIF0sXG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2Uuc2V0U2NyaXB0KCdhd3NsaW50JywgJ2F3c2xpbnQnKTtcbiAgICAvLyAuZ2l0aHViL3dvcmtmbG93cy9idWlsZC55bWxcbiAgICBjb25zdCBidWlsZFdvcmtmbG93ID0gdGhpcy5naXRodWI/LnRyeUZpbmRXb3JrZmxvdygnYnVpbGQnKTtcbiAgICBpZiAoIWJ1aWxkV29ya2Zsb3cpIHJldHVybjtcbiAgICBjb25zdCBidWlsZEpvYiA9IGJ1aWxkV29ya2Zsb3cuZ2V0Sm9iKCdidWlsZCcpO1xuICAgIGlmICghYnVpbGRKb2IgfHwgISgnc3RlcHMnIGluIGJ1aWxkSm9iKSkgcmV0dXJuO1xuICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgd2h5IHdyb25nIHR5cGVzXG4gICAgY29uc3QgZ2V0QnVpbGRTdGVwcyA9IGJ1aWxkSm9iLnN0ZXBzIGFzIHVua25vd24gYXMgKCkgPT4gSm9iU3RlcFtdO1xuICAgIGNvbnN0IGJ1aWxkSm9iU3RlcHMgPSBnZXRCdWlsZFN0ZXBzKCk7XG4gICAgYnVpbGRXb3JrZmxvdy51cGRhdGVKb2IoJ2J1aWxkJywge1xuICAgICAgLi4uYnVpbGRKb2IsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5idWlsZEpvYlN0ZXBzLnNsaWNlKDAsIDQpLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1J1biBhd3NsaW50JyxcbiAgICAgICAgICBydW46ICducG0gcnVuIGF3c2xpbnQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5idWlsZEpvYlN0ZXBzLnNsaWNlKDQpLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGFja2FnZS5zZXRTY3JpcHQoXG4gICAgICAnaW50ZWctdGVzdCcsXG4gICAgICBgaW50ZWctcnVubmVyIC0tZGlyZWN0b3J5IC4vaW50ZWctdGVzdHMgJHtpbnRlZ1Rlc3RSZWdpb25zPy5tYXAocmVnaW9uID0+IGAtLXBhcmFsbGVsLXJlZ2lvbnMgJHtyZWdpb259YCkuam9pbignICcpfSAtLXVwZGF0ZS1vbi1mYWlsZWRgLFxuICAgICk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5naXRodWIvSVNTVUVfVEVNUExBVEUvYnVnX3JlcG9ydC5tZCcsIHtcbiAgICAgIGxpbmVzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9naXRodWJfYnVnX3JlcG9ydC5tZGApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICcuZ2l0aHViL0lTU1VFX1RFTVBMQVRFL2ZlYXR1cmVfcmVxdWVzdC5tZCcsIHtcbiAgICAgIGxpbmVzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9naXRodWJfZmVhdHVyZV9yZXF1ZXN0Lm1kYCkudG9TdHJpbmcoKV0sXG4gICAgfSk7XG5cbiAgICBuZXcgWWFtbEZpbGUodGhpcywgJy5naXRodWIvRlVORElORy55YW1sJywge1xuICAgICAgb2JqOiB7XG4gICAgICAgIGdpdGh1YjogJ21hdm9nZWwnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnQ09OVFJJQlVUSU5HLm1kJywge1xuICAgICAgbGluZXM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2NvbnRyaWJ1dGluZy5tZGApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICcucHJldHRpZXJyYycsIHtcbiAgICAgIGxpbmVzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9wcmV0dGllcnJjYCkudG9TdHJpbmcoKV0sXG4gICAgfSk7XG5cbiAgICAvLyB3cml0ZSBzYW1wbGUgY29kZSB0byBtYWluLnRzICYgdG8gbWFpbi50ZXN0LnRzXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzLCB7XG4gICAgICAgIGJhc2VBc3NldHNEaXJlY3RvcnksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIFNhbXBsZUNvZGVPcHRpb25zIHtcbiAgcmVhZG9ubHkgYmFzZUFzc2V0c0RpcmVjdG9yeT86IHN0cmluZztcbn1cblxuY2xhc3MgU2FtcGxlQ29kZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGlicmFyeTogQXdzQ2RrQ29uc3RydWN0TGlicmFyeTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBTYW1wbGVDb2RlT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsaWJyYXJ5OiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LFxuICAgIG9wdGlvbnM6IFNhbXBsZUNvZGVPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihsaWJyYXJ5KTtcbiAgICB0aGlzLmxpYnJhcnkgPSBsaWJyYXJ5O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBjb25zdCBvdXRkaXIgPSB0aGlzLnByb2plY3Qub3V0ZGlyO1xuICAgIGNvbnN0IHNyY2RpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMubGlicmFyeS5zcmNkaXIpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoc3JjZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoc3JjZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKSAmJlxuICAgICAgIWZzLnJlYWRGaWxlU3luYyhgJHtzcmNkaXJ9L2luZGV4LnRzYCkudG9TdHJpbmcoKS5pbmNsdWRlcygnZXhwb3J0IGNsYXNzIEhlbGxvJykgLy8gTm90ZTogZnJvbSBwYXJlbnRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmcy5ta2RpclN5bmMoc3JjZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihzcmNkaXIsICdpbmRleC50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3Qvc3JjX2luZGV4LnRzYCkudG9TdHJpbmcoKSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCAncGxhY2Vob2xkZXIudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19wbGFjZWhvbGRlci50c2ApLnRvU3RyaW5nKCkpO1xuICAgIC8vIGNyZCB3aXRoIGxhbWJkYSBnZW5lcmF0aW9uXG4gICAgZnMubWtkaXJTeW5jKGAke3NyY2Rpcn0vY3JkLWV4YW1wbGVgLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihgJHtzcmNkaXJ9L2NyZC1leGFtcGxlYCwgJ2NyZC1leGFtcGxlLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9zcmNfY3JkLWV4YW1wbGUudHNgKS50b1N0cmluZygpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihgJHtzcmNkaXJ9L2NyZC1leGFtcGxlYCwgJ2NyZC1leGFtcGxlLmxhbWJkYS50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3Qvc3JjX2NyZC1leGFtcGxlLmxhbWJkYS50c2ApLnRvU3RyaW5nKCkpO1xuXG5cbiAgICBjb25zdCB0ZXN0ZGlyID0gcGF0aC5qb2luKG91dGRpciwgdGhpcy5saWJyYXJ5LnRlc3RkaXIpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmModGVzdGRpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKHRlc3RkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLnRzJykpICYmXG4gICAgICAhZnMuZXhpc3RzU3luYyhgJHt0ZXN0ZGlyfS9oZWxsby50ZXN0LnRzYCkgLy8gTm90ZTogZnJvbSBwYXJlbnRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gcmVtb3ZlICR7dGVzdGRpcn0vaGVsbG8udGVzdC50cyBmaWxlLiBPbiB0aGUgb3RoZXIgaGFuZCwgd2Ugb3ZlcnJpZGUgaW5kZXgudHNcbiAgICBmcy51bmxpbmtTeW5jKGAke3Rlc3RkaXJ9L2hlbGxvLnRlc3QudHNgKTtcbiAgICBmcy5ta2RpclN5bmModGVzdGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4odGVzdGRpciwgJ2luZGV4LnRlc3QudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3Rlc3RfaW5kZXgudGVzdC50c2ApLnRvU3RyaW5nKCkpO1xuICAgIC8vIGxhbWJkYSB0ZXN0cyB3aXRoIGplc3Qgc3R1YnNcbiAgICBmcy5ta2RpclN5bmMoYCR7dGVzdGRpcn0vY3JkLWV4YW1wbGVgLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihgJHt0ZXN0ZGlyfS9jcmQtZXhhbXBsZWAsICdjcmQtZXhhbXBsZS50ZXN0LnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC90ZXN0X2NyZC1leGFtcGxlLnRlc3QudHNgKS50b1N0cmluZygpKTtcblxuXG4gICAgY29uc3QgaW50ZWdUZXN0ZGlyID0gcGF0aC5qb2luKG91dGRpciwgJ2ludGVnLXRlc3RzJyk7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhpbnRlZ1Rlc3RkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhpbnRlZ1Rlc3RkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLnRzJykpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhpbnRlZ1Rlc3RkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGludGVnVGVzdGRpciwgJ2ludGVnLnBsYWNlaG9sZGVyLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9pbnRlZ19pbnRlZy5wbGFjZWhvbGRlci50c2ApLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgaW50ZWdUZXN0RnVuY3Rpb25zZGlyID0gcGF0aC5qb2luKGludGVnVGVzdGRpciwgJ2Z1bmN0aW9ucycpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoaW50ZWdUZXN0RnVuY3Rpb25zZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoaW50ZWdUZXN0RnVuY3Rpb25zZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoaW50ZWdUZXN0RnVuY3Rpb25zZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihpbnRlZ1Rlc3RGdW5jdGlvbnNkaXIsICd0ZXN0LWhhbmRsZXIudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L2ludGVnX3Rlc3QtaGFuZGxlci50c2ApLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgZG9jc2RpciA9IHBhdGguam9pbihvdXRkaXIsICdkb2NzJyk7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhkb2NzZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoZG9jc2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcuZHJhd2lvJykpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhkb2NzZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihkb2NzZGlyLCAncGxhY2Vob2xkZXIuZHJhd2lvJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2RvY3NfcGxhY2Vob2xkZXIuZHJhd2lvYCkudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCBleGFtcGxlc2RpciA9IHBhdGguam9pbihvdXRkaXIsICdleGFtcGxlcycsICdzaW1wbGUnKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKGV4YW1wbGVzZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoZXhhbXBsZXNkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLmRyYXdpbycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoZXhhbXBsZXNkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGV4YW1wbGVzZGlyLCAnbWFpbi50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvZXhhbXBsZXNfc2ltcGxlX21haW4udHNgKS50b1N0cmluZygpKTtcbiAgfVxufSJdfQ==
|
|
@@ -827,7 +827,7 @@ type MvcCdkConstructLibraryOptions struct {
|
|
|
827
827
|
// Experimental.
|
|
828
828
|
WorkflowBootstrapSteps *[]*workflows.JobStep `field:"optional" json:"workflowBootstrapSteps" yaml:"workflowBootstrapSteps"`
|
|
829
829
|
// The git identity to use in workflows.
|
|
830
|
-
// Default: - GitHub Actions.
|
|
830
|
+
// Default: - default GitHub Actions user.
|
|
831
831
|
//
|
|
832
832
|
// Experimental.
|
|
833
833
|
WorkflowGitIdentity *github.GitIdentity `field:"optional" json:"workflowGitIdentity" yaml:"workflowGitIdentity"`
|
package/mavogelmvcprojen/go.mod
CHANGED
|
@@ -3,7 +3,7 @@ module github.com/MV-Consulting/mvc-projen/mavogelmvcprojen
|
|
|
3
3
|
go 1.23
|
|
4
4
|
|
|
5
5
|
require (
|
|
6
|
-
github.com/aws/jsii-runtime-go v1.
|
|
6
|
+
github.com/aws/jsii-runtime-go v1.116.0
|
|
7
7
|
github.com/aws/constructs-go/constructs/v10 v10.4.2
|
|
8
|
-
github.com/projen/projen-go/projen v0.
|
|
8
|
+
github.com/projen/projen-go/projen v0.97.2
|
|
9
9
|
)
|
|
@@ -13,7 +13,7 @@ import (
|
|
|
13
13
|
projen "github.com/projen/projen-go/projen/jsii"
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
-
//go:embed mavogel-mvc-projen-0.0.
|
|
16
|
+
//go:embed mavogel-mvc-projen-0.0.12.tgz
|
|
17
17
|
var tarball []byte
|
|
18
18
|
|
|
19
19
|
// Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module.
|
|
@@ -24,5 +24,5 @@ func Initialize() {
|
|
|
24
24
|
projen.Initialize()
|
|
25
25
|
|
|
26
26
|
// Load this library into the kernel
|
|
27
|
-
_jsii_.Load("@mavogel/mvc-projen", "0.0.
|
|
27
|
+
_jsii_.Load("@mavogel/mvc-projen", "0.0.12", tarball)
|
|
28
28
|
}
|
package/mavogelmvcprojen/version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.12
|
package/package.json
CHANGED
|
@@ -51,23 +51,23 @@
|
|
|
51
51
|
"husky": "^9.1.7",
|
|
52
52
|
"jest": "^29.7.0",
|
|
53
53
|
"jest-junit": "^16",
|
|
54
|
-
"jsii": "~5.
|
|
54
|
+
"jsii": "~5.9.0",
|
|
55
55
|
"jsii-diff": "^1.106.0",
|
|
56
56
|
"jsii-docgen": "^10.5.0",
|
|
57
57
|
"jsii-pacmak": "^1.106.0",
|
|
58
|
-
"jsii-rosetta": "~5.
|
|
59
|
-
"projen": "0.
|
|
58
|
+
"jsii-rosetta": "~5.9.0",
|
|
59
|
+
"projen": "0.97.2",
|
|
60
60
|
"ts-jest": "^29.2.5",
|
|
61
61
|
"ts-node": "^9",
|
|
62
62
|
"typescript": "^5.7.3"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"constructs": "^10.4.2",
|
|
66
|
-
"projen": "0.
|
|
66
|
+
"projen": "0.97.2"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"constructs": "^10.4.2",
|
|
70
|
-
"projen": "0.
|
|
70
|
+
"projen": "0.97.2"
|
|
71
71
|
},
|
|
72
72
|
"keywords": [
|
|
73
73
|
"aws",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"publishConfig": {
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
|
-
"version": "0.0.
|
|
83
|
+
"version": "0.0.13",
|
|
84
84
|
"jest": {
|
|
85
85
|
"coverageProvider": "v8",
|
|
86
86
|
"testMatch": [
|