@taimos/projen 0.1.66 → 0.1.68
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 +244 -36
- package/API.md +330 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +18 -0
- package/lib/components/production-release.d.ts +54 -0
- package/lib/components/production-release.js +104 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/projects/cdk-app.js +1 -1
- package/lib/projects/cdk-construct.js +1 -1
- package/lib/projects/monorepo.d.ts +19 -0
- package/lib/projects/monorepo.js +13 -2
- package/lib/projects/private-cdk-app.js +1 -1
- package/lib/projects/private-ts-lib.js +1 -1
- package/lib/projects/prod-cdk-app.js +1 -1
- package/lib/projects/ts-lib.js +1 -1
- package/package.json +3 -2
package/lib/projects/monorepo.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.MonorepoProject = exports.MonorepoAmplifyFramework = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const projen_1 = require("projen");
|
|
6
6
|
const projen_pipelines_1 = require("projen-pipelines");
|
|
7
|
+
const components_1 = require("../components");
|
|
7
8
|
/**
|
|
8
9
|
* The frontend framework an Amplify Hosting application is built with.
|
|
9
10
|
*
|
|
@@ -31,7 +32,7 @@ var MonorepoAmplifyFramework;
|
|
|
31
32
|
* @pjid taimos-monorepo
|
|
32
33
|
*/
|
|
33
34
|
class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.MonorepoProject", version: "0.1.
|
|
35
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.MonorepoProject", version: "0.1.68" };
|
|
35
36
|
/** The generated `pnpm-workspace.yaml`. */
|
|
36
37
|
workspaceFile;
|
|
37
38
|
/** The unified PR build workflow. */
|
|
@@ -40,6 +41,10 @@ class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
|
40
41
|
amplifyFile;
|
|
41
42
|
/** The PR approver assignment, if enabled. */
|
|
42
43
|
assignApprover;
|
|
44
|
+
/** The production release workflow, if enabled. */
|
|
45
|
+
productionRelease;
|
|
46
|
+
/** The default release branch (promoted by the production release workflow). */
|
|
47
|
+
defaultReleaseBranch;
|
|
43
48
|
constructor(options) {
|
|
44
49
|
const pnpmVersion = options.pnpmWorkspaceVersion ?? '10.33.0';
|
|
45
50
|
super({
|
|
@@ -85,6 +90,7 @@ class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
|
85
90
|
});
|
|
86
91
|
// Private workspace root — never published, resolves packages locally.
|
|
87
92
|
this.package.addField('private', true);
|
|
93
|
+
this.defaultReleaseBranch = options.defaultReleaseBranch ?? 'main';
|
|
88
94
|
// PR approver routing.
|
|
89
95
|
if (options.assignApprover ?? true) {
|
|
90
96
|
this.assignApprover = new projen_pipelines_1.GitHubAssignApprover(this, {
|
|
@@ -95,6 +101,10 @@ class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
|
95
101
|
defaultApprovers: options.defaultApprovers ?? ['hoegertn', 'hoegerma'],
|
|
96
102
|
});
|
|
97
103
|
}
|
|
104
|
+
// Manual production release — promotes a branch to the production branch.
|
|
105
|
+
if (options.productionRelease ?? false) {
|
|
106
|
+
this.productionRelease = new components_1.GitHubProductionRelease(this, options.productionReleaseOptions);
|
|
107
|
+
}
|
|
98
108
|
// The projenrc is split into modules under .projen/ — make them part of the
|
|
99
109
|
// dev tsconfig so the IDE and ts-node type-check them.
|
|
100
110
|
this.tsconfigDev?.addInclude('.projen/*.ts');
|
|
@@ -158,6 +168,7 @@ class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
|
158
168
|
// Projen configuration — regenerates project files.
|
|
159
169
|
'.projenrc.ts',
|
|
160
170
|
'.projenrc.js',
|
|
171
|
+
'.projen/**',
|
|
161
172
|
// Shared TypeScript configuration.
|
|
162
173
|
'tsconfig.json',
|
|
163
174
|
'tsconfig.*.json',
|
|
@@ -227,4 +238,4 @@ class MonorepoProject extends projen_1.typescript.TypeScriptProject {
|
|
|
227
238
|
}
|
|
228
239
|
}
|
|
229
240
|
exports.MonorepoProject = MonorepoProject;
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvbW9ub3JlcG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFrRTtBQUNsRSx1REFBd0Q7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxJQUFZLHdCQUtYO0FBTEQsV0FBWSx3QkFBd0I7SUFDbEMsNkVBQTZFO0lBQzdFLDZDQUFpQixDQUFBO0lBQ2pCLDJHQUEyRztJQUMzRywrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsd0JBQXdCLHdDQUF4Qix3QkFBd0IsUUFLbkM7QUE0TEQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLG1CQUFVLENBQUMsaUJBQWlCOztJQUUvRCwyQ0FBMkM7SUFDM0IsYUFBYSxDQUFXO0lBRXhDLHFDQUFxQztJQUNyQixlQUFlLENBQXdCO0lBRXZELHdFQUF3RTtJQUN4RCxXQUFXLENBQVk7SUFFdkMsOENBQThDO0lBQzlCLGNBQWMsQ0FBd0I7SUFFdEQsWUFBWSxPQUErQjtRQUN6QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsb0JBQW9CLElBQUksU0FBUyxDQUFDO1FBRTlELEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEtBQUs7WUFDZCxXQUFXLEVBQUUsS0FBSztZQUNsQixxRUFBcUU7WUFDckUsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsS0FBSztZQUNiLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLDBFQUEwRTtZQUMxRSxhQUFhLEVBQUUsS0FBSztZQUNwQixHQUFHLE9BQU87WUFDVixvREFBb0Q7WUFDcEQsY0FBYyxFQUFFLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSTtZQUNsRCxXQUFXO1lBQ1gsVUFBVSxFQUFFLElBQUk7WUFDaEIsTUFBTSxFQUFFLElBQUk7WUFDWixhQUFhLEVBQUU7Z0JBQ2IsaUJBQWlCLEVBQUUsZUFBTSxDQUFD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R0FBRyxDQUFDLHFCQUFxQixJQUFJLENBQUMsT0FBTztZQUN6RCxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxTQUFTLEdBQUcsQ0FBQyxXQUFXLFVBQVU7WUFDbEQsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sUUFBUSxDQUFDLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSTtZQUNuQyxtQkFBbUI7WUFDbkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLG1CQUFtQjtTQUNuRixDQUFDO1FBQ0YsT0FBTztZQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztZQUNwQixRQUFRLEVBQUU7Z0JBQ1IsNkRBQTZEO2dCQUM3RCxpREFBaUQ7Z0JBQ2pELFNBQVMsRUFBRSxHQUFHO2dCQUNkLE1BQU0sRUFBRTtvQkFDTixRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO29CQUNoQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRTtpQkFDcEM7Z0JBQ0QsU0FBUyxFQUFFLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM3QyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBaE5ILDBDQWlOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdpdGh1YiwgamF2YXNjcmlwdCwgdHlwZXNjcmlwdCwgWWFtbEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgR2l0SHViQXNzaWduQXBwcm92ZXIgfSBmcm9tICdwcm9qZW4tcGlwZWxpbmVzJztcblxuLyoqXG4gKiBUaGUgZnJvbnRlbmQgZnJhbWV3b3JrIGFuIEFtcGxpZnkgSG9zdGluZyBhcHBsaWNhdGlvbiBpcyBidWlsdCB3aXRoLlxuICpcbiAqIFNlbGVjdHMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBidWlsZCBjb21tYW5kLCBhcnRpZmFjdCBkaXJlY3RvcnkgYW5kXG4gKiBjYWNoZSBwYXRocyBpbiB0aGUgZ2VuZXJhdGVkIGBhbXBsaWZ5LnltbGAuXG4gKi9cbmV4cG9ydCBlbnVtIE1vbm9yZXBvQW1wbGlmeUZyYW1ld29yayB7XG4gIC8qKiBBIE5leHQuanMgYXBwIOKAlCBhcnRpZmFjdHMgaW4gYDxhcHBSb290Pi8ubmV4dGAsIGJ1aWx0IHZpYSBgcnVuIGJ1aWxkYC4gKi9cbiAgTkVYVEpTID0gJ25leHRqcycsXG4gIC8qKiBBbiBBbmd1bGFyIGFwcCDigJQgYXJ0aWZhY3RzIGluIGA8YXBwUm9vdD4vZGlzdC88ZmlsdGVyPi9icm93c2VyYCwgYnVpbHQgdmlhIGBydW4gYnVpbGQ6JHtCVUlMRF9FTlZ9YC4gKi9cbiAgQU5HVUxBUiA9ICdhbmd1bGFyJyxcbn1cblxuLyoqXG4gKiBPbmUgQVdTIEFtcGxpZnkgSG9zdGluZyBhcHBsaWNhdGlvbiBzZXJ2ZWQgZnJvbSBhIHdvcmtzcGFjZSBwYWNrYWdlLlxuICpcbiAqIFJlbmRlcnMgYSBzaW5nbGUgZW50cnkgdW5kZXIgYGFwcGxpY2F0aW9uczpgIGluIHRoZSBnZW5lcmF0ZWQgYGFtcGxpZnkueW1sYC5cbiAqIEFtcGxpZnkgZG9lcyBub3QgYXV0by1kZXRlY3QgUE5QTSB3b3Jrc3BhY2VzLCBzbyB0aGUgZ2VuZXJhdGVkIGJ1aWxkIHNwZWNcbiAqIHJ1bnMgYGNvcmVwYWNrIGVuYWJsZWAgKyBhIHJvb3QgYHBucG0gaW5zdGFsbGAgYW5kIHByZS1idWlsZHMgYW55IHNoYXJlZFxuICogcGFja2FnZXMgYmVmb3JlIGJ1aWxkaW5nIHRoZSBhcHAgZnJvbSBpdHMgYGFwcFJvb3RgIChzZWUgQURSLTAwMDIpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbm9yZXBvQW1wbGlmeUFwcCB7XG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBwYXRoIHRoYXQgaXMgdGhlIEFtcGxpZnkgYXBwIHJvb3QsIGUuZy4gYHBhY2thZ2VzL2Zyb250ZW5kYC5cbiAgICovXG4gIHJlYWRvbmx5IGFwcFJvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZyb250ZW5kIGZyYW1ld29yaywgdXNlZCB0byBwaWNrIGJ1aWxkL2FydGlmYWN0L2NhY2hlIGRlZmF1bHRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWV3b3JrOiBNb25vcmVwb0FtcGxpZnlGcmFtZXdvcms7XG5cbiAgLyoqXG4gICAqIFRoZSBwbnBtIHBhY2thZ2UgbmFtZSB0byBidWlsZCwgdXNlZCBhcyB0aGUgYC0tZmlsdGVyYCB0YXJnZXQsXG4gICAqIGUuZy4gYGRlcGxveW1vbi1mcm9udGVuZGAgb3IgYHJhZGJhbGwtZGlnaXRhbC1wb3J0YWxgLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRGaWx0ZXI6IHN0cmluZztcblxuICAvKipcbiAgICogV29ya3NwYWNlIHBhY2thZ2VzIHRvIGJ1aWxkIGJlZm9yZSB0aGUgYXBwLCBhcyBgLS1maWx0ZXJgIHRhcmdldHMuXG4gICAqXG4gICAqIFR5cGljYWxseSB0aGUgc2hhcmVkIEFQSSBwYWNrYWdlIHRoZSBhcHAgY29uc3VtZXMgdmlhIGB3b3Jrc3BhY2U6KmAsXG4gICAqIGUuZy4gYFsnQHRhaW1vcy9kZXBsb3ltb24tYXBpJ11gLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRGaWx0ZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBidWlsZCBjb21tYW5kIHJ1biBpbiB0aGUgQW1wbGlmeSBgYnVpbGRgIHBoYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGBwbnBtIC0tZmlsdGVyIDxidWlsZEZpbHRlcj4gcnVuIGJ1aWxkYCBmb3IgTmV4dC5qcywgb3JcbiAgICogYHBucG0gLS1maWx0ZXIgPGJ1aWxkRmlsdGVyPiBydW4gYnVpbGQ6JHtCVUlMRF9FTlZ9YCBmb3IgQW5ndWxhci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29tbWFuZD86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGFydGlmYWN0IGJhc2UgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGA8YXBwUm9vdD4vLm5leHRgIGZvciBOZXh0LmpzLCBvclxuICAgKiBgPGFwcFJvb3Q+L2Rpc3QvPGJ1aWxkRmlsdGVyPi9icm93c2VyYCBmb3IgQW5ndWxhci5cbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0QmFzZURpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIEFtcGxpZnkgYnVpbGQgY2FjaGUgcGF0aHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYG5vZGVfbW9kdWxlcy8qKmAgcGx1cyB0aGUgZnJhbWV3b3JrIGJ1aWxkIGNhY2hlXG4gICAqIChgPGFwcFJvb3Q+Ly5uZXh0L2NhY2hlLyoqYCBvciBgPGFwcFJvb3Q+Ly5hbmd1bGFyL2NhY2hlLyoqYCkuXG4gICAqL1xuICByZWFkb25seSBjYWNoZVBhdGhzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUE5QTSB3b3Jrc3BhY2UgdHVuaW5nIGZvciB0aGUgZ2VuZXJhdGVkIGBwbnBtLXdvcmtzcGFjZS55YW1sYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25vcmVwb1dvcmtzcGFjZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHdvcmtzcGFjZSBwYWNrYWdlIGdsb2JzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ3BhY2thZ2VzLyonXVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVmVyc2lvbiBvdmVycmlkZXMgZm9yY2VkIGFjcm9zcyB0aGUgd2hvbGUgd29ya3NwYWNlXG4gICAqICh0aGUgYG92ZXJyaWRlczpgIGZpZWxkKS4gT21pdHRlZCBmcm9tIHRoZSBmaWxlIHdoZW4gZW1wdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogRGVwZW5kZW5jaWVzIGFsbG93ZWQgdG8gcnVuIGluc3RhbGwvYnVpbGQgc2NyaXB0cy4gcG5wbSA+PSAxMCBibG9ja3MgdGhlc2VcbiAgICogYnkgZGVmYXVsdC4gVGhlIGxpc3QgcG9wdWxhdGVzIGJvdGggYGFsbG93QnVpbGRzYCBhbmRcbiAgICogYG9ubHlCdWlsdERlcGVuZGVuY2llc2Agc28gcG5wbSBkb2VzIG5vdCB0cmVhdCBgbm9kZV9tb2R1bGVzYCBhcyBzdGFsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgWydAYXdzLWFtcGxpZnkvY2xpJywgJ2VzYnVpbGQnLCAnc2hhcnAnLCAndW5ycy1yZXNvbHZlciddXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkQnVpbGRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gYWdlIGluIG1pbnV0ZXMgYSBwdWJsaXNoZWQgdmVyc2lvbiBtdXN0IGhhdmUgYmVmb3JlIGl0IG1heSBiZVxuICAgKiBpbnN0YWxsZWQgKGBtaW5pbXVtUmVsZWFzZUFnZWApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyODgwIC8vIDIgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgbWluaW11bVJlbGVhc2VBZ2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2VzIGV4ZW1wdCBmcm9tIGBtaW5pbXVtUmVsZWFzZUFnZWAgc28gb3VyIG93biB0b29saW5nIGNhbiB1cGRhdGVcbiAgICogd2l0aG91dCB0aGUgY29vbGRvd24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFsncHJvamVuLXBpcGVsaW5lcycsICdjZGstc2VydmVybGVzcycsICdAdGFpbW9zL3Byb2plbiddXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtUmVsZWFzZUFnZUV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBPbmUgYXV0aG9yLXRvLWFwcHJvdmVycyByb3V0aW5nIHJ1bGUgZm9yIHRoZSBQUiBhcHByb3ZlciBhc3NpZ25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbm9yZXBvQXBwcm92ZXJNYXBwaW5nIHtcbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgdXNlcm5hbWUgb3BlbmluZyB0aGUgUFIuXG4gICAqL1xuICByZWFkb25seSBhdXRob3I6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiB1c2VybmFtZXMgYXNzaWduZWQgdG8gcmV2aWV3IHdoZW4gYGF1dGhvcmAgb3BlbnMgYSBQUi5cbiAgICovXG4gIHJlYWRvbmx5IGFwcHJvdmVyczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ub3JlcG9Qcm9qZWN0T3B0aW9ucyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwbnBtIHZlcnNpb24gcGlubmVkIGZvciB0aGUgd29ya3NwYWNlIGFuZCBDSS5cbiAgICpcbiAgICogQGRlZmF1bHQgJzEwLjMzLjAnXG4gICAqL1xuICByZWFkb25seSBwbnBtV29ya3NwYWNlVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE5vZGUuanMgdmVyc2lvbiB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgYnVpbGQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcyMidcbiAgICovXG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQTlBNIHdvcmtzcGFjZSB0dW5pbmcgZm9yIHRoZSBnZW5lcmF0ZWQgYHBucG0td29ya3NwYWNlLnlhbWxgLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlT3B0aW9ucz86IE1vbm9yZXBvV29ya3NwYWNlT3B0aW9ucztcblxuICAvKipcbiAgICogV2hldGhlciB0byBhZGQgYGNkay1zZXJ2ZXJsZXNzYCBhcyBhIHdvcmtzcGFjZSBkZXYgZGVwZW5kZW5jeS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNka1NlcnZlcmxlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFzc2lnbiBQUiBhcHByb3ZlcnMgdmlhIGBHaXRIdWJBc3NpZ25BcHByb3ZlcmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnbkFwcHJvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0aG9yLXRvLWFwcHJvdmVycyByb3V0aW5nIGZvciB0aGUgUFIgYXBwcm92ZXIgYXNzaWdubWVudC5cbiAgICogT25seSB1c2VkIHdoZW4gYGFzc2lnbkFwcHJvdmVyYCBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGhvZWdlcnRuIGFuZCBob2VnZXJtYSByZXZpZXcgZWFjaCBvdGhlclxuICAgKi9cbiAgcmVhZG9ubHkgYXBwcm92ZXJNYXBwaW5nPzogTW9ub3JlcG9BcHByb3Zlck1hcHBpbmdbXTtcblxuICAvKipcbiAgICogQXBwcm92ZXJzIGFzc2lnbmVkIHdoZW4gbm8gYXV0aG9yLXNwZWNpZmljIG1hcHBpbmcgbWF0Y2hlcy5cbiAgICogT25seSB1c2VkIHdoZW4gYGFzc2lnbkFwcHJvdmVyYCBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ2hvZWdlcnRuJywgJ2hvZWdlcm1hJ11cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBcHByb3ZlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdW5pZmllZCBidWlsZCB3b3JrZmxvdyBhbHNvIHJ1bnMgYHBucG0gLXIgcnVuIHRlc3RgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBydW5UZXN0c0luQnVpbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBV1MgQW1wbGlmeSBIb3N0aW5nIGFwcGxpY2F0aW9ucy4gV2hlbiBzZXQsIGFuIGBhbXBsaWZ5LnltbGAgaXMgZ2VuZXJhdGVkXG4gICAqIHdpdGggb25lIGVudHJ5IHBlciBhcHAuIFdoZW4gb21pdHRlZCwgbm8gYGFtcGxpZnkueW1sYCBpcyBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgYW1wbGlmeUFwcHM/OiBNb25vcmVwb0FtcGxpZnlBcHBbXTtcbn1cblxuLyoqXG4gKiBQcml2YXRlIFBOUE0td29ya3NwYWNlIG1vbm9yZXBvIHJvb3QsIGZvbGxvd2luZyBUYWltb3MgQURSLTAwMDIuXG4gKlxuICogVGhlIHJvb3Qgb25seSBvcmNoZXN0cmF0ZXMgdGhlIHdvcmtzcGFjZSDigJQgYnVpbGRpbmcsIHRlc3RpbmcgYW5kIGxpbnRpbmcgYXJlXG4gKiBkZWxlZ2F0ZWQgdG8gdGhlIHdvcmtzcGFjZSBwYWNrYWdlcyB2aWEgYHBucG0gLXJgLiBUaGlzIHByb2plY3QgZ2VuZXJhdGVzIHRoZVxuICogYHBucG0td29ya3NwYWNlLnlhbWxgLCB0aGUgcm9vdCBjb252ZW5pZW5jZSBzY3JpcHRzLCBhIHVuaWZpZWQgUFIgYnVpbGRcbiAqIHdvcmtmbG93IGFuZCAob3B0aW9uYWxseSkgYW4gQW1wbGlmeSBIb3N0aW5nIGJ1aWxkIHNwZWMuIFRoZSBwcm9qZW4tbWFuYWdlZFxuICogc3ViLXByb2plY3RzIChhcGksIGJhY2tlbmQsIGluZnJhKSBhcmUgYWRkZWQgd2l0aCB0aGUgYHBhcmVudGAvYG91dGRpcmBcbiAqIHBhdHRlcm4gaW4gdGhlIGNvbnN1bWluZyBgLnByb2plbnJjLnRzYDsgcGxhaW4gd29ya3NwYWNlIHBhY2thZ2VzIChlLmcuXG4gKiBOZXh0LmpzIGFwcHMpIGFyZSBwaWNrZWQgdXAgYnkgdGhlIGBwYWNrYWdlcy8qYCBnbG9iLlxuICpcbiAqIEBwamlkIHRhaW1vcy1tb25vcmVwb1xuICovXG5leHBvcnQgY2xhc3MgTW9ub3JlcG9Qcm9qZWN0IGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCB7XG5cbiAgLyoqIFRoZSBnZW5lcmF0ZWQgYHBucG0td29ya3NwYWNlLnlhbWxgLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya3NwYWNlRmlsZTogWWFtbEZpbGU7XG5cbiAgLyoqIFRoZSB1bmlmaWVkIFBSIGJ1aWxkIHdvcmtmbG93LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJCdWlsZFdvcmtmbG93OiBnaXRodWIuR2l0aHViV29ya2Zsb3c7XG5cbiAgLyoqIFRoZSBnZW5lcmF0ZWQgYGFtcGxpZnkueW1sYCwgaWYgYW55IEFtcGxpZnkgYXBwcyB3ZXJlIGNvbmZpZ3VyZWQuICovXG4gIHB1YmxpYyByZWFkb25seSBhbXBsaWZ5RmlsZT86IFlhbWxGaWxlO1xuXG4gIC8qKiBUaGUgUFIgYXBwcm92ZXIgYXNzaWdubWVudCwgaWYgZW5hYmxlZC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2lnbkFwcHJvdmVyPzogR2l0SHViQXNzaWduQXBwcm92ZXI7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTW9ub3JlcG9Qcm9qZWN0T3B0aW9ucykge1xuICAgIGNvbnN0IHBucG1WZXJzaW9uID0gb3B0aW9ucy5wbnBtV29ya3NwYWNlVmVyc2lvbiA/PyAnMTAuMzMuMCc7XG5cbiAgICBzdXBlcih7XG4gICAgICBsaWNlbnNlZDogZmFsc2UsXG4gICAgICByZWxlYXNlOiBmYWxzZSxcbiAgICAgIGRlcHNVcGdyYWRlOiBmYWxzZSxcbiAgICAgIC8vIFRoZSByb290IG9ubHkgb3JjaGVzdHJhdGVzIHRoZSB3b3Jrc3BhY2Ug4oCUIG5vIGFwcCBjb2RlIGxpdmVzIGhlcmUuXG4gICAgICBqZXN0OiBmYWxzZSxcbiAgICAgIGVzbGludDogZmFsc2UsXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgIC8vIENJIGlzIHRoZSBzaW5nbGUgaGFuZC1yb2xsZWQgd29ya2Zsb3cgYmVsb3cgdGhhdCBkZWxlZ2F0ZXMgdG8gcGFja2FnZXMuXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAvLyBGb3JjZWQg4oCUIGRlZmluaW5nIHdoYXQgYSBUYWltb3MgbW9ub3JlcG8gcm9vdCBpcy5cbiAgICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNLFxuICAgICAgcG5wbVZlcnNpb24sXG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuICAgICAgZ2l0aHViOiB0cnVlLFxuICAgICAgZ2l0aHViT3B0aW9uczoge1xuICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzLmZyb21BcHAoKSxcbiAgICAgICAgbWVyZ2lmeTogZmFsc2UsXG4gICAgICAgIG1lcmdlUXVldWU6IHRydWUsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucyxcbiAgICAgICAgbWVyZ2VRdWV1ZU9wdGlvbnM6IHtcbiAgICAgICAgICBhdXRvUXVldWU6IHRydWUsXG4gICAgICAgICAgLi4ub3B0aW9ucy5naXRodWJPcHRpb25zPy5tZXJnZVF1ZXVlT3B0aW9ucyxcbiAgICAgICAgfSxcbiAgICAgICAgcHVsbFJlcXVlc3RMaW50T3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucz8ucHVsbFJlcXVlc3RMaW50T3B0aW9ucyxcbiAgICAgICAgICBzZW1hbnRpY1RpdGxlT3B0aW9uczoge1xuICAgICAgICAgICAgLi4ub3B0aW9ucy5naXRodWJPcHRpb25zPy5wdWxsUmVxdWVzdExpbnRPcHRpb25zPy5zZW1hbnRpY1RpdGxlT3B0aW9ucyxcbiAgICAgICAgICAgIC8vIEZpeGVkIGFsbG93ZWQgUFIgdGl0bGUgdHlwZXMgZm9yIGEgVGFpbW9zIG1vbm9yZXBvLlxuICAgICAgICAgICAgdHlwZXM6IFsnZmVhdCcsICdmaXgnLCAnY2hvcmUnLCAnZG9jcycsICdzcGVjJywgJ2NpJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZXZEZXBzOiBbXG4gICAgICAgICdAdGFpbW9zL3Byb2plbicsXG4gICAgICAgICdwcm9qZW4tcGlwZWxpbmVzJyxcbiAgICAgICAgLi4uKG9wdGlvbnMuY2RrU2VydmVybGVzcyA/PyBmYWxzZSA/IFsnY2RrLXNlcnZlcmxlc3MnXSA6IFtdKSxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXZEZXBzID8/IFtdLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIFByaXZhdGUgd29ya3NwYWNlIHJvb3Qg4oCUIG5ldmVyIHB1Ymxpc2hlZCwgcmVzb2x2ZXMgcGFja2FnZXMgbG9jYWxseS5cbiAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3ByaXZhdGUnLCB0cnVlKTtcblxuICAgIC8vIFBSIGFwcHJvdmVyIHJvdXRpbmcuXG4gICAgaWYgKG9wdGlvbnMuYXNzaWduQXBwcm92ZXIgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5hc3NpZ25BcHByb3ZlciA9IG5ldyBHaXRIdWJBc3NpZ25BcHByb3Zlcih0aGlzLCB7XG4gICAgICAgIGFwcHJvdmVyTWFwcGluZzogb3B0aW9ucy5hcHByb3Zlck1hcHBpbmcgPz8gW1xuICAgICAgICAgIHsgYXV0aG9yOiAnaG9lZ2VydG4nLCBhcHByb3ZlcnM6IFsnaG9lZ2VybWEnXSB9LFxuICAgICAgICAgIHsgYXV0aG9yOiAnaG9lZ2VybWEnLCBhcHByb3ZlcnM6IFsnaG9lZ2VydG4nXSB9LFxuICAgICAgICBdLFxuICAgICAgICBkZWZhdWx0QXBwcm92ZXJzOiBvcHRpb25zLmRlZmF1bHRBcHByb3ZlcnMgPz8gWydob2VnZXJ0bicsICdob2VnZXJtYSddLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIHByb2plbnJjIGlzIHNwbGl0IGludG8gbW9kdWxlcyB1bmRlciAucHJvamVuLyDigJQgbWFrZSB0aGVtIHBhcnQgb2YgdGhlXG4gICAgLy8gZGV2IHRzY29uZmlnIHNvIHRoZSBJREUgYW5kIHRzLW5vZGUgdHlwZS1jaGVjayB0aGVtLlxuICAgIHRoaXMudHNjb25maWdEZXY/LmFkZEluY2x1ZGUoJy5wcm9qZW4vKi50cycpO1xuXG4gICAgLy8gcG5wbSB3b3Jrc3BhY2UgZGVmaW5pdGlvbi5cbiAgICBjb25zdCB3cyA9IG9wdGlvbnMud29ya3NwYWNlT3B0aW9ucyA/PyB7fTtcbiAgICBjb25zdCBhbGxvd2VkQnVpbGRzID0gd3MuYWxsb3dlZEJ1aWxkcyA/PyBbJ0Bhd3MtYW1wbGlmeS9jbGknLCAnZXNidWlsZCcsICdzaGFycCcsICd1bnJzLXJlc29sdmVyJ107XG4gICAgY29uc3QgYWxsb3dCdWlsZHM6IHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGFsbG93ZWRCdWlsZHMpIHtcbiAgICAgIGFsbG93QnVpbGRzW2RlcF0gPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLndvcmtzcGFjZUZpbGUgPSBuZXcgWWFtbEZpbGUodGhpcywgJ3BucG0td29ya3NwYWNlLnlhbWwnLCB7XG4gICAgICBvYmo6IHtcbiAgICAgICAgcGFja2FnZXM6IHdzLnBhY2thZ2VzID8/IFsncGFja2FnZXMvKiddLFxuICAgICAgICAvLyBBbGxvdyBuYXRpdmUvYnVpbGQtc3RlcCBwYWNrYWdlcyB0byBydW4gaW5zdGFsbCBzY3JpcHRzIChwbnBtID49IDEwXG4gICAgICAgIC8vIGJsb2NrcyB0aGVzZSBieSBkZWZhdWx0KSwgc28gcG5wbSBkb2VzIG5vdCB0cmVhdCBub2RlX21vZHVsZXMgYXMgc3RhbGUuXG4gICAgICAgIGFsbG93QnVpbGRzLFxuICAgICAgICBvbmx5QnVpbHREZXBlbmRlbmNpZXM6IGFsbG93ZWRCdWlsZHMsXG4gICAgICAgIC4uLih3cy5vdmVycmlkZXMgJiYgT2JqZWN0LmtleXMod3Mub3ZlcnJpZGVzKS5sZW5ndGggPiAwID8geyBvdmVycmlkZXM6IHdzLm92ZXJyaWRlcyB9IDoge30pLFxuICAgICAgICBtaW5pbXVtUmVsZWFzZUFnZTogd3MubWluaW11bVJlbGVhc2VBZ2UgPz8gMjg4MCwgLy8gMiBkYXlzIGluIG1pbnV0ZXNcbiAgICAgICAgbWluaW11bVJlbGVhc2VBZ2VFeGNsdWRlOiB3cy5taW5pbXVtUmVsZWFzZUFnZUV4Y2x1ZGUgPz8gW1xuICAgICAgICAgICdwcm9qZW4tcGlwZWxpbmVzJyxcbiAgICAgICAgICAnY2RrLXNlcnZlcmxlc3MnLFxuICAgICAgICAgICdAdGFpbW9zL3Byb2plbicsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ29udmVuaWVuY2Ugcm9vdCBzY3JpcHRzIGRlbGVnYXRlIHRvIHRoZSB3b3Jrc3BhY2UuXG4gICAgY29uc3Qgcm9vdFBrZyA9IHRoaXMudHJ5RmluZE9iamVjdEZpbGUoJ3BhY2thZ2UuanNvbicpITtcbiAgICByb290UGtnLmFkZE92ZXJyaWRlKCdzY3JpcHRzLmJ1aWxkJywgJ3BucG0gLXIgcnVuIGJ1aWxkJyk7XG4gICAgcm9vdFBrZy5hZGRPdmVycmlkZSgnc2NyaXB0cy50ZXN0JywgJ3BucG0gLXIgcnVuIHRlc3QnKTtcbiAgICByb290UGtnLmFkZE92ZXJyaWRlKCdzY3JpcHRzLmxpbnQnLCAncG5wbSAtciBydW4gZXNsaW50Jyk7XG5cbiAgICAvLyBVbmlmaWVkIFBSIGJ1aWxkIHdvcmtmbG93IOKAlCBidWlsZHMgKGFuZCBvcHRpb25hbGx5IHRlc3RzKSBldmVyeSB3b3Jrc3BhY2VcbiAgICAvLyBwYWNrYWdlIGluIGRlcGVuZGVuY3kgb3JkZXIuXG4gICAgY29uc3Qgbm9kZVZlcnNpb24gPSBvcHRpb25zLm5vZGVWZXJzaW9uID8/ICcyMic7XG4gICAgY29uc3QgYnVpbGRTdGVwczogZ2l0aHViLndvcmtmbG93cy5Kb2JTdGVwW10gPSBbXG4gICAgICB7IG5hbWU6ICdDaGVja291dCcsIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyB9LFxuICAgICAgeyBuYW1lOiAnU2V0dXAgcG5wbScsIHVzZXM6ICdwbnBtL2FjdGlvbi1zZXR1cEB2NCcsIHdpdGg6IHsgdmVyc2lvbjogcG5wbVZlcnNpb24gfSB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU2V0dXAgTm9kZS5qcycsXG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjQnLFxuICAgICAgICB3aXRoOiB7ICdub2RlLXZlcnNpb24nOiBub2RlVmVyc2lvbiwgJ2NhY2hlJzogJ3BucG0nIH0sXG4gICAgICB9LFxuICAgICAgeyBuYW1lOiAnSW5zdGFsbCcsIHJ1bjogJ3BucG0gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScgfSxcbiAgICAgIHsgbmFtZTogJ0J1aWxkJywgcnVuOiAncG5wbSAtciBydW4gYnVpbGQnIH0sXG4gICAgXTtcbiAgICBpZiAob3B0aW9ucy5ydW5UZXN0c0luQnVpbGQgPz8gdHJ1ZSkge1xuICAgICAgYnVpbGRTdGVwcy5wdXNoKHsgbmFtZTogJ1Rlc3QnLCBydW46ICdwbnBtIC1yIHJ1biB0ZXN0JyB9KTtcbiAgICB9XG4gICAgLy8gUGF0aCBmaWx0ZXI6IG9ubHkgdHJpZ2dlciBidWlsZHMgd2hlbiB3b3Jrc3BhY2UgcGFja2FnZSBmaWxlcyBvclxuICAgIC8vIGJ1aWxkLXJlbGV2YW50IHJvb3QgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBDaGFuZ2VzIHRvIHNwZWNzIG9yIGRvY3NcbiAgICAvLyBhbG9uZSBzaG91bGQgbm90IHRyaWdnZXIgYSBuZXcgYnVpbGQuXG4gICAgY29uc3Qgd29ya3NwYWNlUGFja2FnZXMgPSB3cy5wYWNrYWdlcyA/PyBbJ3BhY2thZ2VzLyonXTtcbiAgICBjb25zdCBidWlsZFBhdGhzOiBzdHJpbmdbXSA9IFtcbiAgICAgIC8vIFdvcmtzcGFjZSBwYWNrYWdlIHNvdXJjZSBmaWxlcy5cbiAgICAgIC4uLndvcmtzcGFjZVBhY2thZ2VzLm1hcCgocGtnKSA9PiBgJHtwa2d9LyoqYCksXG4gICAgICAvLyBEZXBlbmRlbmN5IGxvY2sgJiB3b3Jrc3BhY2UgY29uZmlndXJhdGlvbi5cbiAgICAgICdwbnBtLWxvY2sueWFtbCcsXG4gICAgICAncG5wbS13b3Jrc3BhY2UueWFtbCcsXG4gICAgICAvLyBSb290IHBhY2thZ2UuanNvbiAoc2NyaXB0cywgZGV2RGVwcywgZW5naW5lcykuXG4gICAgICAncGFja2FnZS5qc29uJyxcbiAgICAgIC8vIFByb2plbiBjb25maWd1cmF0aW9uIOKAlCByZWdlbmVyYXRlcyBwcm9qZWN0IGZpbGVzLlxuICAgICAgJy5wcm9qZW5yYy50cycsXG4gICAgICAnLnByb2plbnJjLmpzJyxcbiAgICAgIC8vIFNoYXJlZCBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24uXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAndHNjb25maWcuKi5qc29uJyxcbiAgICAgIC8vIFRoZSBidWlsZCB3b3JrZmxvdyBpdHNlbGYuXG4gICAgICAnLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueW1sJyxcbiAgICAgIC8vIFNoYXJlZCBsaW50IGNvbmZpZ3VyYXRpb24uXG4gICAgICAnLmVzbGludHJjLionLFxuICAgICAgJ2VzbGludC5jb25maWcuKicsXG4gICAgXTtcblxuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93ID0gbmV3IGdpdGh1Yi5HaXRodWJXb3JrZmxvdyh0aGlzLmdpdGh1YiEsICdidWlsZCcpO1xuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0OiB7IHBhdGhzOiBidWlsZFBhdGhzIH0sXG4gICAgICBwdXNoOiB7IGJyYW5jaGVzOiBbJ21haW4nXSwgcGF0aHM6IGJ1aWxkUGF0aHMgfSxcbiAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgIH0pO1xuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93LmFkZEpvYignYnVpbGQnLCB7XG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgcGVybWlzc2lvbnM6IHsgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFEIH0sXG4gICAgICBzdGVwczogYnVpbGRTdGVwcyxcbiAgICB9KTtcblxuICAgIC8vIEFXUyBBbXBsaWZ5IEhvc3RpbmcgYnVpbGQgc3BlYy4gUE5QTSB3b3Jrc3BhY2VzIGFyZSBub3QgYXV0by1kZXRlY3RlZCBieVxuICAgIC8vIEFtcGxpZnksIHNvIGVhY2ggYXBwIGluc3RhbGxzIGF0IHRoZSByZXBvIHJvb3QsIHByZS1idWlsZHMgaXRzIHNoYXJlZFxuICAgIC8vIHBhY2thZ2VzLCB0aGVuIGJ1aWxkcyBmcm9tIGl0cyBhcHBSb290IChzZWUgQURSLTAwMDIpLlxuICAgIGlmIChvcHRpb25zLmFtcGxpZnlBcHBzICYmIG9wdGlvbnMuYW1wbGlmeUFwcHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hbXBsaWZ5RmlsZSA9IG5ldyBZYW1sRmlsZSh0aGlzLCAnYW1wbGlmeS55bWwnLCB7XG4gICAgICAgIG9iajoge1xuICAgICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgICAgYXBwbGljYXRpb25zOiBvcHRpb25zLmFtcGxpZnlBcHBzLm1hcCgoYXBwKSA9PiB0aGlzLnJlbmRlckFtcGxpZnlBcHAoYXBwKSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFtcGxpZnlBcHAoYXBwOiBNb25vcmVwb0FtcGxpZnlBcHApIHtcbiAgICBjb25zdCBhbmd1bGFyID0gYXBwLmZyYW1ld29yayA9PT0gTW9ub3JlcG9BbXBsaWZ5RnJhbWV3b3JrLkFOR1VMQVI7XG4gICAgY29uc3QgcHJlQnVpbGQgPSBbXG4gICAgICAnY29yZXBhY2sgZW5hYmxlJyxcbiAgICAgIC8vIEZvcmNlIHBucG0ncyBob2lzdGVkIGxpbmtlciBmb3IgdGhlIEFtcGxpZnkgYnVpbGQgb25seSDigJQgQW1wbGlmeSdzXG4gICAgICAvLyBtYW5hZ2VkIGNvbXB1dGUgdHJhY2VzIHJ1bnRpbWUgZGVwcyBmcm9tIGEgZmxhdCBub2RlX21vZHVsZXMuXG4gICAgICAncG5wbSBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlIC0tbm9kZS1saW5rZXIgaG9pc3RlZCcsXG4gICAgICAuLi4oYXBwLnByZUJ1aWxkRmlsdGVycyA/PyBbXSkubWFwKChmKSA9PiBgcG5wbSAtLWZpbHRlciAke2Z9IHJ1biBidWlsZGApLFxuICAgIF07XG4gICAgLy8gQlVJTERfRU5WIChkZXZ8cHJvZCkgaXMgcHJvdmlkZWQgYXMgYW4gQW1wbGlmeSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSBhcHAuYnVpbGRDb21tYW5kID8/IChhbmd1bGFyXG4gICAgICA/IGBwbnBtIC0tZmlsdGVyICR7YXBwLmJ1aWxkRmlsdGVyfSBydW4gYnVpbGQ6XFwke0JVSUxEX0VOVn1gXG4gICAgICA6IGBwbnBtIC0tZmlsdGVyICR7YXBwLmJ1aWxkRmlsdGVyfSBydW4gYnVpbGRgKTtcbiAgICBjb25zdCBiYXNlRGlyZWN0b3J5ID0gYXBwLmFydGlmYWN0QmFzZURpcmVjdG9yeSA/PyAoYW5ndWxhclxuICAgICAgPyBgJHthcHAuYXBwUm9vdH0vZGlzdC8ke2FwcC5idWlsZEZpbHRlcn0vYnJvd3NlcmBcbiAgICAgIDogYCR7YXBwLmFwcFJvb3R9Ly5uZXh0YCk7XG4gICAgY29uc3QgY2FjaGVQYXRocyA9IGFwcC5jYWNoZVBhdGhzID8/IFtcbiAgICAgICdub2RlX21vZHVsZXMvKiovKicsXG4gICAgICBhbmd1bGFyID8gYCR7YXBwLmFwcFJvb3R9Ly5hbmd1bGFyL2NhY2hlLyoqLypgIDogYCR7YXBwLmFwcFJvb3R9Ly5uZXh0L2NhY2hlLyoqLypgLFxuICAgIF07XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFJvb3Q6IGFwcC5hcHBSb290LFxuICAgICAgZnJvbnRlbmQ6IHtcbiAgICAgICAgLy8gSW5zdGFsbC9idWlsZCBmcm9tIHRoZSBtb25vcmVwbyByb290IHNvIHRoZSB3b3Jrc3BhY2Ugcm9vdFxuICAgICAgICAvLyBwYWNrYWdlLmpzb24gYW5kIHBucG0tbG9jay55YW1sIGFyZSBhdmFpbGFibGUuXG4gICAgICAgIGJ1aWxkUGF0aDogJy8nLFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBwcmVCdWlsZDogeyBjb21tYW5kczogcHJlQnVpbGQgfSxcbiAgICAgICAgICBidWlsZDogeyBjb21tYW5kczogW2J1aWxkQ29tbWFuZF0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgYXJ0aWZhY3RzOiB7IGJhc2VEaXJlY3RvcnksIGZpbGVzOiBbJyoqLyonXSB9LFxuICAgICAgICBjYWNoZTogeyBwYXRoczogY2FjaGVQYXRocyB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvbW9ub3JlcG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFrRTtBQUNsRSx1REFBd0Q7QUFDeEQsOENBQXdGO0FBRXhGOzs7OztHQUtHO0FBQ0gsSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2xDLDZFQUE2RTtJQUM3RSw2Q0FBaUIsQ0FBQTtJQUNqQiwyR0FBMkc7SUFDM0csK0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLHdCQUF3Qix3Q0FBeEIsd0JBQXdCLFFBS25DO0FBNE1EOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjs7SUFFL0QsMkNBQTJDO0lBQzNCLGFBQWEsQ0FBVztJQUV4QyxxQ0FBcUM7SUFDckIsZUFBZSxDQUF3QjtJQUV2RCx3RUFBd0U7SUFDeEQsV0FBVyxDQUFZO0lBRXZDLDhDQUE4QztJQUM5QixjQUFjLENBQXdCO0lBRXRELG1EQUFtRDtJQUNuQyxpQkFBaUIsQ0FBMkI7SUFFNUQsZ0ZBQWdGO0lBQ2hFLG9CQUFvQixDQUFTO0lBRTdDLFlBQVksT0FBK0I7UUFDekMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixJQUFJLFNBQVMsQ0FBQztRQUU5RCxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsS0FBSztZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsV0FBVyxFQUFFLEtBQUs7WUFDbEIscUVBQXFFO1lBQ3JFLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixVQUFVLEVBQUUsS0FBSztZQUNqQiwwRUFBMEU7WUFDMUUsYUFBYSxFQUFFLEtBQUs7WUFDcEIsR0FBRyxPQUFPO1lBQ1Ysb0RBQW9EO1lBQ3BELGNBQWMsRUFBRSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLElBQUk7WUFDbEQsV0FBVztZQUNYLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxJQUFJO1lBQ1osYUFBYSxFQUFFO2dCQUNiLGlCQUFpQixFQUFFLGVBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JELE9BQU8sRUFBRSxLQUFLO2dCQUNkLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxhQUFhO2dCQUN4QixpQkFBaUIsRUFBRTtvQkFDakIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtpQkFDNUM7Z0JBQ0Qsc0JBQXNCLEVBQUU7b0JBQ3RCLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxzQkFBc0I7b0JBQ2hELG9CQUFvQixFQUFFO3dCQUNwQixHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CO3dCQUN0RSxzREFBc0Q7d0JBQ3RELEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO3FCQUN0RDtpQkFDRjthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUNsQixHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtTQUNGLENBQUMsQ0FBQztRQUVILHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNLENBQUM7UUFFbkUsdUJBQXVCO1FBQ3ZCLElBQUksT0FBTyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksdUNBQW9CLENBQUMsSUFBSSxFQUFFO2dCQUNuRCxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsSUFBSTtvQkFDMUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUMvQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUU7aUJBQ2hEO2dCQUNELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7YUFDdkUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxvQ0FBdUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0MsNkJBQTZCO1FBQzdCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFDMUMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLGFBQWEsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDcEcsTUFBTSxXQUFXLEdBQWdDLEVBQUUsQ0FBQztRQUNwRCxLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxpQkFBUSxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUM3RCxHQUFHLEVBQUU7Z0JBQ0gsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZDLHNFQUFzRTtnQkFDdEUsMEVBQTBFO2dCQUMxRSxXQUFXO2dCQUNYLHFCQUFxQixFQUFFLGFBQWE7Z0JBQ3BDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1RixpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLElBQUksSUFBSSxFQUFFLG9CQUFvQjtnQkFDckUsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixJQUFJO29CQUN2RCxrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUUsQ0FBQztRQUN4RCxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUUxRCw0RUFBNEU7UUFDNUUsK0JBQStCO1FBQy9CLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO1FBQ2hELE1BQU0sVUFBVSxHQUErQjtZQUM3QyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ2pELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQ3BGO2dCQUNFLElBQUksRUFBRSxlQUFlO2dCQUNyQixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7YUFDdkQ7WUFDRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGdDQUFnQyxFQUFFO1lBQzFELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUU7U0FDNUMsQ0FBQztRQUNGLElBQUksT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxtRUFBbUU7UUFDbkUsc0VBQXNFO1FBQ3RFLHdDQUF3QztRQUN4QyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBYTtZQUMzQixrQ0FBa0M7WUFDbEMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDOUMsNkNBQTZDO1lBQzdDLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsaURBQWlEO1lBQ2pELGNBQWM7WUFDZCxvREFBb0Q7WUFDcEQsY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osbUNBQW1DO1lBQ25DLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0IsYUFBYTtZQUNiLGlCQUFpQjtTQUNsQixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ2xDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDL0MsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbkMsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3pCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsMkVBQTJFO1FBQzNFLHdFQUF3RTtRQUN4RSx5REFBeUQ7UUFDekQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxpQkFBUSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQ25ELEdBQUcsRUFBRTtvQkFDSCxPQUFPLEVBQUUsQ0FBQztvQkFDVixZQUFZLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDM0U7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQXVCO1FBQzlDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxTQUFTLEtBQUssd0JBQXdCLENBQUMsT0FBTyxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFHO1lBQ2YsaUJBQWlCO1lBQ2pCLHFFQUFxRTtZQUNyRSxnRUFBZ0U7WUFDaEUsc0RBQXNEO1lBQ3RELEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO1NBQzFFLENBQUM7UUFDRix1RUFBdUU7UUFDdkUsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU87WUFDL0MsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsV0FBVywwQkFBMEI7WUFDNUQsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsV0FBVyxZQUFZLENBQUMsQ0FBQztRQUNsRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMscUJBQXFCLElBQUksQ0FBQyxPQUFPO1lBQ3pELENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLFNBQVMsR0FBRyxDQUFDLFdBQVcsVUFBVTtZQUNsRCxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxRQUFRLENBQUMsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJO1lBQ25DLG1CQUFtQjtZQUNuQixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sbUJBQW1CO1NBQ25GLENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLFFBQVEsRUFBRTtnQkFDUiw2REFBNkQ7Z0JBQzdELGlEQUFpRDtnQkFDakQsU0FBUyxFQUFFLEdBQUc7Z0JBQ2QsTUFBTSxFQUFFO29CQUNOLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7b0JBQ2hDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFO2lCQUNwQztnQkFDRCxTQUFTLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzdDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7YUFDN0I7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUE5TkgsMENBK05DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2l0aHViLCBqYXZhc2NyaXB0LCB0eXBlc2NyaXB0LCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBHaXRIdWJBc3NpZ25BcHByb3ZlciB9IGZyb20gJ3Byb2plbi1waXBlbGluZXMnO1xuaW1wb3J0IHsgR2l0SHViUHJvZHVjdGlvblJlbGVhc2UsIEdpdEh1YlByb2R1Y3Rpb25SZWxlYXNlT3B0aW9ucyB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuXG4vKipcbiAqIFRoZSBmcm9udGVuZCBmcmFtZXdvcmsgYW4gQW1wbGlmeSBIb3N0aW5nIGFwcGxpY2F0aW9uIGlzIGJ1aWx0IHdpdGguXG4gKlxuICogU2VsZWN0cyBzZW5zaWJsZSBkZWZhdWx0cyBmb3IgdGhlIGJ1aWxkIGNvbW1hbmQsIGFydGlmYWN0IGRpcmVjdG9yeSBhbmRcbiAqIGNhY2hlIHBhdGhzIGluIHRoZSBnZW5lcmF0ZWQgYGFtcGxpZnkueW1sYC5cbiAqL1xuZXhwb3J0IGVudW0gTW9ub3JlcG9BbXBsaWZ5RnJhbWV3b3JrIHtcbiAgLyoqIEEgTmV4dC5qcyBhcHAg4oCUIGFydGlmYWN0cyBpbiBgPGFwcFJvb3Q+Ly5uZXh0YCwgYnVpbHQgdmlhIGBydW4gYnVpbGRgLiAqL1xuICBORVhUSlMgPSAnbmV4dGpzJyxcbiAgLyoqIEFuIEFuZ3VsYXIgYXBwIOKAlCBhcnRpZmFjdHMgaW4gYDxhcHBSb290Pi9kaXN0LzxmaWx0ZXI+L2Jyb3dzZXJgLCBidWlsdCB2aWEgYHJ1biBidWlsZDoke0JVSUxEX0VOVn1gLiAqL1xuICBBTkdVTEFSID0gJ2FuZ3VsYXInLFxufVxuXG4vKipcbiAqIE9uZSBBV1MgQW1wbGlmeSBIb3N0aW5nIGFwcGxpY2F0aW9uIHNlcnZlZCBmcm9tIGEgd29ya3NwYWNlIHBhY2thZ2UuXG4gKlxuICogUmVuZGVycyBhIHNpbmdsZSBlbnRyeSB1bmRlciBgYXBwbGljYXRpb25zOmAgaW4gdGhlIGdlbmVyYXRlZCBgYW1wbGlmeS55bWxgLlxuICogQW1wbGlmeSBkb2VzIG5vdCBhdXRvLWRldGVjdCBQTlBNIHdvcmtzcGFjZXMsIHNvIHRoZSBnZW5lcmF0ZWQgYnVpbGQgc3BlY1xuICogcnVucyBgY29yZXBhY2sgZW5hYmxlYCArIGEgcm9vdCBgcG5wbSBpbnN0YWxsYCBhbmQgcHJlLWJ1aWxkcyBhbnkgc2hhcmVkXG4gKiBwYWNrYWdlcyBiZWZvcmUgYnVpbGRpbmcgdGhlIGFwcCBmcm9tIGl0cyBgYXBwUm9vdGAgKHNlZSBBRFItMDAwMikuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ub3JlcG9BbXBsaWZ5QXBwIHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlIHBhdGggdGhhdCBpcyB0aGUgQW1wbGlmeSBhcHAgcm9vdCwgZS5nLiBgcGFja2FnZXMvZnJvbnRlbmRgLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwUm9vdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZnJvbnRlbmQgZnJhbWV3b3JrLCB1c2VkIHRvIHBpY2sgYnVpbGQvYXJ0aWZhY3QvY2FjaGUgZGVmYXVsdHMuXG4gICAqL1xuICByZWFkb25seSBmcmFtZXdvcms6IE1vbm9yZXBvQW1wbGlmeUZyYW1ld29yaztcblxuICAvKipcbiAgICogVGhlIHBucG0gcGFja2FnZSBuYW1lIHRvIGJ1aWxkLCB1c2VkIGFzIHRoZSBgLS1maWx0ZXJgIHRhcmdldCxcbiAgICogZS5nLiBgZGVwbG95bW9uLWZyb250ZW5kYCBvciBgcmFkYmFsbC1kaWdpdGFsLXBvcnRhbGAuXG4gICAqL1xuICByZWFkb25seSBidWlsZEZpbHRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgcGFja2FnZXMgdG8gYnVpbGQgYmVmb3JlIHRoZSBhcHAsIGFzIGAtLWZpbHRlcmAgdGFyZ2V0cy5cbiAgICpcbiAgICogVHlwaWNhbGx5IHRoZSBzaGFyZWQgQVBJIHBhY2thZ2UgdGhlIGFwcCBjb25zdW1lcyB2aWEgYHdvcmtzcGFjZToqYCxcbiAgICogZS5nLiBgWydAdGFpbW9zL2RlcGxveW1vbi1hcGknXWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwcmVCdWlsZEZpbHRlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGJ1aWxkIGNvbW1hbmQgcnVuIGluIHRoZSBBbXBsaWZ5IGBidWlsZGAgcGhhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYHBucG0gLS1maWx0ZXIgPGJ1aWxkRmlsdGVyPiBydW4gYnVpbGRgIGZvciBOZXh0LmpzLCBvclxuICAgKiBgcG5wbSAtLWZpbHRlciA8YnVpbGRGaWx0ZXI+IHJ1biBidWlsZDoke0JVSUxEX0VOVn1gIGZvciBBbmd1bGFyLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgYXJ0aWZhY3QgYmFzZSBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYDxhcHBSb290Pi8ubmV4dGAgZm9yIE5leHQuanMsIG9yXG4gICAqIGA8YXBwUm9vdD4vZGlzdC88YnVpbGRGaWx0ZXI+L2Jyb3dzZXJgIGZvciBBbmd1bGFyLlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RCYXNlRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgQW1wbGlmeSBidWlsZCBjYWNoZSBwYXRocy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBgbm9kZV9tb2R1bGVzLyoqYCBwbHVzIHRoZSBmcmFtZXdvcmsgYnVpbGQgY2FjaGVcbiAgICogKGA8YXBwUm9vdD4vLm5leHQvY2FjaGUvKipgIG9yIGA8YXBwUm9vdD4vLmFuZ3VsYXIvY2FjaGUvKipgKS5cbiAgICovXG4gIHJlYWRvbmx5IGNhY2hlUGF0aHM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQTlBNIHdvcmtzcGFjZSB0dW5pbmcgZm9yIHRoZSBnZW5lcmF0ZWQgYHBucG0td29ya3NwYWNlLnlhbWxgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbm9yZXBvV29ya3NwYWNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgd29ya3NwYWNlIHBhY2thZ2UgZ2xvYnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFsncGFja2FnZXMvKiddXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG92ZXJyaWRlcyBmb3JjZWQgYWNyb3NzIHRoZSB3aG9sZSB3b3Jrc3BhY2VcbiAgICogKHRoZSBgb3ZlcnJpZGVzOmAgZmllbGQpLiBPbWl0dGVkIGZyb20gdGhlIGZpbGUgd2hlbiBlbXB0eS5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBEZXBlbmRlbmNpZXMgYWxsb3dlZCB0byBydW4gaW5zdGFsbC9idWlsZCBzY3JpcHRzLiBwbnBtID49IDEwIGJsb2NrcyB0aGVzZVxuICAgKiBieSBkZWZhdWx0LiBUaGUgbGlzdCBwb3B1bGF0ZXMgYm90aCBgYWxsb3dCdWlsZHNgIGFuZFxuICAgKiBgb25seUJ1aWx0RGVwZW5kZW5jaWVzYCBzbyBwbnBtIGRvZXMgbm90IHRyZWF0IGBub2RlX21vZHVsZXNgIGFzIHN0YWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ0Bhd3MtYW1wbGlmeS9jbGknLCAnZXNidWlsZCcsICdzaGFycCcsICd1bnJzLXJlc29sdmVyJ11cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRCdWlsZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWluaW11bSBhZ2UgaW4gbWludXRlcyBhIHB1Ymxpc2hlZCB2ZXJzaW9uIG11c3QgaGF2ZSBiZWZvcmUgaXQgbWF5IGJlXG4gICAqIGluc3RhbGxlZCAoYG1pbmltdW1SZWxlYXNlQWdlYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDI4ODAgLy8gMiBkYXlzXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtUmVsZWFzZUFnZT86IG51bWJlcjtcblxuICAvKipcbiAgICogUGFja2FnZXMgZXhlbXB0IGZyb20gYG1pbmltdW1SZWxlYXNlQWdlYCBzbyBvdXIgb3duIHRvb2xpbmcgY2FuIHVwZGF0ZVxuICAgKiB3aXRob3V0IHRoZSBjb29sZG93bi5cbiAgICpcbiAgICogQGRlZmF1bHQgWydwcm9qZW4tcGlwZWxpbmVzJywgJ2Nkay1zZXJ2ZXJsZXNzJywgJ0B0YWltb3MvcHJvamVuJ11cbiAgICovXG4gIHJlYWRvbmx5IG1pbmltdW1SZWxlYXNlQWdlRXhjbHVkZT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9uZSBhdXRob3ItdG8tYXBwcm92ZXJzIHJvdXRpbmcgcnVsZSBmb3IgdGhlIFBSIGFwcHJvdmVyIGFzc2lnbm1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ub3JlcG9BcHByb3Zlck1hcHBpbmcge1xuICAvKipcbiAgICogVGhlIEdpdEh1YiB1c2VybmFtZSBvcGVuaW5nIHRoZSBQUi5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIHVzZXJuYW1lcyBhc3NpZ25lZCB0byByZXZpZXcgd2hlbiBgYXV0aG9yYCBvcGVucyBhIFBSLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwcm92ZXJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25vcmVwb1Byb2plY3RPcHRpb25zIGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHBucG0gdmVyc2lvbiBwaW5uZWQgZm9yIHRoZSB3b3Jrc3BhY2UgYW5kIENJLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnMTAuMzMuMCdcbiAgICovXG4gIHJlYWRvbmx5IHBucG1Xb3Jrc3BhY2VWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTm9kZS5qcyB2ZXJzaW9uIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBidWlsZCB3b3JrZmxvdy5cbiAgICpcbiAgICogQGRlZmF1bHQgJzIyJ1xuICAgKi9cbiAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBOUE0gd29ya3NwYWNlIHR1bmluZyBmb3IgdGhlIGdlbmVyYXRlZCBgcG5wbS13b3Jrc3BhY2UueWFtbGAuXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VPcHRpb25zPzogTW9ub3JlcG9Xb3Jrc3BhY2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFkZCBgY2RrLXNlcnZlcmxlc3NgIGFzIGEgd29ya3NwYWNlIGRldiBkZXBlbmRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrU2VydmVybGVzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXNzaWduIFBSIGFwcHJvdmVycyB2aWEgYEdpdEh1YkFzc2lnbkFwcHJvdmVyYC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzaWduQXBwcm92ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRob3ItdG8tYXBwcm92ZXJzIHJvdXRpbmcgZm9yIHRoZSBQUiBhcHByb3ZlciBhc3NpZ25tZW50LlxuICAgKiBPbmx5IHVzZWQgd2hlbiBgYXNzaWduQXBwcm92ZXJgIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaG9lZ2VydG4gYW5kIGhvZWdlcm1hIHJldmlldyBlYWNoIG90aGVyXG4gICAqL1xuICByZWFkb25seSBhcHByb3Zlck1hcHBpbmc/OiBNb25vcmVwb0FwcHJvdmVyTWFwcGluZ1tdO1xuXG4gIC8qKlxuICAgKiBBcHByb3ZlcnMgYXNzaWduZWQgd2hlbiBubyBhdXRob3Itc3BlY2lmaWMgbWFwcGluZyBtYXRjaGVzLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBgYXNzaWduQXBwcm92ZXJgIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFsnaG9lZ2VydG4nLCAnaG9lZ2VybWEnXVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdEFwcHJvdmVycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB1bmlmaWVkIGJ1aWxkIHdvcmtmbG93IGFsc28gcnVucyBgcG5wbSAtciBydW4gdGVzdGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJ1blRlc3RzSW5CdWlsZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFXUyBBbXBsaWZ5IEhvc3RpbmcgYXBwbGljYXRpb25zLiBXaGVuIHNldCwgYW4gYGFtcGxpZnkueW1sYCBpcyBnZW5lcmF0ZWRcbiAgICogd2l0aCBvbmUgZW50cnkgcGVyIGFwcC4gV2hlbiBvbWl0dGVkLCBubyBgYW1wbGlmeS55bWxgIGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBhbXBsaWZ5QXBwcz86IE1vbm9yZXBvQW1wbGlmeUFwcFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFkZCBhIG1hbnVhbCBcIlByb2R1Y3Rpb24gUmVsZWFzZVwiIHdvcmtmbG93IHRoYXQgcHJvbW90ZXMgYSBicmFuY2hcbiAgICogdG8gdGhlIHByb2R1Y3Rpb24gYnJhbmNoIChzZWUgYEdpdEh1YlByb2R1Y3Rpb25SZWxlYXNlYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcm9kdWN0aW9uUmVsZWFzZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBwcm9kdWN0aW9uIHJlbGVhc2Ugd29ya2Zsb3cuIE9ubHkgdXNlZCB3aGVuXG4gICAqIGBwcm9kdWN0aW9uUmVsZWFzZWAgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBwcm9tb3RlIGBtYWluYCB0byBhIGBwcm9kdWN0aW9uYCBicmFuY2hcbiAgICovXG4gIHJlYWRvbmx5IHByb2R1Y3Rpb25SZWxlYXNlT3B0aW9ucz86IEdpdEh1YlByb2R1Y3Rpb25SZWxlYXNlT3B0aW9ucztcbn1cblxuLyoqXG4gKiBQcml2YXRlIFBOUE0td29ya3NwYWNlIG1vbm9yZXBvIHJvb3QsIGZvbGxvd2luZyBUYWltb3MgQURSLTAwMDIuXG4gKlxuICogVGhlIHJvb3Qgb25seSBvcmNoZXN0cmF0ZXMgdGhlIHdvcmtzcGFjZSDigJQgYnVpbGRpbmcsIHRlc3RpbmcgYW5kIGxpbnRpbmcgYXJlXG4gKiBkZWxlZ2F0ZWQgdG8gdGhlIHdvcmtzcGFjZSBwYWNrYWdlcyB2aWEgYHBucG0gLXJgLiBUaGlzIHByb2plY3QgZ2VuZXJhdGVzIHRoZVxuICogYHBucG0td29ya3NwYWNlLnlhbWxgLCB0aGUgcm9vdCBjb252ZW5pZW5jZSBzY3JpcHRzLCBhIHVuaWZpZWQgUFIgYnVpbGRcbiAqIHdvcmtmbG93IGFuZCAob3B0aW9uYWxseSkgYW4gQW1wbGlmeSBIb3N0aW5nIGJ1aWxkIHNwZWMuIFRoZSBwcm9qZW4tbWFuYWdlZFxuICogc3ViLXByb2plY3RzIChhcGksIGJhY2tlbmQsIGluZnJhKSBhcmUgYWRkZWQgd2l0aCB0aGUgYHBhcmVudGAvYG91dGRpcmBcbiAqIHBhdHRlcm4gaW4gdGhlIGNvbnN1bWluZyBgLnByb2plbnJjLnRzYDsgcGxhaW4gd29ya3NwYWNlIHBhY2thZ2VzIChlLmcuXG4gKiBOZXh0LmpzIGFwcHMpIGFyZSBwaWNrZWQgdXAgYnkgdGhlIGBwYWNrYWdlcy8qYCBnbG9iLlxuICpcbiAqIEBwamlkIHRhaW1vcy1tb25vcmVwb1xuICovXG5leHBvcnQgY2xhc3MgTW9ub3JlcG9Qcm9qZWN0IGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCB7XG5cbiAgLyoqIFRoZSBnZW5lcmF0ZWQgYHBucG0td29ya3NwYWNlLnlhbWxgLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya3NwYWNlRmlsZTogWWFtbEZpbGU7XG5cbiAgLyoqIFRoZSB1bmlmaWVkIFBSIGJ1aWxkIHdvcmtmbG93LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJCdWlsZFdvcmtmbG93OiBnaXRodWIuR2l0aHViV29ya2Zsb3c7XG5cbiAgLyoqIFRoZSBnZW5lcmF0ZWQgYGFtcGxpZnkueW1sYCwgaWYgYW55IEFtcGxpZnkgYXBwcyB3ZXJlIGNvbmZpZ3VyZWQuICovXG4gIHB1YmxpYyByZWFkb25seSBhbXBsaWZ5RmlsZT86IFlhbWxGaWxlO1xuXG4gIC8qKiBUaGUgUFIgYXBwcm92ZXIgYXNzaWdubWVudCwgaWYgZW5hYmxlZC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2lnbkFwcHJvdmVyPzogR2l0SHViQXNzaWduQXBwcm92ZXI7XG5cbiAgLyoqIFRoZSBwcm9kdWN0aW9uIHJlbGVhc2Ugd29ya2Zsb3csIGlmIGVuYWJsZWQuICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9kdWN0aW9uUmVsZWFzZT86IEdpdEh1YlByb2R1Y3Rpb25SZWxlYXNlO1xuXG4gIC8qKiBUaGUgZGVmYXVsdCByZWxlYXNlIGJyYW5jaCAocHJvbW90ZWQgYnkgdGhlIHByb2R1Y3Rpb24gcmVsZWFzZSB3b3JrZmxvdykuICovXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0UmVsZWFzZUJyYW5jaDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1vbm9yZXBvUHJvamVjdE9wdGlvbnMpIHtcbiAgICBjb25zdCBwbnBtVmVyc2lvbiA9IG9wdGlvbnMucG5wbVdvcmtzcGFjZVZlcnNpb24gPz8gJzEwLjMzLjAnO1xuXG4gICAgc3VwZXIoe1xuICAgICAgbGljZW5zZWQ6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICAvLyBUaGUgcm9vdCBvbmx5IG9yY2hlc3RyYXRlcyB0aGUgd29ya3NwYWNlIOKAlCBubyBhcHAgY29kZSBsaXZlcyBoZXJlLlxuICAgICAgamVzdDogZmFsc2UsXG4gICAgICBlc2xpbnQ6IGZhbHNlLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICAvLyBDSSBpcyB0aGUgc2luZ2xlIGhhbmQtcm9sbGVkIHdvcmtmbG93IGJlbG93IHRoYXQgZGVsZWdhdGVzIHRvIHBhY2thZ2VzLlxuICAgICAgYnVpbGRXb3JrZmxvdzogZmFsc2UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgLy8gRm9yY2VkIOKAlCBkZWZpbmluZyB3aGF0IGEgVGFpbW9zIG1vbm9yZXBvIHJvb3QgaXMuXG4gICAgICBwYWNrYWdlTWFuYWdlcjogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuUE5QTSxcbiAgICAgIHBucG1WZXJzaW9uLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGdpdGh1YjogdHJ1ZSxcbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscy5mcm9tQXBwKCksXG4gICAgICAgIG1lcmdpZnk6IGZhbHNlLFxuICAgICAgICBtZXJnZVF1ZXVlOiB0cnVlLFxuICAgICAgICAuLi5vcHRpb25zLmdpdGh1Yk9wdGlvbnMsXG4gICAgICAgIG1lcmdlUXVldWVPcHRpb25zOiB7XG4gICAgICAgICAgYXV0b1F1ZXVlOiB0cnVlLFxuICAgICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucz8ubWVyZ2VRdWV1ZU9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHB1bGxSZXF1ZXN0TGludE9wdGlvbnM6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLmdpdGh1Yk9wdGlvbnM/LnB1bGxSZXF1ZXN0TGludE9wdGlvbnMsXG4gICAgICAgICAgc2VtYW50aWNUaXRsZU9wdGlvbnM6IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucz8ucHVsbFJlcXVlc3RMaW50T3B0aW9ucz8uc2VtYW50aWNUaXRsZU9wdGlvbnMsXG4gICAgICAgICAgICAvLyBGaXhlZCBhbGxvd2VkIFBSIHRpdGxlIHR5cGVzIGZvciBhIFRhaW1vcyBtb25vcmVwby5cbiAgICAgICAgICAgIHR5cGVzOiBbJ2ZlYXQnLCAnZml4JywgJ2Nob3JlJywgJ2RvY3MnLCAnc3BlYycsICdjaSddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGV2RGVwczogW1xuICAgICAgICAnQHRhaW1vcy9wcm9qZW4nLFxuICAgICAgICAncHJvamVuLXBpcGVsaW5lcycsXG4gICAgICAgIC4uLihvcHRpb25zLmNka1NlcnZlcmxlc3MgPz8gZmFsc2UgPyBbJ2Nkay1zZXJ2ZXJsZXNzJ10gOiBbXSksXG4gICAgICAgIC4uLm9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBQcml2YXRlIHdvcmtzcGFjZSByb290IOKAlCBuZXZlciBwdWJsaXNoZWQsIHJlc29sdmVzIHBhY2thZ2VzIGxvY2FsbHkuXG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdwcml2YXRlJywgdHJ1ZSk7XG5cbiAgICB0aGlzLmRlZmF1bHRSZWxlYXNlQnJhbmNoID0gb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyAnbWFpbic7XG5cbiAgICAvLyBQUiBhcHByb3ZlciByb3V0aW5nLlxuICAgIGlmIChvcHRpb25zLmFzc2lnbkFwcHJvdmVyID8/IHRydWUpIHtcbiAgICAgIHRoaXMuYXNzaWduQXBwcm92ZXIgPSBuZXcgR2l0SHViQXNzaWduQXBwcm92ZXIodGhpcywge1xuICAgICAgICBhcHByb3Zlck1hcHBpbmc6IG9wdGlvbnMuYXBwcm92ZXJNYXBwaW5nID8/IFtcbiAgICAgICAgICB7IGF1dGhvcjogJ2hvZWdlcnRuJywgYXBwcm92ZXJzOiBbJ2hvZWdlcm1hJ10gfSxcbiAgICAgICAgICB7IGF1dGhvcjogJ2hvZWdlcm1hJywgYXBwcm92ZXJzOiBbJ2hvZWdlcnRuJ10gfSxcbiAgICAgICAgXSxcbiAgICAgICAgZGVmYXVsdEFwcHJvdmVyczogb3B0aW9ucy5kZWZhdWx0QXBwcm92ZXJzID8/IFsnaG9lZ2VydG4nLCAnaG9lZ2VybWEnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIE1hbnVhbCBwcm9kdWN0aW9uIHJlbGVhc2Ug4oCUIHByb21vdGVzIGEgYnJhbmNoIHRvIHRoZSBwcm9kdWN0aW9uIGJyYW5jaC5cbiAgICBpZiAob3B0aW9ucy5wcm9kdWN0aW9uUmVsZWFzZSA/PyBmYWxzZSkge1xuICAgICAgdGhpcy5wcm9kdWN0aW9uUmVsZWFzZSA9IG5ldyBHaXRIdWJQcm9kdWN0aW9uUmVsZWFzZSh0aGlzLCBvcHRpb25zLnByb2R1Y3Rpb25SZWxlYXNlT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gVGhlIHByb2plbnJjIGlzIHNwbGl0IGludG8gbW9kdWxlcyB1bmRlciAucHJvamVuLyDigJQgbWFrZSB0aGVtIHBhcnQgb2YgdGhlXG4gICAgLy8gZGV2IHRzY29uZmlnIHNvIHRoZSBJREUgYW5kIHRzLW5vZGUgdHlwZS1jaGVjayB0aGVtLlxuICAgIHRoaXMudHNjb25maWdEZXY/LmFkZEluY2x1ZGUoJy5wcm9qZW4vKi50cycpO1xuXG4gICAgLy8gcG5wbSB3b3Jrc3BhY2UgZGVmaW5pdGlvbi5cbiAgICBjb25zdCB3cyA9IG9wdGlvbnMud29ya3NwYWNlT3B0aW9ucyA/PyB7fTtcbiAgICBjb25zdCBhbGxvd2VkQnVpbGRzID0gd3MuYWxsb3dlZEJ1aWxkcyA/PyBbJ0Bhd3MtYW1wbGlmeS9jbGknLCAnZXNidWlsZCcsICdzaGFycCcsICd1bnJzLXJlc29sdmVyJ107XG4gICAgY29uc3QgYWxsb3dCdWlsZHM6IHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGFsbG93ZWRCdWlsZHMpIHtcbiAgICAgIGFsbG93QnVpbGRzW2RlcF0gPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLndvcmtzcGFjZUZpbGUgPSBuZXcgWWFtbEZpbGUodGhpcywgJ3BucG0td29ya3NwYWNlLnlhbWwnLCB7XG4gICAgICBvYmo6IHtcbiAgICAgICAgcGFja2FnZXM6IHdzLnBhY2thZ2VzID8/IFsncGFja2FnZXMvKiddLFxuICAgICAgICAvLyBBbGxvdyBuYXRpdmUvYnVpbGQtc3RlcCBwYWNrYWdlcyB0byBydW4gaW5zdGFsbCBzY3JpcHRzIChwbnBtID49IDEwXG4gICAgICAgIC8vIGJsb2NrcyB0aGVzZSBieSBkZWZhdWx0KSwgc28gcG5wbSBkb2VzIG5vdCB0cmVhdCBub2RlX21vZHVsZXMgYXMgc3RhbGUuXG4gICAgICAgIGFsbG93QnVpbGRzLFxuICAgICAgICBvbmx5QnVpbHREZXBlbmRlbmNpZXM6IGFsbG93ZWRCdWlsZHMsXG4gICAgICAgIC4uLih3cy5vdmVycmlkZXMgJiYgT2JqZWN0LmtleXMod3Mub3ZlcnJpZGVzKS5sZW5ndGggPiAwID8geyBvdmVycmlkZXM6IHdzLm92ZXJyaWRlcyB9IDoge30pLFxuICAgICAgICBtaW5pbXVtUmVsZWFzZUFnZTogd3MubWluaW11bVJlbGVhc2VBZ2UgPz8gMjg4MCwgLy8gMiBkYXlzIGluIG1pbnV0ZXNcbiAgICAgICAgbWluaW11bVJlbGVhc2VBZ2VFeGNsdWRlOiB3cy5taW5pbXVtUmVsZWFzZUFnZUV4Y2x1ZGUgPz8gW1xuICAgICAgICAgICdwcm9qZW4tcGlwZWxpbmVzJyxcbiAgICAgICAgICAnY2RrLXNlcnZlcmxlc3MnLFxuICAgICAgICAgICdAdGFpbW9zL3Byb2plbicsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ29udmVuaWVuY2Ugcm9vdCBzY3JpcHRzIGRlbGVnYXRlIHRvIHRoZSB3b3Jrc3BhY2UuXG4gICAgY29uc3Qgcm9vdFBrZyA9IHRoaXMudHJ5RmluZE9iamVjdEZpbGUoJ3BhY2thZ2UuanNvbicpITtcbiAgICByb290UGtnLmFkZE92ZXJyaWRlKCdzY3JpcHRzLmJ1aWxkJywgJ3BucG0gLXIgcnVuIGJ1aWxkJyk7XG4gICAgcm9vdFBrZy5hZGRPdmVycmlkZSgnc2NyaXB0cy50ZXN0JywgJ3BucG0gLXIgcnVuIHRlc3QnKTtcbiAgICByb290UGtnLmFkZE92ZXJyaWRlKCdzY3JpcHRzLmxpbnQnLCAncG5wbSAtciBydW4gZXNsaW50Jyk7XG5cbiAgICAvLyBVbmlmaWVkIFBSIGJ1aWxkIHdvcmtmbG93IOKAlCBidWlsZHMgKGFuZCBvcHRpb25hbGx5IHRlc3RzKSBldmVyeSB3b3Jrc3BhY2VcbiAgICAvLyBwYWNrYWdlIGluIGRlcGVuZGVuY3kgb3JkZXIuXG4gICAgY29uc3Qgbm9kZVZlcnNpb24gPSBvcHRpb25zLm5vZGVWZXJzaW9uID8/ICcyMic7XG4gICAgY29uc3QgYnVpbGRTdGVwczogZ2l0aHViLndvcmtmbG93cy5Kb2JTdGVwW10gPSBbXG4gICAgICB7IG5hbWU6ICdDaGVja291dCcsIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyB9LFxuICAgICAgeyBuYW1lOiAnU2V0dXAgcG5wbScsIHVzZXM6ICdwbnBtL2FjdGlvbi1zZXR1cEB2NCcsIHdpdGg6IHsgdmVyc2lvbjogcG5wbVZlcnNpb24gfSB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU2V0dXAgTm9kZS5qcycsXG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjQnLFxuICAgICAgICB3aXRoOiB7ICdub2RlLXZlcnNpb24nOiBub2RlVmVyc2lvbiwgJ2NhY2hlJzogJ3BucG0nIH0sXG4gICAgICB9LFxuICAgICAgeyBuYW1lOiAnSW5zdGFsbCcsIHJ1bjogJ3BucG0gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScgfSxcbiAgICAgIHsgbmFtZTogJ0J1aWxkJywgcnVuOiAncG5wbSAtciBydW4gYnVpbGQnIH0sXG4gICAgXTtcbiAgICBpZiAob3B0aW9ucy5ydW5UZXN0c0luQnVpbGQgPz8gdHJ1ZSkge1xuICAgICAgYnVpbGRTdGVwcy5wdXNoKHsgbmFtZTogJ1Rlc3QnLCBydW46ICdwbnBtIC1yIHJ1biB0ZXN0JyB9KTtcbiAgICB9XG4gICAgLy8gUGF0aCBmaWx0ZXI6IG9ubHkgdHJpZ2dlciBidWlsZHMgd2hlbiB3b3Jrc3BhY2UgcGFja2FnZSBmaWxlcyBvclxuICAgIC8vIGJ1aWxkLXJlbGV2YW50IHJvb3QgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBDaGFuZ2VzIHRvIHNwZWNzIG9yIGRvY3NcbiAgICAvLyBhbG9uZSBzaG91bGQgbm90IHRyaWdnZXIgYSBuZXcgYnVpbGQuXG4gICAgY29uc3Qgd29ya3NwYWNlUGFja2FnZXMgPSB3cy5wYWNrYWdlcyA/PyBbJ3BhY2thZ2VzLyonXTtcbiAgICBjb25zdCBidWlsZFBhdGhzOiBzdHJpbmdbXSA9IFtcbiAgICAgIC8vIFdvcmtzcGFjZSBwYWNrYWdlIHNvdXJjZSBmaWxlcy5cbiAgICAgIC4uLndvcmtzcGFjZVBhY2thZ2VzLm1hcCgocGtnKSA9PiBgJHtwa2d9LyoqYCksXG4gICAgICAvLyBEZXBlbmRlbmN5IGxvY2sgJiB3b3Jrc3BhY2UgY29uZmlndXJhdGlvbi5cbiAgICAgICdwbnBtLWxvY2sueWFtbCcsXG4gICAgICAncG5wbS13b3Jrc3BhY2UueWFtbCcsXG4gICAgICAvLyBSb290IHBhY2thZ2UuanNvbiAoc2NyaXB0cywgZGV2RGVwcywgZW5naW5lcykuXG4gICAgICAncGFja2FnZS5qc29uJyxcbiAgICAgIC8vIFByb2plbiBjb25maWd1cmF0aW9uIOKAlCByZWdlbmVyYXRlcyBwcm9qZWN0IGZpbGVzLlxuICAgICAgJy5wcm9qZW5yYy50cycsXG4gICAgICAnLnByb2plbnJjLmpzJyxcbiAgICAgICcucHJvamVuLyoqJyxcbiAgICAgIC8vIFNoYXJlZCBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24uXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAndHNjb25maWcuKi5qc29uJyxcbiAgICAgIC8vIFRoZSBidWlsZCB3b3JrZmxvdyBpdHNlbGYuXG4gICAgICAnLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueW1sJyxcbiAgICAgIC8vIFNoYXJlZCBsaW50IGNvbmZpZ3VyYXRpb24uXG4gICAgICAnLmVzbGludHJjLionLFxuICAgICAgJ2VzbGludC5jb25maWcuKicsXG4gICAgXTtcblxuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93ID0gbmV3IGdpdGh1Yi5HaXRodWJXb3JrZmxvdyh0aGlzLmdpdGh1YiEsICdidWlsZCcpO1xuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0OiB7IHBhdGhzOiBidWlsZFBhdGhzIH0sXG4gICAgICBwdXNoOiB7IGJyYW5jaGVzOiBbJ21haW4nXSwgcGF0aHM6IGJ1aWxkUGF0aHMgfSxcbiAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgIH0pO1xuICAgIHRoaXMucHJCdWlsZFdvcmtmbG93LmFkZEpvYignYnVpbGQnLCB7XG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgcGVybWlzc2lvbnM6IHsgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFEIH0sXG4gICAgICBzdGVwczogYnVpbGRTdGVwcyxcbiAgICB9KTtcblxuICAgIC8vIEFXUyBBbXBsaWZ5IEhvc3RpbmcgYnVpbGQgc3BlYy4gUE5QTSB3b3Jrc3BhY2VzIGFyZSBub3QgYXV0by1kZXRlY3RlZCBieVxuICAgIC8vIEFtcGxpZnksIHNvIGVhY2ggYXBwIGluc3RhbGxzIGF0IHRoZSByZXBvIHJvb3QsIHByZS1idWlsZHMgaXRzIHNoYXJlZFxuICAgIC8vIHBhY2thZ2VzLCB0aGVuIGJ1aWxkcyBmcm9tIGl0cyBhcHBSb290IChzZWUgQURSLTAwMDIpLlxuICAgIGlmIChvcHRpb25zLmFtcGxpZnlBcHBzICYmIG9wdGlvbnMuYW1wbGlmeUFwcHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hbXBsaWZ5RmlsZSA9IG5ldyBZYW1sRmlsZSh0aGlzLCAnYW1wbGlmeS55bWwnLCB7XG4gICAgICAgIG9iajoge1xuICAgICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgICAgYXBwbGljYXRpb25zOiBvcHRpb25zLmFtcGxpZnlBcHBzLm1hcCgoYXBwKSA9PiB0aGlzLnJlbmRlckFtcGxpZnlBcHAoYXBwKSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFtcGxpZnlBcHAoYXBwOiBNb25vcmVwb0FtcGxpZnlBcHApIHtcbiAgICBjb25zdCBhbmd1bGFyID0gYXBwLmZyYW1ld29yayA9PT0gTW9ub3JlcG9BbXBsaWZ5RnJhbWV3b3JrLkFOR1VMQVI7XG4gICAgY29uc3QgcHJlQnVpbGQgPSBbXG4gICAgICAnY29yZXBhY2sgZW5hYmxlJyxcbiAgICAgIC8vIEZvcmNlIHBucG0ncyBob2lzdGVkIGxpbmtlciBmb3IgdGhlIEFtcGxpZnkgYnVpbGQgb25seSDigJQgQW1wbGlmeSdzXG4gICAgICAvLyBtYW5hZ2VkIGNvbXB1dGUgdHJhY2VzIHJ1bnRpbWUgZGVwcyBmcm9tIGEgZmxhdCBub2RlX21vZHVsZXMuXG4gICAgICAncG5wbSBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlIC0tbm9kZS1saW5rZXIgaG9pc3RlZCcsXG4gICAgICAuLi4oYXBwLnByZUJ1aWxkRmlsdGVycyA/PyBbXSkubWFwKChmKSA9PiBgcG5wbSAtLWZpbHRlciAke2Z9IHJ1biBidWlsZGApLFxuICAgIF07XG4gICAgLy8gQlVJTERfRU5WIChkZXZ8cHJvZCkgaXMgcHJvdmlkZWQgYXMgYW4gQW1wbGlmeSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSBhcHAuYnVpbGRDb21tYW5kID8/IChhbmd1bGFyXG4gICAgICA/IGBwbnBtIC0tZmlsdGVyICR7YXBwLmJ1aWxkRmlsdGVyfSBydW4gYnVpbGQ6XFwke0JVSUxEX0VOVn1gXG4gICAgICA6IGBwbnBtIC0tZmlsdGVyICR7YXBwLmJ1aWxkRmlsdGVyfSBydW4gYnVpbGRgKTtcbiAgICBjb25zdCBiYXNlRGlyZWN0b3J5ID0gYXBwLmFydGlmYWN0QmFzZURpcmVjdG9yeSA/PyAoYW5ndWxhclxuICAgICAgPyBgJHthcHAuYXBwUm9vdH0vZGlzdC8ke2FwcC5idWlsZEZpbHRlcn0vYnJvd3NlcmBcbiAgICAgIDogYCR7YXBwLmFwcFJvb3R9Ly5uZXh0YCk7XG4gICAgY29uc3QgY2FjaGVQYXRocyA9IGFwcC5jYWNoZVBhdGhzID8/IFtcbiAgICAgICdub2RlX21vZHVsZXMvKiovKicsXG4gICAgICBhbmd1bGFyID8gYCR7YXBwLmFwcFJvb3R9Ly5hbmd1bGFyL2NhY2hlLyoqLypgIDogYCR7YXBwLmFwcFJvb3R9Ly5uZXh0L2NhY2hlLyoqLypgLFxuICAgIF07XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFJvb3Q6IGFwcC5hcHBSb290LFxuICAgICAgZnJvbnRlbmQ6IHtcbiAgICAgICAgLy8gSW5zdGFsbC9idWlsZCBmcm9tIHRoZSBtb25vcmVwbyByb290IHNvIHRoZSB3b3Jrc3BhY2Ugcm9vdFxuICAgICAgICAvLyBwYWNrYWdlLmpzb24gYW5kIHBucG0tbG9jay55YW1sIGFyZSBhdmFpbGFibGUuXG4gICAgICAgIGJ1aWxkUGF0aDogJy8nLFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBwcmVCdWlsZDogeyBjb21tYW5kczogcHJlQnVpbGQgfSxcbiAgICAgICAgICBidWlsZDogeyBjb21tYW5kczogW2J1aWxkQ29tbWFuZF0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgYXJ0aWZhY3RzOiB7IGJhc2VEaXJlY3RvcnksIGZpbGVzOiBbJyoqLyonXSB9LFxuICAgICAgICBjYWNoZTogeyBwYXRoczogY2FjaGVQYXRocyB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -10,7 +10,7 @@ const cdk_app_1 = require("./cdk-app");
|
|
|
10
10
|
* @pjid taimos-cdk-app-private
|
|
11
11
|
*/
|
|
12
12
|
class PrivateTaimosCdkApp extends cdk_app_1.TaimosCdkApp {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.PrivateTaimosCdkApp", version: "0.1.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.PrivateTaimosCdkApp", version: "0.1.68" };
|
|
14
14
|
constructor(options) {
|
|
15
15
|
super({
|
|
16
16
|
licensed: false,
|
|
@@ -10,7 +10,7 @@ const ts_lib_1 = require("./ts-lib");
|
|
|
10
10
|
* @pjid taimos-ts-lib-private
|
|
11
11
|
*/
|
|
12
12
|
class TaimosPrivateTypescriptLibrary extends ts_lib_1.TaimosTypescriptLibrary {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.TaimosPrivateTypescriptLibrary", version: "0.1.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.TaimosPrivateTypescriptLibrary", version: "0.1.68" };
|
|
14
14
|
constructor(options) {
|
|
15
15
|
super({
|
|
16
16
|
licensed: false,
|
|
@@ -11,7 +11,7 @@ const cdk_app_1 = require("./cdk-app");
|
|
|
11
11
|
* @pjid taimos-cdk-app-production
|
|
12
12
|
*/
|
|
13
13
|
class ProductionTaimosCdkApp extends cdk_app_1.TaimosCdkApp {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.ProductionTaimosCdkApp", version: "0.1.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.ProductionTaimosCdkApp", version: "0.1.68" };
|
|
15
15
|
/**
|
|
16
16
|
* The SonarCloud properties file.
|
|
17
17
|
*/
|
package/lib/projects/ts-lib.js
CHANGED
|
@@ -9,7 +9,7 @@ const projen_1 = require("projen");
|
|
|
9
9
|
* @pjid taimos-ts-lib
|
|
10
10
|
*/
|
|
11
11
|
class TaimosTypescriptLibrary extends projen_1.typescript.TypeScriptProject {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.TaimosTypescriptLibrary", version: "0.1.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@taimos/projen.TaimosTypescriptLibrary", version: "0.1.68" };
|
|
13
13
|
constructor(options) {
|
|
14
14
|
super({
|
|
15
15
|
authorName: 'Taimos GmbH',
|
package/package.json
CHANGED
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"projen": "0.100.7",
|
|
55
55
|
"projen-pipelines": "0.3.19",
|
|
56
56
|
"ts-jest": "^29",
|
|
57
|
-
"typescript": "^5.9.3"
|
|
57
|
+
"typescript": "^5.9.3",
|
|
58
|
+
"yaml": "^2.8.1"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
60
61
|
"constructs": "^10.5.1",
|
|
@@ -73,7 +74,7 @@
|
|
|
73
74
|
"publishConfig": {
|
|
74
75
|
"access": "public"
|
|
75
76
|
},
|
|
76
|
-
"version": "0.1.
|
|
77
|
+
"version": "0.1.68",
|
|
77
78
|
"jest": {
|
|
78
79
|
"coverageProvider": "v8",
|
|
79
80
|
"testMatch": [
|