@pipeline-builder/pipeline-core 3.4.135 → 3.4.137
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/lib/cdk.d.ts +38 -0
- package/lib/cdk.js +44 -0
- package/lib/config/aws-config-cdk.d.ts +49 -0
- package/lib/config/aws-config-cdk.js +65 -0
- package/lib/config/config-types.d.ts +21 -10
- package/lib/config/config-types.js +1 -1
- package/lib/config/handler-constants.js +10 -5
- package/lib/config/infrastructure-config.js +19 -32
- package/lib/core/metadata-helpers.d.ts +31 -0
- package/lib/core/metadata-helpers.js +55 -0
- package/lib/core/pipeline-helpers.d.ts +0 -23
- package/lib/core/pipeline-helpers.js +3 -45
- package/lib/core/pipeline-types.d.ts +0 -11
- package/lib/core/pipeline-types.js +1 -1
- package/lib/index.d.ts +18 -27
- package/lib/index.js +21 -30
- package/lib/pipeline/pipeline-builder.js +10 -19
- package/lib/pipeline/pipeline-configuration.d.ts +11 -2
- package/lib/pipeline/pipeline-configuration.js +24 -2
- package/lib/pipeline/plugin-spec.d.ts +138 -0
- package/lib/pipeline/plugin-spec.js +4 -0
- package/lib/pipeline/source-builder.js +18 -2
- package/lib/pipeline/source-types.d.ts +10 -0
- package/lib/pipeline/source-types.js +1 -1
- package/lib/pipeline/stage-builder.js +3 -2
- package/lib/pipeline/step-types.d.ts +2 -129
- package/lib/pipeline/step-types.js +1 -1
- package/package.json +21 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { CoreConstants } from '../config/app-config.js';
|
|
4
|
-
import { merge, replaceNonAlphanumeric } from '../core/
|
|
4
|
+
import { merge, replaceNonAlphanumeric } from '../core/metadata-helpers.js';
|
|
5
5
|
import { TriggerType } from '../core/pipeline-types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Validated and processed pipeline configuration (business logic layer).
|
|
@@ -31,6 +31,8 @@ export class PipelineConfiguration {
|
|
|
31
31
|
defaults;
|
|
32
32
|
synthCustomization;
|
|
33
33
|
stages;
|
|
34
|
+
/** Pipeline-level template variables, exposed to `{{ pipeline.vars.* }}`. */
|
|
35
|
+
vars;
|
|
34
36
|
constructor(props) {
|
|
35
37
|
this.validateProps(props);
|
|
36
38
|
// Sanitize project and organization names
|
|
@@ -59,6 +61,26 @@ export class PipelineConfiguration {
|
|
|
59
61
|
env: props.synth.env,
|
|
60
62
|
};
|
|
61
63
|
this.stages = props.stages;
|
|
64
|
+
this.vars = props.vars ?? {};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Template scope exposed as `pipeline.*` to pipeline configs, plugin specs, and
|
|
68
|
+
* the source builder. Built once here so every consumer — the synth step, each
|
|
69
|
+
* stage step, and the source token — resolves `{{ pipeline.* }}` against the
|
|
70
|
+
* identical snapshot (no drift between call sites).
|
|
71
|
+
*/
|
|
72
|
+
getPipelineScope() {
|
|
73
|
+
return {
|
|
74
|
+
pipeline: {
|
|
75
|
+
projectName: this.project,
|
|
76
|
+
project: this.project,
|
|
77
|
+
orgId: this.organization,
|
|
78
|
+
organization: this.organization,
|
|
79
|
+
pipelineName: this.pipelineName,
|
|
80
|
+
metadata: this.metadata.merged,
|
|
81
|
+
vars: this.vars,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
62
84
|
}
|
|
63
85
|
/**
|
|
64
86
|
* Validates BuilderProps to ensure all required fields are present.
|
|
@@ -189,4 +211,4 @@ export class PipelineConfiguration {
|
|
|
189
211
|
};
|
|
190
212
|
}
|
|
191
213
|
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9waXBlbGluZS1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFLdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLE9BQU8sQ0FBUztJQUNoQixZQUFZLENBQVM7SUFDckIsWUFBWSxDQUFTO0lBQ3JCLFFBQVEsQ0FJdEI7SUFDYyxNQUFNLENBQWE7SUFDbkIsTUFBTSxDQUFnQjtJQUN0QixPQUFPLENBQTRCO0lBQ25DLFFBQVEsQ0FBZ0M7SUFDeEMsa0JBQWtCLENBQW9CO0lBQ3RDLE1BQU0sQ0FBNkI7SUFFbkQsWUFBWSxLQUFtQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxGLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUUxRix1REFBdUQ7UUFD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LE1BQU0sSUFBSSxNQUFNO1lBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSTtTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTSxDQUFDLE9BQU87WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDdkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJO1lBQ25ELG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElBQUksS0FBSztTQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsb0JBQW9CO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTSxDQUFDLE9BQU87WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDdkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJO1NBQ3BELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBCdWlsZGVyUHJvcHMgfSBmcm9tICcuL3BpcGVsaW5lLWJ1aWxkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDb2RlQ29tbWl0T3B0aW9ucywgQ29kZVN0YXJPcHRpb25zLCBHaXRIdWJPcHRpb25zLCBTM09wdGlvbnMgfSBmcm9tICcuL3NvdXJjZS10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbk9wdGlvbnMsIFN0YWdlT3B0aW9ucywgU3RlcEN1c3RvbWl6YXRpb24gfSBmcm9tICcuL3N0ZXAtdHlwZXMuanMnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50cyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnLmpzJztcbmltcG9ydCB0eXBlIHsgQ29kZUJ1aWxkRGVmYXVsdHMsIE5ldHdvcmtDb25maWcgfSBmcm9tICcuLi9jb3JlL25ldHdvcmstdHlwZXMuanMnO1xuaW1wb3J0IHsgbWVyZ2UsIHJlcGxhY2VOb25BbHBoYW51bWVyaWMgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLWhlbHBlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXRhRGF0YVR5cGUsIFNvdXJjZVR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcbmltcG9ydCB7IFRyaWdnZXJUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogVmFsaWRhdGVkIGFuZCBwcm9jZXNzZWQgcGlwZWxpbmUgY29uZmlndXJhdGlvbiAoYnVzaW5lc3MgbG9naWMgbGF5ZXIpLlxuICogVGhpcyBjbGFzcyBoYW5kbGVzIGFsbCBub24tQ0RLIGxvZ2ljOiB2YWxpZGF0aW9uLCBzYW5pdGl6YXRpb24sIGFuZCBtZXRhZGF0YSBtZXJnaW5nLlxuICogSXQgY2FuIGJlIHRlc3RlZCBpbmRlcGVuZGVudGx5IHdpdGhvdXQgQ0RLIGRlcGVuZGVuY2llcy5cbiAqXG4gKiAjIyBNZXRhZGF0YSBtZXJnZSBjaGFpbiAobGFzdCB3aW5zKVxuICpcbiAqIDEuIGBCdWlsZGVyUHJvcHMuZ2xvYmFsYCDigJQgYmFzZSBtZXRhZGF0YSBpbmhlcml0ZWQgYnkgYWxsIHN0ZXBzXG4gKiAyLiBgQnVpbGRlclByb3BzLmRlZmF1bHRzLm1ldGFkYXRhYCDigJQgcGlwZWxpbmUtbGV2ZWwgQ29kZUJ1aWxkIGRlZmF1bHRzIG1ldGFkYXRhXG4gKiAzLiBgQnVpbGRlclByb3BzLnN5bnRoLm1ldGFkYXRhYCBvciBgU3RhZ2VTdGVwT3B0aW9ucy5tZXRhZGF0YWAg4oCUIHBlci1zdGVwIG1ldGFkYXRhXG4gKiA0LiBgcGx1Z2luLm1ldGFkYXRhYCDigJQgcGx1Z2luJ3Mgb3duIG1ldGFkYXRhIChtZXJnZWQgaW4gYGNyZWF0ZUNvZGVCdWlsZFN0ZXBgKVxuICogNS4gYG1ldGFkYXRhRm9yWHh4KClgIOKAlCBleHRyYWN0ZWQgQ0RLIHByb3BzIHNwcmVhZCBsYXN0IGludG8gY29uc3RydWN0IGNhbGxzXG4gKlxuICogU3RlcHMgMeKAkzMgYXJlIG1lcmdlZCBoZXJlIGludG8gYHRoaXMubWV0YWRhdGEubWVyZ2VkYC5cbiAqIFN0ZXAgNCBoYXBwZW5zIGluIGBjcmVhdGVDb2RlQnVpbGRTdGVwYCB2aWEgYG1lcmdlKG1ldGFkYXRhLCBwbHVnaW4ubWV0YWRhdGEpYC5cbiAqIFN0ZXAgNSBpcyBzcHJlYWQgbGFzdCBpbiB0aGUgQ0RLIGNvbnN0cnVjdG9yIGNhbGwsIGdpdmluZyBtZXRhZGF0YSBmdWxsIG92ZXJyaWRlIGF1dGhvcml0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBpcGVsaW5lQ29uZmlndXJhdGlvbiB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBvcmdhbml6YXRpb246IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IHtcbiAgICByZWFkb25seSBnbG9iYWw6IE1ldGFEYXRhVHlwZTtcbiAgICByZWFkb25seSBzeW50aDogTWV0YURhdGFUeXBlO1xuICAgIHJlYWRvbmx5IG1lcmdlZDogTWV0YURhdGFUeXBlO1xuICB9O1xuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBTb3VyY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW5PcHRpb25zO1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogTmV0d29ya0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRzOiBDb2RlQnVpbGREZWZhdWx0cyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHN5bnRoQ3VzdG9taXphdGlvbjogU3RlcEN1c3RvbWl6YXRpb247XG4gIHB1YmxpYyByZWFkb25seSBzdGFnZXM6IFN0YWdlT3B0aW9uc1tdIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBCdWlsZGVyUHJvcHMpIHtcbiAgICB0aGlzLnZhbGlkYXRlUHJvcHMocHJvcHMpO1xuXG4gICAgLy8gU2FuaXRpemUgcHJvamVjdCBhbmQgb3JnYW5pemF0aW9uIG5hbWVzXG4gICAgdGhpcy5wcm9qZWN0ID0gcmVwbGFjZU5vbkFscGhhbnVtZXJpYyhwcm9wcy5wcm9qZWN0LCAnXycpLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5vcmdhbml6YXRpb24gPSByZXBsYWNlTm9uQWxwaGFudW1lcmljKHByb3BzLm9yZ2FuaXphdGlvbiwgJ18nKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHBpcGVsaW5lIG5hbWVcbiAgICB0aGlzLnBpcGVsaW5lTmFtZSA9IHByb3BzLnBpcGVsaW5lTmFtZSA/PyBgJHt0aGlzLm9yZ2FuaXphdGlvbn0tJHt0aGlzLnByb2plY3R9LXBpcGVsaW5lYDtcblxuICAgIC8vIE1ldGFkYXRhIG1lcmdpbmc6IGdsb2JhbCDihpIgZGVmYXVsdHMg4oaSIHN5bnRoLXNwZWNpZmljXG4gICAgY29uc3QgZ2xvYmFsID0geyAuLi4ocHJvcHMuZ2xvYmFsID8/IHt9KSB9O1xuICAgIGNvbnN0IHdpdGhEZWZhdWx0cyA9IG1lcmdlKGdsb2JhbCwgcHJvcHMuZGVmYXVsdHM/Lm1ldGFkYXRhID8/IHt9KTtcbiAgICB0aGlzLm1ldGFkYXRhID0ge1xuICAgICAgZ2xvYmFsLFxuICAgICAgc3ludGg6IHByb3BzLnN5bnRoLm1ldGFkYXRhID8/IHt9LFxuICAgICAgbWVyZ2VkOiBtZXJnZSh3aXRoRGVmYXVsdHMsIHByb3BzLnN5bnRoLm1ldGFkYXRhID8/IHt9KSxcbiAgICB9O1xuXG4gICAgLy8gRXhwb3NlIHN5bnRoL2J1aWxkZXIgcHJvcGVydGllcyBkaXJlY3RseVxuICAgIHRoaXMuc291cmNlID0gcHJvcHMuc3ludGguc291cmNlO1xuICAgIHRoaXMucGx1Z2luID0gcHJvcHMuc3ludGgucGx1Z2luO1xuICAgIHRoaXMubmV0d29yayA9IHByb3BzLnN5bnRoLm5ldHdvcms7XG4gICAgdGhpcy5kZWZhdWx0cyA9IHByb3BzLmRlZmF1bHRzO1xuICAgIHRoaXMuc3ludGhDdXN0b21pemF0aW9uID0ge1xuICAgICAgcHJlSW5zdGFsbENvbW1hbmRzOiBwcm9wcy5zeW50aC5wcmVJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwb3N0SW5zdGFsbENvbW1hbmRzOiBwcm9wcy5zeW50aC5wb3N0SW5zdGFsbENvbW1hbmRzLFxuICAgICAgcHJlQ29tbWFuZHM6IHByb3BzLnN5bnRoLnByZUNvbW1hbmRzLFxuICAgICAgcG9zdENvbW1hbmRzOiBwcm9wcy5zeW50aC5wb3N0Q29tbWFuZHMsXG4gICAgICBlbnY6IHByb3BzLnN5bnRoLmVudixcbiAgICB9O1xuICAgIHRoaXMuc3RhZ2VzID0gcHJvcHMuc3RhZ2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBCdWlsZGVyUHJvcHMgdG8gZW5zdXJlIGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIHByZXNlbnQuXG4gICAqIFRocm93cyBhbiBlcnJvciB3aXRoIGRldGFpbGVkIG1lc3NhZ2VzIGlmIHZhbGlkYXRpb24gZmFpbHMuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlUHJvcHMocHJvcHM6IEJ1aWxkZXJQcm9wcyk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmICghcHJvcHMucHJvamVjdCkge1xuICAgICAgZXJyb3JzLnB1c2goJ0J1aWxkZXJQcm9wcy5wcm9qZWN0IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5vcmdhbml6YXRpb24pIHtcbiAgICAgIGVycm9ycy5wdXNoKCdCdWlsZGVyUHJvcHMub3JnYW5pemF0aW9uIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5zeW50aD8uc291cmNlKSB7XG4gICAgICBlcnJvcnMucHVzaCgnQnVpbGRlclByb3BzLnN5bnRoLnNvdXJjZSBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGlmICghcHJvcHMuc3ludGg/LnBsdWdpbikge1xuICAgICAgZXJyb3JzLnB1c2goJ0J1aWxkZXJQcm9wcy5zeW50aC5wbHVnaW4gaXMgcmVxdWlyZWQnKTtcbiAgICB9IGVsc2UgaWYgKCFwcm9wcy5zeW50aC5wbHVnaW4ubmFtZT8udHJpbSgpKSB7XG4gICAgICBlcnJvcnMucHVzaCgnQnVpbGRlclByb3BzLnN5bnRoLnBsdWdpbi5uYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgcmVwbyBmb3JtYXQgZm9yIEdpdEh1YiBhbmQgQ29kZVN0YXIgc291cmNlcyAoYm90aCB1c2UgXCJvd25lci9yZXBvXCIpXG4gICAgY29uc3Qgc291cmNlVHlwZSA9IHByb3BzLnN5bnRoPy5zb3VyY2U/LnR5cGU7XG4gICAgaWYgKHNvdXJjZVR5cGUgPT09ICdnaXRodWInIHx8IHNvdXJjZVR5cGUgPT09ICdjb2Rlc3RhcicpIHtcbiAgICAgIGNvbnN0IHJlcG8gPSBwcm9wcy5zeW50aD8uc291cmNlPy5vcHRpb25zPy5yZXBvO1xuICAgICAgaWYgKHJlcG8gJiYgIXJlcG8uaW5jbHVkZXMoJy8nKSkge1xuICAgICAgICBlcnJvcnMucHVzaChgSW52YWxpZCAke3NvdXJjZVR5cGV9IHJlcG9zaXRvcnkgZm9ybWF0OiBcIiR7cmVwb31cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcIm93bmVyL3JlcG9cImApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHBpcGVsaW5lIG5hbWUgbGVuZ3RoIChBV1MgbWF4IDEwMCBjaGFyYWN0ZXJzKVxuICAgIGNvbnN0IE1BWF9QSVBFTElORV9OQU1FX0xFTkdUSCA9IENvcmVDb25zdGFudHMuUElQRUxJTkVfTkFNRV9NQVhfTEVOR1RIO1xuICAgIGNvbnN0IHBpcGVsaW5lTmFtZSA9IHByb3BzLnBpcGVsaW5lTmFtZVxuICAgICAgPz8gYCR7cmVwbGFjZU5vbkFscGhhbnVtZXJpYyhwcm9wcy5vcmdhbml6YXRpb24gPz8gJycsICdfJykudG9Mb3dlckNhc2UoKX0tJHtyZXBsYWNlTm9uQWxwaGFudW1lcmljKHByb3BzLnByb2plY3QgPz8gJycsICdfJykudG9Mb3dlckNhc2UoKX0tcGlwZWxpbmVgO1xuICAgIGlmIChwaXBlbGluZU5hbWUubGVuZ3RoID4gTUFYX1BJUEVMSU5FX05BTUVfTEVOR1RIKSB7XG4gICAgICBlcnJvcnMucHVzaChgUGlwZWxpbmUgbmFtZSBcIiR7cGlwZWxpbmVOYW1lfVwiIGV4Y2VlZHMgQVdTIG1heGltdW0gb2YgJHtNQVhfUElQRUxJTkVfTkFNRV9MRU5HVEh9IGNoYXJhY3RlcnMgKCR7cGlwZWxpbmVOYW1lLmxlbmd0aH0pYCk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgc3RhZ2VzXG4gICAgaWYgKHByb3BzLnN0YWdlcykge1xuICAgICAgY29uc3Qgc3RhZ2VOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgZm9yIChjb25zdCBzdGFnZSBvZiBwcm9wcy5zdGFnZXMpIHtcbiAgICAgICAgaWYgKCFzdGFnZS5zdGFnZU5hbWU/LnRyaW0oKSkge1xuICAgICAgICAgIGVycm9ycy5wdXNoKCdFYWNoIHN0YWdlIG11c3QgaGF2ZSBhIG5vbi1lbXB0eSBzdGFnZU5hbWUnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGFnZU5hbWVzLmhhcyhzdGFnZS5zdGFnZU5hbWUpKSB7XG4gICAgICAgICAgZXJyb3JzLnB1c2goYER1cGxpY2F0ZSBzdGFnZSBuYW1lOiBcIiR7c3RhZ2Uuc3RhZ2VOYW1lfVwiYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhZ2VOYW1lcy5hZGQoc3RhZ2Uuc3RhZ2VOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0YWdlLnN0ZXBzPy5sZW5ndGgpIHtcbiAgICAgICAgICBlcnJvcnMucHVzaChgU3RhZ2UgXCIke3N0YWdlLnN0YWdlTmFtZSA/PyAnKHVubmFtZWQpJ31cIiBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIHN0ZXBgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUGlwZWxpbmUgY29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDpcXG4nICtcbiAgICAgICAgZXJyb3JzLm1hcChlID0+IGAgIC0gJHtlfWApLmpvaW4oJ1xcbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgUzMgc291cmNlIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBTMyBvcHRpb25zIHdpdGggYG9iamVjdEtleWAgZGVmYXVsdGluZyB0byBgJ3NvdXJjZS56aXAnYCBhbmQgYHRyaWdnZXJgIGRlZmF1bHRpbmcgdG8gYE5PTkVgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYHMzYFxuICAgKi9cbiAgZ2V0UzNPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8UzNPcHRpb25zLCAnYnVja2V0TmFtZScgfCAnb2JqZWN0S2V5JyB8ICd0cmlnZ2VyJz4+ICYgT21pdDxTM09wdGlvbnMsICdidWNrZXROYW1lJyB8ICdvYmplY3RLZXknIHwgJ3RyaWdnZXInPiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgaWYgKHNvdXJjZS50eXBlICE9PSAnczMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSB0eXBlIGlzIG5vdCBTMycpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIG9iamVjdEtleTogc291cmNlLm9wdGlvbnMub2JqZWN0S2V5ID8/ICdzb3VyY2UuemlwJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIEdpdEh1YiBzb3VyY2Ugb3B0aW9ucyB3aXRoIGRlZmF1bHRzIGFwcGxpZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEdpdEh1YiBvcHRpb25zIHdpdGggYGJyYW5jaGAgZGVmYXVsdGluZyB0byBgJ21haW4nYCBhbmQgYHRyaWdnZXJgIGRlZmF1bHRpbmcgdG8gYE5PTkVgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYGdpdGh1YmBcbiAgICovXG4gIGdldEdpdEh1Yk9wdGlvbnMoKTogUmVxdWlyZWQ8UGljazxHaXRIdWJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4+ICYgT21pdDxHaXRIdWJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuc291cmNlO1xuICAgIGlmIChzb3VyY2UudHlwZSAhPT0gJ2dpdGh1YicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU291cmNlIHR5cGUgaXMgbm90IEdpdEh1YicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIENvZGVTdGFyIHNvdXJjZSBvcHRpb25zIHdpdGggZGVmYXVsdHMgYXBwbGllZC5cbiAgICpcbiAgICogQHJldHVybnMgQ29kZVN0YXIgb3B0aW9ucyB3aXRoIGBicmFuY2hgIGRlZmF1bHRpbmcgdG8gYCdtYWluJ2AsIGB0cmlnZ2VyYCBkZWZhdWx0aW5nIHRvIGBOT05FYCwgYW5kIGBjb2RlQnVpbGRDbG9uZU91dHB1dGAgZGVmYXVsdGluZyB0byBgZmFsc2VgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYGNvZGVzdGFyYFxuICAgKi9cbiAgZ2V0Q29kZVN0YXJPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8Q29kZVN0YXJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJyB8ICdjb2RlQnVpbGRDbG9uZU91dHB1dCcgfCAnY29ubmVjdGlvbkFybic+PiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgaWYgKHNvdXJjZS50eXBlICE9PSAnY29kZXN0YXInKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSB0eXBlIGlzIG5vdCBDb2RlU3RhcicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBzb3VyY2Uub3B0aW9ucy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIENvZGVDb21taXQgc291cmNlIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb2RlQ29tbWl0IG9wdGlvbnMgd2l0aCBgYnJhbmNoYCBkZWZhdWx0aW5nIHRvIGAnbWFpbidgIGFuZCBgdHJpZ2dlcmAgZGVmYXVsdGluZyB0byBgTk9ORWBcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb25maWd1cmVkIHNvdXJjZSB0eXBlIGlzIG5vdCBgY29kZWNvbW1pdGBcbiAgICovXG4gIGdldENvZGVDb21taXRPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8Q29kZUNvbW1pdE9wdGlvbnMsICdyZXBvc2l0b3J5TmFtZScgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4+IHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICBpZiAoc291cmNlLnR5cGUgIT09ICdjb2RlY29tbWl0Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb3VyY2UgdHlwZSBpcyBub3QgQ29kZUNvbW1pdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9waXBlbGluZS1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFLdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLE9BQU8sQ0FBUztJQUNoQixZQUFZLENBQVM7SUFDckIsWUFBWSxDQUFTO0lBQ3JCLFFBQVEsQ0FJdEI7SUFDYyxNQUFNLENBQWE7SUFDbkIsTUFBTSxDQUFnQjtJQUN0QixPQUFPLENBQTRCO0lBQ25DLFFBQVEsQ0FBZ0M7SUFDeEMsa0JBQWtCLENBQW9CO0lBQ3RDLE1BQU0sQ0FBNkI7SUFDbkQsNkVBQTZFO0lBQzdELElBQUksQ0FBMEI7SUFFOUMsWUFBWSxLQUFtQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxGLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxP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Q0gsb0JBQW9CO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTSxDQUFDLE9BQU87WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDdkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJO1NBQ3BELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBCdWlsZGVyUHJvcHMgfSBmcm9tICcuL3BpcGVsaW5lLWJ1aWxkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDb2RlQ29tbWl0T3B0aW9ucywgQ29kZVN0YXJPcHRpb25zLCBHaXRIdWJPcHRpb25zLCBTM09wdGlvbnMsIFNvdXJjZVR5cGUgfSBmcm9tICcuL3NvdXJjZS10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbk9wdGlvbnMsIFN0YWdlT3B0aW9ucywgU3RlcEN1c3RvbWl6YXRpb24gfSBmcm9tICcuL3N0ZXAtdHlwZXMuanMnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50cyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnLmpzJztcbmltcG9ydCB7IG1lcmdlLCByZXBsYWNlTm9uQWxwaGFudW1lcmljIH0gZnJvbSAnLi4vY29yZS9tZXRhZGF0YS1oZWxwZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgQ29kZUJ1aWxkRGVmYXVsdHMsIE5ldHdvcmtDb25maWcgfSBmcm9tICcuLi9jb3JlL25ldHdvcmstdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXRhRGF0YVR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcbmltcG9ydCB7IFRyaWdnZXJUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogVmFsaWRhdGVkIGFuZCBwcm9jZXNzZWQgcGlwZWxpbmUgY29uZmlndXJhdGlvbiAoYnVzaW5lc3MgbG9naWMgbGF5ZXIpLlxuICogVGhpcyBjbGFzcyBoYW5kbGVzIGFsbCBub24tQ0RLIGxvZ2ljOiB2YWxpZGF0aW9uLCBzYW5pdGl6YXRpb24sIGFuZCBtZXRhZGF0YSBtZXJnaW5nLlxuICogSXQgY2FuIGJlIHRlc3RlZCBpbmRlcGVuZGVudGx5IHdpdGhvdXQgQ0RLIGRlcGVuZGVuY2llcy5cbiAqXG4gKiAjIyBNZXRhZGF0YSBtZXJnZSBjaGFpbiAobGFzdCB3aW5zKVxuICpcbiAqIDEuIGBCdWlsZGVyUHJvcHMuZ2xvYmFsYCDigJQgYmFzZSBtZXRhZGF0YSBpbmhlcml0ZWQgYnkgYWxsIHN0ZXBzXG4gKiAyLiBgQnVpbGRlclByb3BzLmRlZmF1bHRzLm1ldGFkYXRhYCDigJQgcGlwZWxpbmUtbGV2ZWwgQ29kZUJ1aWxkIGRlZmF1bHRzIG1ldGFkYXRhXG4gKiAzLiBgQnVpbGRlclByb3BzLnN5bnRoLm1ldGFkYXRhYCBvciBgU3RhZ2VTdGVwT3B0aW9ucy5tZXRhZGF0YWAg4oCUIHBlci1zdGVwIG1ldGFkYXRhXG4gKiA0LiBgcGx1Z2luLm1ldGFkYXRhYCDigJQgcGx1Z2luJ3Mgb3duIG1ldGFkYXRhIChtZXJnZWQgaW4gYGNyZWF0ZUNvZGVCdWlsZFN0ZXBgKVxuICogNS4gYG1ldGFkYXRhRm9yWHh4KClgIOKAlCBleHRyYWN0ZWQgQ0RLIHByb3BzIHNwcmVhZCBsYXN0IGludG8gY29uc3RydWN0IGNhbGxzXG4gKlxuICogU3RlcHMgMeKAkzMgYXJlIG1lcmdlZCBoZXJlIGludG8gYHRoaXMubWV0YWRhdGEubWVyZ2VkYC5cbiAqIFN0ZXAgNCBoYXBwZW5zIGluIGBjcmVhdGVDb2RlQnVpbGRTdGVwYCB2aWEgYG1lcmdlKG1ldGFkYXRhLCBwbHVnaW4ubWV0YWRhdGEpYC5cbiAqIFN0ZXAgNSBpcyBzcHJlYWQgbGFzdCBpbiB0aGUgQ0RLIGNvbnN0cnVjdG9yIGNhbGwsIGdpdmluZyBtZXRhZGF0YSBmdWxsIG92ZXJyaWRlIGF1dGhvcml0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBpcGVsaW5lQ29uZmlndXJhdGlvbiB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBvcmdhbml6YXRpb246IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IHtcbiAgICByZWFkb25seSBnbG9iYWw6IE1ldGFEYXRhVHlwZTtcbiAgICByZWFkb25seSBzeW50aDogTWV0YURhdGFUeXBlO1xuICAgIHJlYWRvbmx5IG1lcmdlZDogTWV0YURhdGFUeXBlO1xuICB9O1xuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBTb3VyY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW5PcHRpb25zO1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogTmV0d29ya0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRzOiBDb2RlQnVpbGREZWZhdWx0cyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHN5bnRoQ3VzdG9taXphdGlvbjogU3RlcEN1c3RvbWl6YXRpb247XG4gIHB1YmxpYyByZWFkb25seSBzdGFnZXM6IFN0YWdlT3B0aW9uc1tdIHwgdW5kZWZpbmVkO1xuICAvKiogUGlwZWxpbmUtbGV2ZWwgdGVtcGxhdGUgdmFyaWFibGVzLCBleHBvc2VkIHRvIGB7eyBwaXBlbGluZS52YXJzLiogfX1gLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IEJ1aWxkZXJQcm9wcykge1xuICAgIHRoaXMudmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICAvLyBTYW5pdGl6ZSBwcm9qZWN0IGFuZCBvcmdhbml6YXRpb24gbmFtZXNcbiAgICB0aGlzLnByb2plY3QgPSByZXBsYWNlTm9uQWxwaGFudW1lcmljKHByb3BzLnByb2plY3QsICdfJykudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLm9yZ2FuaXphdGlvbiA9IHJlcGxhY2VOb25BbHBoYW51bWVyaWMocHJvcHMub3JnYW5pemF0aW9uLCAnXycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAvLyBDYWxjdWxhdGUgcGlwZWxpbmUgbmFtZVxuICAgIHRoaXMucGlwZWxpbmVOYW1lID0gcHJvcHMucGlwZWxpbmVOYW1lID8/IGAke3RoaXMub3JnYW5pemF0aW9ufS0ke3RoaXMucHJvamVjdH0tcGlwZWxpbmVgO1xuXG4gICAgLy8gTWV0YWRhdGEgbWVyZ2luZzogZ2xvYmFsIOKGkiBkZWZhdWx0cyDihpIgc3ludGgtc3BlY2lmaWNcbiAgICBjb25zdCBnbG9iYWwgPSB7IC4uLihwcm9wcy5nbG9iYWwgPz8ge30pIH07XG4gICAgY29uc3Qgd2l0aERlZmF1bHRzID0gbWVyZ2UoZ2xvYmFsLCBwcm9wcy5kZWZhdWx0cz8ubWV0YWRhdGEgPz8ge30pO1xuICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICBnbG9iYWwsXG4gICAgICBzeW50aDogcHJvcHMuc3ludGgubWV0YWRhdGEgPz8ge30sXG4gICAgICBtZXJnZWQ6IG1lcmdlKHdpdGhEZWZhdWx0cywgcHJvcHMuc3ludGgubWV0YWRhdGEgPz8ge30pLFxuICAgIH07XG5cbiAgICAvLyBFeHBvc2Ugc3ludGgvYnVpbGRlciBwcm9wZXJ0aWVzIGRpcmVjdGx5XG4gICAgdGhpcy5zb3VyY2UgPSBwcm9wcy5zeW50aC5zb3VyY2U7XG4gICAgdGhpcy5wbHVnaW4gPSBwcm9wcy5zeW50aC5wbHVnaW47XG4gICAgdGhpcy5uZXR3b3JrID0gcHJvcHMuc3ludGgubmV0d29yaztcbiAgICB0aGlzLmRlZmF1bHRzID0gcHJvcHMuZGVmYXVsdHM7XG4gICAgdGhpcy5zeW50aEN1c3RvbWl6YXRpb24gPSB7XG4gICAgICBwcmVJbnN0YWxsQ29tbWFuZHM6IHByb3BzLnN5bnRoLnByZUluc3RhbGxDb21tYW5kcyxcbiAgICAgIHBvc3RJbnN0YWxsQ29tbWFuZHM6IHByb3BzLnN5bnRoLnBvc3RJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwcmVDb21tYW5kczogcHJvcHMuc3ludGgucHJlQ29tbWFuZHMsXG4gICAgICBwb3N0Q29tbWFuZHM6IHByb3BzLnN5bnRoLnBvc3RDb21tYW5kcyxcbiAgICAgIGVudjogcHJvcHMuc3ludGguZW52LFxuICAgIH07XG4gICAgdGhpcy5zdGFnZXMgPSBwcm9wcy5zdGFnZXM7XG4gICAgdGhpcy52YXJzID0gcHJvcHMudmFycyA/PyB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBzY29wZSBleHBvc2VkIGFzIGBwaXBlbGluZS4qYCB0byBwaXBlbGluZSBjb25maWdzLCBwbHVnaW4gc3BlY3MsIGFuZFxuICAgKiB0aGUgc291cmNlIGJ1aWxkZXIuIEJ1aWx0IG9uY2UgaGVyZSBzbyBldmVyeSBjb25zdW1lciDigJQgdGhlIHN5bnRoIHN0ZXAsIGVhY2hcbiAgICogc3RhZ2Ugc3RlcCwgYW5kIHRoZSBzb3VyY2UgdG9rZW4g4oCUIHJlc29sdmVzIGB7eyBwaXBlbGluZS4qIH19YCBhZ2FpbnN0IHRoZVxuICAgKiBpZGVudGljYWwgc25hcHNob3QgKG5vIGRyaWZ0IGJldHdlZW4gY2FsbCBzaXRlcykuXG4gICAqL1xuICBnZXRQaXBlbGluZVNjb3BlKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGlwZWxpbmU6IHtcbiAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMucHJvamVjdCxcbiAgICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgICAgICBvcmdJZDogdGhpcy5vcmdhbml6YXRpb24sXG4gICAgICAgIG9yZ2FuaXphdGlvbjogdGhpcy5vcmdhbml6YXRpb24sXG4gICAgICAgIHBpcGVsaW5lTmFtZTogdGhpcy5waXBlbGluZU5hbWUsXG4gICAgICAgIG1ldGFkYXRhOiB0aGlzLm1ldGFkYXRhLm1lcmdlZCxcbiAgICAgICAgdmFyczogdGhpcy52YXJzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBCdWlsZGVyUHJvcHMgdG8gZW5zdXJlIGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIHByZXNlbnQuXG4gICAqIFRocm93cyBhbiBlcnJvciB3aXRoIGRldGFpbGVkIG1lc3NhZ2VzIGlmIHZhbGlkYXRpb24gZmFpbHMuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlUHJvcHMocHJvcHM6IEJ1aWxkZXJQcm9wcyk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmICghcHJvcHMucHJvamVjdCkge1xuICAgICAgZXJyb3JzLnB1c2goJ0J1aWxkZXJQcm9wcy5wcm9qZWN0IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5vcmdhbml6YXRpb24pIHtcbiAgICAgIGVycm9ycy5wdXNoKCdCdWlsZGVyUHJvcHMub3JnYW5pemF0aW9uIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5zeW50aD8uc291cmNlKSB7XG4gICAgICBlcnJvcnMucHVzaCgnQnVpbGRlclByb3BzLnN5bnRoLnNvdXJjZSBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGlmICghcHJvcHMuc3ludGg/LnBsdWdpbikge1xuICAgICAgZXJyb3JzLnB1c2goJ0J1aWxkZXJQcm9wcy5zeW50aC5wbHVnaW4gaXMgcmVxdWlyZWQnKTtcbiAgICB9IGVsc2UgaWYgKCFwcm9wcy5zeW50aC5wbHVnaW4ubmFtZT8udHJpbSgpKSB7XG4gICAgICBlcnJvcnMucHVzaCgnQnVpbGRlclByb3BzLnN5bnRoLnBsdWdpbi5uYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgcmVwbyBmb3JtYXQgZm9yIEdpdEh1YiBhbmQgQ29kZVN0YXIgc291cmNlcyAoYm90aCB1c2UgXCJvd25lci9yZXBvXCIpXG4gICAgY29uc3Qgc291cmNlVHlwZSA9IHByb3BzLnN5bnRoPy5zb3VyY2U/LnR5cGU7XG4gICAgaWYgKHNvdXJjZVR5cGUgPT09ICdnaXRodWInIHx8IHNvdXJjZVR5cGUgPT09ICdjb2Rlc3RhcicpIHtcbiAgICAgIGNvbnN0IHJlcG8gPSBwcm9wcy5zeW50aD8uc291cmNlPy5vcHRpb25zPy5yZXBvO1xuICAgICAgaWYgKHJlcG8gJiYgIXJlcG8uaW5jbHVkZXMoJy8nKSkge1xuICAgICAgICBlcnJvcnMucHVzaChgSW52YWxpZCAke3NvdXJjZVR5cGV9IHJlcG9zaXRvcnkgZm9ybWF0OiBcIiR7cmVwb31cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcIm93bmVyL3JlcG9cImApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHBpcGVsaW5lIG5hbWUgbGVuZ3RoIChBV1MgbWF4IDEwMCBjaGFyYWN0ZXJzKVxuICAgIGNvbnN0IE1BWF9QSVBFTElORV9OQU1FX0xFTkdUSCA9IENvcmVDb25zdGFudHMuUElQRUxJTkVfTkFNRV9NQVhfTEVOR1RIO1xuICAgIGNvbnN0IHBpcGVsaW5lTmFtZSA9IHByb3BzLnBpcGVsaW5lTmFtZVxuICAgICAgPz8gYCR7cmVwbGFjZU5vbkFscGhhbnVtZXJpYyhwcm9wcy5vcmdhbml6YXRpb24gPz8gJycsICdfJykudG9Mb3dlckNhc2UoKX0tJHtyZXBsYWNlTm9uQWxwaGFudW1lcmljKHByb3BzLnByb2plY3QgPz8gJycsICdfJykudG9Mb3dlckNhc2UoKX0tcGlwZWxpbmVgO1xuICAgIGlmIChwaXBlbGluZU5hbWUubGVuZ3RoID4gTUFYX1BJUEVMSU5FX05BTUVfTEVOR1RIKSB7XG4gICAgICBlcnJvcnMucHVzaChgUGlwZWxpbmUgbmFtZSBcIiR7cGlwZWxpbmVOYW1lfVwiIGV4Y2VlZHMgQVdTIG1heGltdW0gb2YgJHtNQVhfUElQRUxJTkVfTkFNRV9MRU5HVEh9IGNoYXJhY3RlcnMgKCR7cGlwZWxpbmVOYW1lLmxlbmd0aH0pYCk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgc3RhZ2VzXG4gICAgaWYgKHByb3BzLnN0YWdlcykge1xuICAgICAgY29uc3Qgc3RhZ2VOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgZm9yIChjb25zdCBzdGFnZSBvZiBwcm9wcy5zdGFnZXMpIHtcbiAgICAgICAgaWYgKCFzdGFnZS5zdGFnZU5hbWU/LnRyaW0oKSkge1xuICAgICAgICAgIGVycm9ycy5wdXNoKCdFYWNoIHN0YWdlIG11c3QgaGF2ZSBhIG5vbi1lbXB0eSBzdGFnZU5hbWUnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGFnZU5hbWVzLmhhcyhzdGFnZS5zdGFnZU5hbWUpKSB7XG4gICAgICAgICAgZXJyb3JzLnB1c2goYER1cGxpY2F0ZSBzdGFnZSBuYW1lOiBcIiR7c3RhZ2Uuc3RhZ2VOYW1lfVwiYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhZ2VOYW1lcy5hZGQoc3RhZ2Uuc3RhZ2VOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0YWdlLnN0ZXBzPy5sZW5ndGgpIHtcbiAgICAgICAgICBlcnJvcnMucHVzaChgU3RhZ2UgXCIke3N0YWdlLnN0YWdlTmFtZSA/PyAnKHVubmFtZWQpJ31cIiBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIHN0ZXBgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUGlwZWxpbmUgY29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDpcXG4nICtcbiAgICAgICAgZXJyb3JzLm1hcChlID0+IGAgIC0gJHtlfWApLmpvaW4oJ1xcbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgUzMgc291cmNlIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBTMyBvcHRpb25zIHdpdGggYG9iamVjdEtleWAgZGVmYXVsdGluZyB0byBgJ3NvdXJjZS56aXAnYCBhbmQgYHRyaWdnZXJgIGRlZmF1bHRpbmcgdG8gYE5PTkVgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYHMzYFxuICAgKi9cbiAgZ2V0UzNPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8UzNPcHRpb25zLCAnYnVja2V0TmFtZScgfCAnb2JqZWN0S2V5JyB8ICd0cmlnZ2VyJz4+ICYgT21pdDxTM09wdGlvbnMsICdidWNrZXROYW1lJyB8ICdvYmplY3RLZXknIHwgJ3RyaWdnZXInPiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgaWYgKHNvdXJjZS50eXBlICE9PSAnczMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSB0eXBlIGlzIG5vdCBTMycpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIG9iamVjdEtleTogc291cmNlLm9wdGlvbnMub2JqZWN0S2V5ID8/ICdzb3VyY2UuemlwJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIEdpdEh1YiBzb3VyY2Ugb3B0aW9ucyB3aXRoIGRlZmF1bHRzIGFwcGxpZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEdpdEh1YiBvcHRpb25zIHdpdGggYGJyYW5jaGAgZGVmYXVsdGluZyB0byBgJ21haW4nYCBhbmQgYHRyaWdnZXJgIGRlZmF1bHRpbmcgdG8gYE5PTkVgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYGdpdGh1YmBcbiAgICovXG4gIGdldEdpdEh1Yk9wdGlvbnMoKTogUmVxdWlyZWQ8UGljazxHaXRIdWJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4+ICYgT21pdDxHaXRIdWJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuc291cmNlO1xuICAgIGlmIChzb3VyY2UudHlwZSAhPT0gJ2dpdGh1YicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU291cmNlIHR5cGUgaXMgbm90IEdpdEh1YicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIENvZGVTdGFyIHNvdXJjZSBvcHRpb25zIHdpdGggZGVmYXVsdHMgYXBwbGllZC5cbiAgICpcbiAgICogQHJldHVybnMgQ29kZVN0YXIgb3B0aW9ucyB3aXRoIGBicmFuY2hgIGRlZmF1bHRpbmcgdG8gYCdtYWluJ2AsIGB0cmlnZ2VyYCBkZWZhdWx0aW5nIHRvIGBOT05FYCwgYW5kIGBjb2RlQnVpbGRDbG9uZU91dHB1dGAgZGVmYXVsdGluZyB0byBgZmFsc2VgXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29uZmlndXJlZCBzb3VyY2UgdHlwZSBpcyBub3QgYGNvZGVzdGFyYFxuICAgKi9cbiAgZ2V0Q29kZVN0YXJPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8Q29kZVN0YXJPcHRpb25zLCAncmVwbycgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJyB8ICdjb2RlQnVpbGRDbG9uZU91dHB1dCcgfCAnY29ubmVjdGlvbkFybic+PiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgaWYgKHNvdXJjZS50eXBlICE9PSAnY29kZXN0YXInKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSB0eXBlIGlzIG5vdCBDb2RlU3RhcicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBzb3VyY2Uub3B0aW9ucy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIENvZGVDb21taXQgc291cmNlIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb2RlQ29tbWl0IG9wdGlvbnMgd2l0aCBgYnJhbmNoYCBkZWZhdWx0aW5nIHRvIGAnbWFpbidgIGFuZCBgdHJpZ2dlcmAgZGVmYXVsdGluZyB0byBgTk9ORWBcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb25maWd1cmVkIHNvdXJjZSB0eXBlIGlzIG5vdCBgY29kZWNvbW1pdGBcbiAgICovXG4gIGdldENvZGVDb21taXRPcHRpb25zKCk6IFJlcXVpcmVkPFBpY2s8Q29kZUNvbW1pdE9wdGlvbnMsICdyZXBvc2l0b3J5TmFtZScgfCAnYnJhbmNoJyB8ICd0cmlnZ2VyJz4+IHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICBpZiAoc291cmNlLnR5cGUgIT09ICdjb2RlY29tbWl0Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb3VyY2UgdHlwZSBpcyBub3QgQ29kZUNvbW1pdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zb3VyY2Uub3B0aW9ucyxcbiAgICAgIGJyYW5jaDogc291cmNlLm9wdGlvbnMuYnJhbmNoID8/ICdtYWluJyxcbiAgICAgIHRyaWdnZXI6IHNvdXJjZS5vcHRpb25zLnRyaWdnZXIgPz8gVHJpZ2dlclR5cGUuTk9ORSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `PluginSpec` domain type — the shape of a plugin's declared contract as
|
|
3
|
+
* stored in the database and exchanged over the API.
|
|
4
|
+
*
|
|
5
|
+
* Kept in its own module, apart from the synth-time authoring types in
|
|
6
|
+
* `step-types.ts`, because those reference CDK types (`Construct`,
|
|
7
|
+
* `IFileSetProducer`, CodeBuild's `ComputeType`) while this one is pure data.
|
|
8
|
+
* API services consume `PluginSpec`; only the CDK entry point consumes the rest.
|
|
9
|
+
*/
|
|
10
|
+
import type { ComputeType, PluginType } from '../core/pipeline-types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Plugin spec defining plugin behavior and requirements.
|
|
13
|
+
* This is typically loaded from a plugin spec file (plugin-spec.yaml).
|
|
14
|
+
*/
|
|
15
|
+
export interface PluginSpec {
|
|
16
|
+
/**
|
|
17
|
+
* Unique identifier for the plugin
|
|
18
|
+
* @example 'nodejs-build'
|
|
19
|
+
*/
|
|
20
|
+
readonly name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Human-readable description of what the plugin does
|
|
23
|
+
* @example 'Builds and tests Node.js applications'
|
|
24
|
+
*/
|
|
25
|
+
readonly description?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Keywords for plugin discovery and categorization
|
|
28
|
+
* @example ['nodejs', 'typescript', 'build', 'test']
|
|
29
|
+
*/
|
|
30
|
+
readonly keywords?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Plugin category for AI-assisted selection and organization.
|
|
33
|
+
* One of: language, security, quality, testing, deploy, artifact,
|
|
34
|
+
* infrastructure, monitoring, notification, ai
|
|
35
|
+
*/
|
|
36
|
+
readonly category?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Semantic version of the plugin
|
|
39
|
+
* @example '1.0.0'
|
|
40
|
+
*/
|
|
41
|
+
readonly version?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Type of pipeline step this plugin creates
|
|
44
|
+
* @default PluginType.CODE_BUILD_STEP
|
|
45
|
+
*/
|
|
46
|
+
readonly pluginType?: PluginType;
|
|
47
|
+
/**
|
|
48
|
+
* CodeBuild compute resource size to use
|
|
49
|
+
* @default ComputeType.SMALL
|
|
50
|
+
*/
|
|
51
|
+
readonly computeType?: ComputeType;
|
|
52
|
+
/**
|
|
53
|
+
* Maximum execution time in minutes.
|
|
54
|
+
* Used as fallback when the pipeline step doesn't set timeout.
|
|
55
|
+
* @default 60 (AWS CodeBuild default)
|
|
56
|
+
*/
|
|
57
|
+
readonly timeout?: number;
|
|
58
|
+
/**
|
|
59
|
+
* What happens when this step fails.
|
|
60
|
+
* - 'fail': Stop the pipeline (default)
|
|
61
|
+
* - 'warn': Log a warning and continue
|
|
62
|
+
* - 'ignore': Silently continue
|
|
63
|
+
* @default 'fail'
|
|
64
|
+
*/
|
|
65
|
+
readonly failureBehavior?: 'fail' | 'warn' | 'ignore';
|
|
66
|
+
/**
|
|
67
|
+
* Secret requirements for this plugin.
|
|
68
|
+
* Declares named secrets the plugin expects at build time.
|
|
69
|
+
*/
|
|
70
|
+
readonly secrets?: Array<{
|
|
71
|
+
name: string;
|
|
72
|
+
required: boolean;
|
|
73
|
+
description?: string;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Directory containing the primary build output artifacts
|
|
77
|
+
* @example 'dist'
|
|
78
|
+
*/
|
|
79
|
+
readonly primaryOutputDirectory?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Additional metadata that can be accessed during plugin execution
|
|
82
|
+
* Keys should use the format 'aws:cdk:{namespace}:{key}' (all lowercase)
|
|
83
|
+
*/
|
|
84
|
+
readonly metadata?: Record<string, string | number | boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* Path to Dockerfile or Dockerfile content
|
|
87
|
+
* Used to build the container environment for this plugin
|
|
88
|
+
*/
|
|
89
|
+
readonly dockerfile?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Commands to run during the install phase
|
|
92
|
+
* Typically used for installing dependencies
|
|
93
|
+
* @example ['npm ci', 'npm run build']
|
|
94
|
+
*/
|
|
95
|
+
readonly installCommands?: string[];
|
|
96
|
+
/**
|
|
97
|
+
* Commands to run during the build/execution phase
|
|
98
|
+
* These are the main commands that perform the plugin's work
|
|
99
|
+
* @example ['npm test', 'npm run deploy']
|
|
100
|
+
*/
|
|
101
|
+
readonly commands?: string[];
|
|
102
|
+
/**
|
|
103
|
+
* Environment variables to set in the build environment
|
|
104
|
+
* @example { API_URL: 'https://api.example.com', LOG_LEVEL: 'info' }
|
|
105
|
+
*/
|
|
106
|
+
readonly env?: Record<string, string>;
|
|
107
|
+
/**
|
|
108
|
+
* Docker build arguments passed via --build-arg at image build time.
|
|
109
|
+
* Used to parameterize Dockerfile ARG values when building the plugin image.
|
|
110
|
+
* @example { PYTHON_VERSION: '3.12', NODE_ENV: 'production' }
|
|
111
|
+
*/
|
|
112
|
+
readonly buildArgs?: Record<string, string>;
|
|
113
|
+
/**
|
|
114
|
+
* Pipeline metadata keys the plugin references via `{{ pipeline.metadata.X }}`.
|
|
115
|
+
* Declared as a contract — pipelines using this plugin must supply all
|
|
116
|
+
* listed keys unless the template uses `| default: '...'`.
|
|
117
|
+
* @example ['env', 'namespace', 'clusterName']
|
|
118
|
+
*/
|
|
119
|
+
readonly requiredMetadata?: string[];
|
|
120
|
+
/**
|
|
121
|
+
* Pipeline vars keys the plugin references via `{{ pipeline.vars.X }}`.
|
|
122
|
+
* @example ['branch', 'slackChannel']
|
|
123
|
+
*/
|
|
124
|
+
readonly requiredVars?: string[];
|
|
125
|
+
/**
|
|
126
|
+
* Optional type declarations for the metadata keys listed in `requiredMetadata`.
|
|
127
|
+
* Used at upload time to verify that coercion filters (`| number`, `| bool`,
|
|
128
|
+
* `| json`) match the declared type — e.g. `{{ pipeline.metadata.count | number }}`
|
|
129
|
+
* requires `count: 'number'` here, otherwise the plugin is rejected.
|
|
130
|
+
* Keys not declared default to `'string'`.
|
|
131
|
+
* @example { count: 'number', enabled: 'bool' }
|
|
132
|
+
*/
|
|
133
|
+
readonly metadataTypes?: Record<string, 'string' | 'number' | 'bool' | 'json'>;
|
|
134
|
+
/**
|
|
135
|
+
* Optional type declarations for vars keys (same semantics as `metadataTypes`).
|
|
136
|
+
*/
|
|
137
|
+
readonly varsTypes?: Record<string, 'string' | 'number' | 'bool' | 'json'>;
|
|
138
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvcGx1Z2luLXNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFRoZSBgUGx1Z2luU3BlY2AgZG9tYWluIHR5cGUg4oCUIHRoZSBzaGFwZSBvZiBhIHBsdWdpbidzIGRlY2xhcmVkIGNvbnRyYWN0IGFzXG4gKiBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlIGFuZCBleGNoYW5nZWQgb3ZlciB0aGUgQVBJLlxuICpcbiAqIEtlcHQgaW4gaXRzIG93biBtb2R1bGUsIGFwYXJ0IGZyb20gdGhlIHN5bnRoLXRpbWUgYXV0aG9yaW5nIHR5cGVzIGluXG4gKiBgc3RlcC10eXBlcy50c2AsIGJlY2F1c2UgdGhvc2UgcmVmZXJlbmNlIENESyB0eXBlcyAoYENvbnN0cnVjdGAsXG4gKiBgSUZpbGVTZXRQcm9kdWNlcmAsIENvZGVCdWlsZCdzIGBDb21wdXRlVHlwZWApIHdoaWxlIHRoaXMgb25lIGlzIHB1cmUgZGF0YS5cbiAqIEFQSSBzZXJ2aWNlcyBjb25zdW1lIGBQbHVnaW5TcGVjYDsgb25seSB0aGUgQ0RLIGVudHJ5IHBvaW50IGNvbnN1bWVzIHRoZSByZXN0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQ29tcHV0ZVR5cGUsIFBsdWdpblR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcblxuLyoqXG4gKiBQbHVnaW4gc3BlYyBkZWZpbmluZyBwbHVnaW4gYmVoYXZpb3IgYW5kIHJlcXVpcmVtZW50cy5cbiAqIFRoaXMgaXMgdHlwaWNhbGx5IGxvYWRlZCBmcm9tIGEgcGx1Z2luIHNwZWMgZmlsZSAocGx1Z2luLXNwZWMueWFtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luU3BlYyB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHBsdWdpblxuICAgKiBAZXhhbXBsZSAnbm9kZWpzLWJ1aWxkJ1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBwbHVnaW4gZG9lc1xuICAgKiBAZXhhbXBsZSAnQnVpbGRzIGFuZCB0ZXN0cyBOb2RlLmpzIGFwcGxpY2F0aW9ucydcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBLZXl3b3JkcyBmb3IgcGx1Z2luIGRpc2NvdmVyeSBhbmQgY2F0ZWdvcml6YXRpb25cbiAgICogQGV4YW1wbGUgWydub2RlanMnLCAndHlwZXNjcmlwdCcsICdidWlsZCcsICd0ZXN0J11cbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFBsdWdpbiBjYXRlZ29yeSBmb3IgQUktYXNzaXN0ZWQgc2VsZWN0aW9uIGFuZCBvcmdhbml6YXRpb24uXG4gICAqIE9uZSBvZjogbGFuZ3VhZ2UsIHNlY3VyaXR5LCBxdWFsaXR5LCB0ZXN0aW5nLCBkZXBsb3ksIGFydGlmYWN0LFxuICAgKiAgICAgICAgIGluZnJhc3RydWN0dXJlLCBtb25pdG9yaW5nLCBub3RpZmljYXRpb24sIGFpXG4gICAqL1xuICByZWFkb25seSBjYXRlZ29yeT86IHN0cmluZztcblxuICAvKipcbiAgICogU2VtYW50aWMgdmVyc2lvbiBvZiB0aGUgcGx1Z2luXG4gICAqIEBleGFtcGxlICcxLjAuMCdcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgcGlwZWxpbmUgc3RlcCB0aGlzIHBsdWdpbiBjcmVhdGVzXG4gICAqIEBkZWZhdWx0IFBsdWdpblR5cGUuQ09ERV9CVUlMRF9TVEVQXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5UeXBlPzogUGx1Z2luVHlwZTtcblxuICAvKipcbiAgICogQ29kZUJ1aWxkIGNvbXB1dGUgcmVzb3VyY2Ugc2l6ZSB0byB1c2VcbiAgICogQGRlZmF1bHQgQ29tcHV0ZVR5cGUuU01BTExcbiAgICovXG4gIHJlYWRvbmx5IGNvbXB1dGVUeXBlPzogQ29tcHV0ZVR5cGU7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gZXhlY3V0aW9uIHRpbWUgaW4gbWludXRlcy5cbiAgICogVXNlZCBhcyBmYWxsYmFjayB3aGVuIHRoZSBwaXBlbGluZSBzdGVwIGRvZXNuJ3Qgc2V0IHRpbWVvdXQuXG4gICAqIEBkZWZhdWx0IDYwIChBV1MgQ29kZUJ1aWxkIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGF0IGhhcHBlbnMgd2hlbiB0aGlzIHN0ZXAgZmFpbHMuXG4gICAqIC0gJ2ZhaWwnOiBTdG9wIHRoZSBwaXBlbGluZSAoZGVmYXVsdClcbiAgICogLSAnd2Fybic6IExvZyBhIHdhcm5pbmcgYW5kIGNvbnRpbnVlXG4gICAqIC0gJ2lnbm9yZSc6IFNpbGVudGx5IGNvbnRpbnVlXG4gICAqIEBkZWZhdWx0ICdmYWlsJ1xuICAgKi9cbiAgcmVhZG9ubHkgZmFpbHVyZUJlaGF2aW9yPzogJ2ZhaWwnIHwgJ3dhcm4nIHwgJ2lnbm9yZSc7XG5cbiAgLyoqXG4gICAqIFNlY3JldCByZXF1aXJlbWVudHMgZm9yIHRoaXMgcGx1Z2luLlxuICAgKiBEZWNsYXJlcyBuYW1lZCBzZWNyZXRzIHRoZSBwbHVnaW4gZXhwZWN0cyBhdCBidWlsZCB0aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0cz86IEFycmF5PHsgbmFtZTogc3RyaW5nOyByZXF1aXJlZDogYm9vbGVhbjsgZGVzY3JpcHRpb24/OiBzdHJpbmcgfT47XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSBjb250YWluaW5nIHRoZSBwcmltYXJ5IGJ1aWxkIG91dHB1dCBhcnRpZmFjdHNcbiAgICogQGV4YW1wbGUgJ2Rpc3QnXG4gICAqL1xuICByZWFkb25seSBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSB0aGF0IGNhbiBiZSBhY2Nlc3NlZCBkdXJpbmcgcGx1Z2luIGV4ZWN1dGlvblxuICAgKiBLZXlzIHNob3VsZCB1c2UgdGhlIGZvcm1hdCAnYXdzOmNkazp7bmFtZXNwYWNlfTp7a2V5fScgKGFsbCBsb3dlcmNhc2UpXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIERvY2tlcmZpbGUgb3IgRG9ja2VyZmlsZSBjb250ZW50XG4gICAqIFVzZWQgdG8gYnVpbGQgdGhlIGNvbnRhaW5lciBlbnZpcm9ubWVudCBmb3IgdGhpcyBwbHVnaW5cbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlcmZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBkdXJpbmcgdGhlIGluc3RhbGwgcGhhc2VcbiAgICogVHlwaWNhbGx5IHVzZWQgZm9yIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzXG4gICAqIEBleGFtcGxlIFsnbnBtIGNpJywgJ25wbSBydW4gYnVpbGQnXVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFsbENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBkdXJpbmcgdGhlIGJ1aWxkL2V4ZWN1dGlvbiBwaGFzZVxuICAgKiBUaGVzZSBhcmUgdGhlIG1haW4gY29tbWFuZHMgdGhhdCBwZXJmb3JtIHRoZSBwbHVnaW4ncyB3b3JrXG4gICAqIEBleGFtcGxlIFsnbnBtIHRlc3QnLCAnbnBtIHJ1biBkZXBsb3knXVxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiB0aGUgYnVpbGQgZW52aXJvbm1lbnRcbiAgICogQGV4YW1wbGUgeyBBUElfVVJMOiAnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20nLCBMT0dfTEVWRUw6ICdpbmZvJyB9XG4gICAqL1xuICByZWFkb25seSBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgYnVpbGQgYXJndW1lbnRzIHBhc3NlZCB2aWEgLS1idWlsZC1hcmcgYXQgaW1hZ2UgYnVpbGQgdGltZS5cbiAgICogVXNlZCB0byBwYXJhbWV0ZXJpemUgRG9ja2VyZmlsZSBBUkcgdmFsdWVzIHdoZW4gYnVpbGRpbmcgdGhlIHBsdWdpbiBpbWFnZS5cbiAgICogQGV4YW1wbGUgeyBQWVRIT05fVkVSU0lPTjogJzMuMTInLCBOT0RFX0VOVjogJ3Byb2R1Y3Rpb24nIH1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIG1ldGFkYXRhIGtleXMgdGhlIHBsdWdpbiByZWZlcmVuY2VzIHZpYSBge3sgcGlwZWxpbmUubWV0YWRhdGEuWCB9fWAuXG4gICAqIERlY2xhcmVkIGFzIGEgY29udHJhY3Qg4oCUIHBpcGVsaW5lcyB1c2luZyB0aGlzIHBsdWdpbiBtdXN0IHN1cHBseSBhbGxcbiAgICogbGlzdGVkIGtleXMgdW5sZXNzIHRoZSB0ZW1wbGF0ZSB1c2VzIGB8IGRlZmF1bHQ6ICcuLi4nYC5cbiAgICogQGV4YW1wbGUgWydlbnYnLCAnbmFtZXNwYWNlJywgJ2NsdXN0ZXJOYW1lJ11cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkTWV0YWRhdGE/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGlwZWxpbmUgdmFycyBrZXlzIHRoZSBwbHVnaW4gcmVmZXJlbmNlcyB2aWEgYHt7IHBpcGVsaW5lLnZhcnMuWCB9fWAuXG4gICAqIEBleGFtcGxlIFsnYnJhbmNoJywgJ3NsYWNrQ2hhbm5lbCddXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZFZhcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoZSBtZXRhZGF0YSBrZXlzIGxpc3RlZCBpbiBgcmVxdWlyZWRNZXRhZGF0YWAuXG4gICAqIFVzZWQgYXQgdXBsb2FkIHRpbWUgdG8gdmVyaWZ5IHRoYXQgY29lcmNpb24gZmlsdGVycyAoYHwgbnVtYmVyYCwgYHwgYm9vbGAsXG4gICAqIGB8IGpzb25gKSBtYXRjaCB0aGUgZGVjbGFyZWQgdHlwZSDigJQgZS5nLiBge3sgcGlwZWxpbmUubWV0YWRhdGEuY291bnQgfCBudW1iZXIgfX1gXG4gICAqIHJlcXVpcmVzIGBjb3VudDogJ251bWJlcidgIGhlcmUsIG90aGVyd2lzZSB0aGUgcGx1Z2luIGlzIHJlamVjdGVkLlxuICAgKiBLZXlzIG5vdCBkZWNsYXJlZCBkZWZhdWx0IHRvIGAnc3RyaW5nJ2AuXG4gICAqIEBleGFtcGxlIHsgY291bnQ6ICdudW1iZXInLCBlbmFibGVkOiAnYm9vbCcgfVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGFUeXBlcz86IFJlY29yZDxzdHJpbmcsICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbCcgfCAnanNvbic+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0eXBlIGRlY2xhcmF0aW9ucyBmb3IgdmFycyBrZXlzIChzYW1lIHNlbWFudGljcyBhcyBgbWV0YWRhdGFUeXBlc2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFyc1R5cGVzPzogUmVjb3JkPHN0cmluZywgJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdqc29uJz47XG59XG4iXX0=
|
|
@@ -10,6 +10,8 @@ import { Construct } from 'constructs';
|
|
|
10
10
|
import { UniqueId } from '../core/id-generator.js';
|
|
11
11
|
import { unwrapSecret } from '../core/pipeline-helpers.js';
|
|
12
12
|
import { TriggerType } from '../core/pipeline-types.js';
|
|
13
|
+
import { resolveTemplates } from '../template/index.js';
|
|
14
|
+
import { hasTemplate } from '../template/tokenizer.js';
|
|
13
15
|
const log = createLogger('source-builder');
|
|
14
16
|
/** A Secrets Manager ARN (`arn:aws:secretsmanager:...`, incl. partition variants). */
|
|
15
17
|
const SECRETS_MANAGER_ARN = /^arn:aws[a-z-]*:secretsmanager:/i;
|
|
@@ -93,12 +95,26 @@ export class SourceBuilder {
|
|
|
93
95
|
* `SecretValue.unsafePlainText`, and a loud warning is emitted.
|
|
94
96
|
*/
|
|
95
97
|
resolveGitHubAuthentication(options) {
|
|
96
|
-
|
|
98
|
+
let token = options.token;
|
|
97
99
|
if (token === undefined)
|
|
98
100
|
return undefined;
|
|
99
101
|
// A SecretValue is already a reference (e.g. Secrets Manager) — never plaintext.
|
|
100
102
|
if (typeof token !== 'string')
|
|
101
103
|
return token;
|
|
104
|
+
// Synth-time templating: resolve `{{ pipeline.* }}` in the token against the
|
|
105
|
+
// pipeline scope (e.g. `secretsmanager:pipeline-builder/{{ pipeline.vars.orgId }}/
|
|
106
|
+
// github-token`) so the secret reference can be parameterized by pipeline vars —
|
|
107
|
+
// the only source field that is templatable. No-op when the token carries no
|
|
108
|
+
// template (a plain ARN, `secretsmanager:` ref, or plaintext resolves to itself).
|
|
109
|
+
if (hasTemplate(token)) {
|
|
110
|
+
const holder = { token };
|
|
111
|
+
const { errors } = resolveTemplates(holder, this.config.getPipelineScope(), (f) => f === 'token', 'pipeline');
|
|
112
|
+
if (errors.length > 0) {
|
|
113
|
+
const e = errors[0];
|
|
114
|
+
throw new Error(`GitHub source token template resolution failed at '${e.field ?? 'token'}': ${e.message}`);
|
|
115
|
+
}
|
|
116
|
+
token = holder.token;
|
|
117
|
+
}
|
|
102
118
|
// A string that names a Secrets Manager secret is resolved to a reference so
|
|
103
119
|
// only the pointer — not the token — is written to the template / CDK context.
|
|
104
120
|
if (SECRETS_MANAGER_ARN.test(token)) {
|
|
@@ -145,4 +161,4 @@ export class SourceBuilder {
|
|
|
145
161
|
});
|
|
146
162
|
}
|
|
147
163
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvc291cmNlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFFekUsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFM0Msc0ZBQXNGO0FBQ3RGLE1BQU0sbUJBQW1CLEdBQUcsa0NBQWtDLENBQUM7QUFDL0QsNERBQTREO0FBQzVELE1BQU0sMEJBQTBCLEdBQUcsaUJBQWlCLENBQUM7QUFFckQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBRUwsS0FBSztJQUNMLE1BQU07SUFGekIsWUFDbUIsS0FBZ0IsRUFDaEIsTUFBNkI7cUJBRDdCLEtBQUs7c0JBQ0wsTUFBTTtJQUN0QixDQUFDO0lBRUo7O09BRUc7SUFDSCxN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Q0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsRyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVjb21taXQnO1xuaW1wb3J0IHsgQ29kZUNvbW1pdFRyaWdnZXIsIEdpdEh1YlRyaWdnZXIsIFMzVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29kZVBpcGVsaW5lU291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBQaXBlbGluZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3BpcGVsaW5lLWNvbmZpZ3VyYXRpb24uanMnO1xuaW1wb3J0IHR5cGUgeyBHaXRIdWJPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UtdHlwZXMuanMnO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvci5qcyc7XG5pbXBvcnQgeyB1bndyYXBTZWNyZXQgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLWhlbHBlcnMuanMnO1xuaW1wb3J0IHsgVHJpZ2dlclR5cGUsIHR5cGUgU291cmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvcGlwZWxpbmUtdHlwZXMuanMnO1xuXG5jb25zdCBsb2cgPSBjcmVhdGVMb2dnZXIoJ3NvdXJjZS1idWlsZGVyJyk7XG5cbi8qKiBBIFNlY3JldHMgTWFuYWdlciBBUk4gKGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOi4uLmAsIGluY2wuIHBhcnRpdGlvbiB2YXJpYW50cykuICovXG5jb25zdCBTRUNSRVRTX01BTkFHRVJfQVJOID0gL15hcm46YXdzW2Etei1dKjpzZWNyZXRzbWFuYWdlcjovaTtcbi8qKiBBIGBzZWNyZXRzbWFuYWdlcjo8c2VjcmV0LW5hbWU+YCBzaG9ydGhhbmQgcmVmZXJlbmNlLiAqL1xuY29uc3QgU0VDUkVUU19NQU5BR0VSX1JFRl9QUkVGSVggPSAnc2VjcmV0c21hbmFnZXI6JztcblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBhcHByb3ByaWF0ZSBDb2RlUGlwZWxpbmVTb3VyY2UgYmFzZWQgb24gdGhlIHBpcGVsaW5lIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogU3VwcG9ydHMgUzMsIEdpdEh1YiwgQ29kZVN0YXIgY29ubmVjdGlvbiwgYW5kIENvZGVDb21taXQgc291cmNlcy5cbiAqXG4gKiAqKk5vdGUgb24gU0NIRURVTEUgdHJpZ2dlcnM6KiogU2NoZWR1bGVkIHBpcGVsaW5lcyByZXF1aXJlIGFuIEV2ZW50QnJpZGdlIHJ1bGVcbiAqIHRoYXQgc3RhcnRzIHRoZSBwaXBlbGluZSBvbiBhIGNyb24gc2NoZWR1bGUuIFRoZSBzb3VyY2UgdHJpZ2dlciBpcyBzZXQgdG8gTk9ORVxuICogKG5vIHBvbGxpbmcvd2ViaG9vaykuIFRoZSBFdmVudEJyaWRnZSBydWxlIG11c3QgYmUgY3JlYXRlZCBzZXBhcmF0ZWx5IGFzIGFcbiAqIHBpcGVsaW5lLWxldmVsIGNvbnN0cnVjdCwgbm90IGF0IHRoZSBzb3VyY2UgbGV2ZWwuIFRoZSBgc2NoZWR1bGVgIGZpZWxkIG9uXG4gKiBzb3VyY2Ugb3B0aW9ucyBjYXB0dXJlcyB0aGUgY3JvbiBleHByZXNzaW9uIGZvciBBUEkvZnJvbnRlbmQgdXNlLiBUaGUgYWN0dWFsXG4gKiBFdmVudEJyaWRnZSBydWxlIGNyZWF0aW9uIGlzIGltcGxlbWVudGVkIGluIGBQaXBlbGluZUJ1aWxkZXJgICh0aGVcbiAqIGBTY2hlZHVsZVJ1bGVgIGBldmVudHMuUnVsZWAgdGFyZ2V0aW5nIHRoZSBwaXBlbGluZSksIG5vdCBhdCB0aGUgc291cmNlIGxldmVsLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2VCdWlsZGVyID0gbmV3IFNvdXJjZUJ1aWxkZXIodGhpcywgY29uZmlnKTtcbiAqIGNvbnN0IHNvdXJjZSA9IHNvdXJjZUJ1aWxkZXIuY3JlYXRlKHVuaXF1ZUlkKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU291cmNlQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogUGlwZWxpbmVDb25maWd1cmF0aW9uLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGFwcHJvcHJpYXRlIENvZGVQaXBlbGluZVNvdXJjZSBiYXNlZCBvbiBzb3VyY2UgdHlwZVxuICAgKi9cbiAgY3JlYXRlKGlkOiBVbmlxdWVJZCk6IENvZGVQaXBlbGluZVNvdXJjZSB7XG4gICAgc3dpdGNoICh0aGlzLmNvbmZpZy5zb3VyY2UudHlwZSkge1xuICAgICAgY2FzZSAnczMnOlxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVTM1NvdXJjZShpZCk7XG4gICAgICBjYXNlICdnaXRodWInOlxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVHaXRIdWJTb3VyY2UoKTtcbiAgICAgIGNhc2UgJ2NvZGVzdGFyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29kZVN0YXJTb3VyY2UoKTtcbiAgICAgIGNhc2UgJ2NvZGVjb21taXQnOlxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVDb2RlQ29tbWl0U291cmNlKGlkKTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgX2V4aGF1c3RpdmU6IG5ldmVyID0gdGhpcy5jb25maWcuc291cmNlO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHNvdXJjZSB0eXBlOiAkeyhfZXhoYXVzdGl2ZSBhcyBTb3VyY2VUeXBlKS50eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIFMzIHNvdXJjZSBmb3IgdGhlIHBpcGVsaW5lXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVMzU291cmNlKGlkOiBVbmlxdWVJZCk6IENvZGVQaXBlbGluZVNvdXJjZSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldFMzT3B0aW9ucygpO1xuXG4gICAgY29uc3QgYnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKFxuICAgICAgdGhpcy5zY29wZSxcbiAgICAgIGlkLmdlbmVyYXRlKCdzb3VyY2U6YnVja2V0JyksXG4gICAgICBvcHRpb25zLmJ1Y2tldE5hbWUsXG4gICAgKTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPVxuICAgICAgb3B0aW9ucy50cmlnZ2VyID09PSBUcmlnZ2VyVHlwZS5BVVRPID8gUzNUcmlnZ2VyLkVWRU5UUyA6IFMzVHJpZ2dlci5OT05FO1xuXG4gICAgcmV0dXJuIENvZGVQaXBlbGluZVNvdXJjZS5zMyhidWNrZXQsIG9wdGlvbnMub2JqZWN0S2V5LCB7IHRyaWdnZXIgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEdpdEh1YiBzb3VyY2UgZm9yIHRoZSBwaXBlbGluZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVHaXRIdWJTb3VyY2UoKTogQ29kZVBpcGVsaW5lU291cmNlIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jb25maWcuZ2V0R2l0SHViT3B0aW9ucygpO1xuXG4gICAgcmV0dXJuIENvZGVQaXBlbGluZVNvdXJjZS5naXRIdWIob3B0aW9ucy5yZXBvLCBvcHRpb25zLmJyYW5jaCwge1xuICAgICAgdHJpZ2dlcjogb3B0aW9ucy50cmlnZ2VyID09PSBUcmlnZ2VyVHlwZS5BVVRPID8gR2l0SHViVHJpZ2dlci5QT0xMIDogR2l0SHViVHJpZ2dlci5OT05FLFxuICAgICAgYXV0aGVudGljYXRpb246IHRoaXMucmVzb2x2ZUdpdEh1YkF1dGhlbnRpY2F0aW9uKG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIEdpdEh1YiBhdXRoZW50aWNhdGlvbiB0b2tlbiBpbnRvIGEge0BsaW5rIFNlY3JldFZhbHVlfSB3aXRob3V0XG4gICAqIGxlYWtpbmcgdGhlIHRva2VuIHZhbHVlIGludG8gdGhlIHN5bnRoZXNpemVkIHRlbXBsYXRlLlxuICAgKlxuICAgKiAtIGB1bmRlZmluZWRgIHRva2VuIOKGkiBubyBhdXRoZW50aWNhdGlvbiAoQ0RLIGRlZmF1bHQpLlxuICAgKiAtIEEgYFNlY3JldFZhbHVlYCDihpIgcGFzc2VkIHRocm91Z2ggKGFscmVhZHkgYSByZWZlcmVuY2UsIG5ldmVyIHBsYWludGV4dCkuXG4gICAqIC0gQSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9yIGBzZWNyZXRzbWFuYWdlcjo8bmFtZT5gIHN0cmluZyDihpIgcmVzb2x2ZWQgdmlhXG4gICAqICAgYFNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyYCwgc28gb25seSB0aGUgcmVmZXJlbmNlIGxhbmRzIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICogLSBBIGdlbnVpbmUgcmF3IHBsYWludGV4dCB0b2tlbiDihpIgcmVqZWN0ZWQgYnkgZGVmYXVsdCAoaXQgd291bGQgYmUgYmFrZWQgYXNcbiAgICogICBwbGFpbnRleHQgaW50byBDbG91ZEZvcm1hdGlvbi9DREsgY29udGV4dCkuIE9ubHkgd2hlblxuICAgKiAgIGBhbGxvd1BsYWluVGV4dFRva2VuYCBpcyBleHBsaWNpdGx5IHNldCBpcyBpdCBlbWJlZGRlZCB2aWFcbiAgICogICBgU2VjcmV0VmFsdWUudW5zYWZlUGxhaW5UZXh0YCwgYW5kIGEgbG91ZCB3YXJuaW5nIGlzIGVtaXR0ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVHaXRIdWJBdXRoZW50aWNhdGlvbihvcHRpb25zOiBHaXRIdWJPcHRpb25zKTogU2VjcmV0VmFsdWUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRva2VuID0gb3B0aW9ucy50b2tlbjtcbiAgICBpZiAodG9rZW4gPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIEEgU2VjcmV0VmFsdWUgaXMgYWxyZWFkeSBhIHJlZmVyZW5jZSAoZS5nLiBTZWNyZXRzIE1hbmFnZXIpIOKAlCBuZXZlciBwbGFpbnRleHQuXG4gICAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gJ3N0cmluZycpIHJldHVybiB0b2tlbjtcblxuICAgIC8vIEEgc3RyaW5nIHRoYXQgbmFtZXMgYSBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGlzIHJlc29sdmVkIHRvIGEgcmVmZXJlbmNlIHNvXG4gICAgLy8gb25seSB0aGUgcG9pbnRlciDigJQgbm90IHRoZSB0b2tlbiDigJQgaXMgd3JpdHRlbiB0byB0aGUgdGVtcGxhdGUgLyBDREsgY29udGV4dC5cbiAgICBpZiAoU0VDUkVUU19NQU5BR0VSX0FSTi50ZXN0KHRva2VuKSkge1xuICAgICAgcmV0dXJuIFNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKHRva2VuKTtcbiAgICB9XG4gICAgaWYgKHRva2VuLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChTRUNSRVRTX01BTkFHRVJfUkVGX1BSRUZJWCkpIHtcbiAgICAgIHJldHVybiBTZWNyZXRWYWx1ZS5zZWNyZXRzTWFuYWdlcih0b2tlbi5zbGljZShTRUNSRVRTX01BTkFHRVJfUkVGX1BSRUZJWC5sZW5ndGgpKTtcbiAgICB9XG5cbiAgICAvLyBHZW51aW5lIHJhdyBwbGFpbnRleHQgdG9rZW4g4oCUIHRoaXMgaXMgdGhlIGV4cG9zdXJlLiBSZWplY3QgYnkgZGVmYXVsdCBhbmRcbiAgICAvLyBwb2ludCB0aGUgY2FsbGVyIGF0IGEgc2VjcmV0IHJlZmVyZW5jZSBvciBhIENvZGVTdGFyIGNvbm5lY3Rpb24uXG4gICAgaWYgKCFvcHRpb25zLmFsbG93UGxhaW5UZXh0VG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0dpdEh1YiBzb3VyY2UgYHRva2VuYCBpcyBhIHJhdyBwbGFpbnRleHQgdmFsdWUsIHdoaWNoIHdvdWxkIGJlIGJha2VkIGludG8gdGhlICcgK1xuICAgICAgICAnc3ludGhlc2l6ZWQgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgKGFuZCBDREsgY29udGV4dCAvIHN0YWNrIHN0YXRlKS4gUHJvdmlkZSBhICcgK1xuICAgICAgICAnU2VjcmV0cyBNYW5hZ2VyIHJlZmVyZW5jZSBpbnN0ZWFkIOKAlCBhbiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjouLi5gIEFSTiwgYSAnICtcbiAgICAgICAgJ2BzZWNyZXRzbWFuYWdlcjo8c2VjcmV0LW5hbWU+YCBzdHJpbmcsIG9yIGEgYFNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKC4uLilgIOKAlCBvciAnICtcbiAgICAgICAgJ3ByZWZlciBhIENvZGVTdGFyIGNvbm5lY3Rpb24gKGB0eXBlOiBcImNvZGVzdGFyXCJgKS4gVG8gaW50ZW50aW9uYWxseSBlbWJlZCB0aGUgdG9rZW4gJyArXG4gICAgICAgICdpbiBwbGFpbnRleHQsIHNldCBgYWxsb3dQbGFpblRleHRUb2tlbjogdHJ1ZWAuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbG9nLndhcm4oXG4gICAgICAnR2l0SHViIHNvdXJjZSBgdG9rZW5gIGlzIGJlaW5nIGVtYmVkZGVkIGFzIFBMQUlOVEVYVCBpbiB0aGUgc3ludGhlc2l6ZWQgQ2xvdWRGb3JtYXRpb24gJyArXG4gICAgICAndGVtcGxhdGUgYmVjYXVzZSBgYWxsb3dQbGFpblRleHRUb2tlbmAgaXMgc2V0LiBBbnlvbmUgd2l0aCB0ZW1wbGF0ZSwgQ0RLIGNvbnRleHQsIG9yICcgK1xuICAgICAgJ3N0YWNrIHN0YXRlIGFjY2VzcyBjYW4gcmVhZCB0aGlzIHRva2VuLiBVc2UgYSBTZWNyZXRzIE1hbmFnZXIgcmVmZXJlbmNlIG9yIGEgQ29kZVN0YXIgJyArXG4gICAgICAnY29ubmVjdGlvbiBpbnN0ZWFkLicsXG4gICAgKTtcbiAgICByZXR1cm4gU2VjcmV0VmFsdWUudW5zYWZlUGxhaW5UZXh0KHRva2VuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ29kZVN0YXIgY29ubmVjdGlvbiBzb3VyY2UgZm9yIHRoZSBwaXBlbGluZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb2RlU3RhclNvdXJjZSgpOiBDb2RlUGlwZWxpbmVTb3VyY2Uge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb2RlU3Rhck9wdGlvbnMoKTtcblxuICAgIHJldHVybiBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihvcHRpb25zLnJlcG8sIG9wdGlvbnMuYnJhbmNoLCB7XG4gICAgICBjb25uZWN0aW9uQXJuOiB1bndyYXBTZWNyZXQob3B0aW9ucy5jb25uZWN0aW9uQXJuKSxcbiAgICAgIHRyaWdnZXJPblB1c2g6IG9wdGlvbnMudHJpZ2dlciA9PT0gVHJpZ2dlclR5cGUuQVVUTyxcbiAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBvcHRpb25zLmNvZGVCdWlsZENsb25lT3V0cHV0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBDb2RlQ29tbWl0IHNvdXJjZSBmb3IgdGhlIHBpcGVsaW5lXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUNvZGVDb21taXRTb3VyY2UoaWQ6IFVuaXF1ZUlkKTogQ29kZVBpcGVsaW5lU291cmNlIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29kZUNvbW1pdE9wdGlvbnMoKTtcblxuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5TmFtZShcbiAgICAgIHRoaXMuc2NvcGUsXG4gICAgICBpZC5nZW5lcmF0ZSgnc291cmNlOnJlcG8nKSxcbiAgICAgIG9wdGlvbnMucmVwb3NpdG9yeU5hbWUsXG4gICAgKTtcblxuICAgIHJldHVybiBDb2RlUGlwZWxpbmVTb3VyY2UuY29kZUNvbW1pdChyZXBvc2l0b3J5LCBvcHRpb25zLmJyYW5jaCA/PyAnbWFpbicsIHtcbiAgICAgIHRyaWdnZXI6IG9wdGlvbnMudHJpZ2dlciA9PT0gVHJpZ2dlclR5cGUuQVVUTyA/IENvZGVDb21taXRUcmlnZ2VyLkVWRU5UUyA6IENvZGVDb21taXRUcmlnZ2VyLk5PTkUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvc291cmNlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFM0Msc0ZBQXNGO0FBQ3RGLE1BQU0sbUJBQW1CLEdBQUcsa0NBQWtDLENBQUM7QUFDL0QsNERBQTREO0FBQzVELE1BQU0sMEJBQTBCLEdBQUcsaUJBQWlCLENBQUM7QUFFckQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBRUwsS0FBSztJQUNM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LG9CQUFvQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFakQsT0FBTyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pFLGFBQWEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNsRCxhQUFhLEVBQUUsT0FBTyxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsSUFBSTtZQUNuRCxvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQixDQUFDLEVBQVk7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRW5ELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FDOUMsSUFBSSxDQUFDLEtBQUssRUFDVixFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUMxQixPQUFPLENBQUMsY0FBYyxDQUN2QixDQUFDO1FBRUYsT0FBTyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFO1lBQ3pFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsRyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVjb21taXQnO1xuaW1wb3J0IHsgQ29kZUNvbW1pdFRyaWdnZXIsIEdpdEh1YlRyaWdnZXIsIFMzVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29kZVBpcGVsaW5lU291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBQaXBlbGluZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3BpcGVsaW5lLWNvbmZpZ3VyYXRpb24uanMnO1xuaW1wb3J0IHR5cGUgeyBHaXRIdWJPcHRpb25zLCBTb3VyY2VUeXBlIH0gZnJvbSAnLi9zb3VyY2UtdHlwZXMuanMnO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvci5qcyc7XG5pbXBvcnQgeyB1bndyYXBTZWNyZXQgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLWhlbHBlcnMuanMnO1xuaW1wb3J0IHsgVHJpZ2dlclR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcbmltcG9ydCB7IHJlc29sdmVUZW1wbGF0ZXMgfSBmcm9tICcuLi90ZW1wbGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgeyBoYXNUZW1wbGF0ZSB9IGZyb20gJy4uL3RlbXBsYXRlL3Rva2VuaXplci5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcignc291cmNlLWJ1aWxkZXInKTtcblxuLyoqIEEgU2VjcmV0cyBNYW5hZ2VyIEFSTiAoYGFybjphd3M6c2VjcmV0c21hbmFnZXI6Li4uYCwgaW5jbC4gcGFydGl0aW9uIHZhcmlhbnRzKS4gKi9cbmNvbnN0IFNFQ1JFVFNfTUFOQUdFUl9BUk4gPSAvXmFybjphd3NbYS16LV0qOnNlY3JldHNtYW5hZ2VyOi9pO1xuLyoqIEEgYHNlY3JldHNtYW5hZ2VyOjxzZWNyZXQtbmFtZT5gIHNob3J0aGFuZCByZWZlcmVuY2UuICovXG5jb25zdCBTRUNSRVRTX01BTkFHRVJfUkVGX1BSRUZJWCA9ICdzZWNyZXRzbWFuYWdlcjonO1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGFwcHJvcHJpYXRlIENvZGVQaXBlbGluZVNvdXJjZSBiYXNlZCBvbiB0aGUgcGlwZWxpbmUgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBTdXBwb3J0cyBTMywgR2l0SHViLCBDb2RlU3RhciBjb25uZWN0aW9uLCBhbmQgQ29kZUNvbW1pdCBzb3VyY2VzLlxuICpcbiAqICoqTm90ZSBvbiBTQ0hFRFVMRSB0cmlnZ2VyczoqKiBTY2hlZHVsZWQgcGlwZWxpbmVzIHJlcXVpcmUgYW4gRXZlbnRCcmlkZ2UgcnVsZVxuICogdGhhdCBzdGFydHMgdGhlIHBpcGVsaW5lIG9uIGEgY3JvbiBzY2hlZHVsZS4gVGhlIHNvdXJjZSB0cmlnZ2VyIGlzIHNldCB0byBOT05FXG4gKiAobm8gcG9sbGluZy93ZWJob29rKS4gVGhlIEV2ZW50QnJpZGdlIHJ1bGUgbXVzdCBiZSBjcmVhdGVkIHNlcGFyYXRlbHkgYXMgYVxuICogcGlwZWxpbmUtbGV2ZWwgY29uc3RydWN0LCBub3QgYXQgdGhlIHNvdXJjZSBsZXZlbC4gVGhlIGBzY2hlZHVsZWAgZmllbGQgb25cbiAqIHNvdXJjZSBvcHRpb25zIGNhcHR1cmVzIHRoZSBjcm9uIGV4cHJlc3Npb24gZm9yIEFQSS9mcm9udGVuZCB1c2UuIFRoZSBhY3R1YWxcbiAqIEV2ZW50QnJpZGdlIHJ1bGUgY3JlYXRpb24gaXMgaW1wbGVtZW50ZWQgaW4gYFBpcGVsaW5lQnVpbGRlcmAgKHRoZVxuICogYFNjaGVkdWxlUnVsZWAgYGV2ZW50cy5SdWxlYCB0YXJnZXRpbmcgdGhlIHBpcGVsaW5lKSwgbm90IGF0IHRoZSBzb3VyY2UgbGV2ZWwuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZUJ1aWxkZXIgPSBuZXcgU291cmNlQnVpbGRlcih0aGlzLCBjb25maWcpO1xuICogY29uc3Qgc291cmNlID0gc291cmNlQnVpbGRlci5jcmVhdGUodW5pcXVlSWQpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTb3VyY2VCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY29wZTogQ29uc3RydWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBQaXBlbGluZUNvbmZpZ3VyYXRpb24sXG4gICkge31cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgYXBwcm9wcmlhdGUgQ29kZVBpcGVsaW5lU291cmNlIGJhc2VkIG9uIHNvdXJjZSB0eXBlXG4gICAqL1xuICBjcmVhdGUoaWQ6IFVuaXF1ZUlkKTogQ29kZVBpcGVsaW5lU291cmNlIHtcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLnNvdXJjZS50eXBlKSB7XG4gICAgICBjYXNlICdzMyc6XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVMzU291cmNlKGlkKTtcbiAgICAgIGNhc2UgJ2dpdGh1Yic6XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUdpdEh1YlNvdXJjZSgpO1xuICAgICAgY2FzZSAnY29kZXN0YXInOlxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVDb2RlU3RhclNvdXJjZSgpO1xuICAgICAgY2FzZSAnY29kZWNvbW1pdCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvZGVDb21taXRTb3VyY2UoaWQpO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBfZXhoYXVzdGl2ZTogbmV2ZXIgPSB0aGlzLmNvbmZpZy5zb3VyY2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgc291cmNlIHR5cGU6ICR7KF9leGhhdXN0aXZlIGFzIFNvdXJjZVR5cGUpLnR5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gUzMgc291cmNlIGZvciB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlUzNTb3VyY2UoaWQ6IFVuaXF1ZUlkKTogQ29kZVBpcGVsaW5lU291cmNlIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jb25maWcuZ2V0UzNPcHRpb25zKCk7XG5cbiAgICBjb25zdCBidWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLnNjb3BlLFxuICAgICAgaWQuZ2VuZXJhdGUoJ3NvdXJjZTpidWNrZXQnKSxcbiAgICAgIG9wdGlvbnMuYnVja2V0TmFtZSxcbiAgICApO1xuXG4gICAgY29uc3QgdHJpZ2dlciA9XG4gICAgICBvcHRpb25zLnRyaWdnZXIgPT09IFRyaWdnZXJUeXBlLkFVVE8gPyBTM1RyaWdnZXIuRVZFTlRTIDogUzNUcmlnZ2VyLk5PTkU7XG5cbiAgICByZXR1cm4gQ29kZVBpcGVsaW5lU291cmNlLnMzKGJ1Y2tldCwgb3B0aW9ucy5vYmplY3RLZXksIHsgdHJpZ2dlciB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgR2l0SHViIHNvdXJjZSBmb3IgdGhlIHBpcGVsaW5lXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUdpdEh1YlNvdXJjZSgpOiBDb2RlUGlwZWxpbmVTb3VyY2Uge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRHaXRIdWJPcHRpb25zKCk7XG5cbiAgICByZXR1cm4gQ29kZVBpcGVsaW5lU291cmNlLmdpdEh1YihvcHRpb25zLnJlcG8sIG9wdGlvbnMuYnJhbmNoLCB7XG4gICAgICB0cmlnZ2VyOiBvcHRpb25zLnRyaWdnZXIgPT09IFRyaWdnZXJUeXBlLkFVVE8gPyBHaXRIdWJUcmlnZ2VyLlBPTEwgOiBHaXRIdWJUcmlnZ2VyLk5PTkUsXG4gICAgICBhdXRoZW50aWNhdGlvbjogdGhpcy5yZXNvbHZlR2l0SHViQXV0aGVudGljYXRpb24ob3B0aW9ucyksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSB0aGUgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHRva2VuIGludG8gYSB7QGxpbmsgU2VjcmV0VmFsdWV9IHdpdGhvdXRcbiAgICogbGVha2luZyB0aGUgdG9rZW4gdmFsdWUgaW50byB0aGUgc3ludGhlc2l6ZWQgdGVtcGxhdGUuXG4gICAqXG4gICAqIC0gYHVuZGVmaW5lZGAgdG9rZW4g4oaSIG5vIGF1dGhlbnRpY2F0aW9uIChDREsgZGVmYXVsdCkuXG4gICAqIC0gQSBgU2VjcmV0VmFsdWVgIOKGkiBwYXNzZWQgdGhyb3VnaCAoYWxyZWFkeSBhIHJlZmVyZW5jZSwgbmV2ZXIgcGxhaW50ZXh0KS5cbiAgICogLSBBIFNlY3JldHMgTWFuYWdlciBBUk4gb3IgYHNlY3JldHNtYW5hZ2VyOjxuYW1lPmAgc3RyaW5nIOKGkiByZXNvbHZlZCB2aWFcbiAgICogICBgU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXJgLCBzbyBvbmx5IHRoZSByZWZlcmVuY2UgbGFuZHMgaW4gdGhlIHRlbXBsYXRlLlxuICAgKiAtIEEgZ2VudWluZSByYXcgcGxhaW50ZXh0IHRva2VuIOKGkiByZWplY3RlZCBieSBkZWZhdWx0IChpdCB3b3VsZCBiZSBiYWtlZCBhc1xuICAgKiAgIHBsYWludGV4dCBpbnRvIENsb3VkRm9ybWF0aW9uL0NESyBjb250ZXh0KS4gT25seSB3aGVuXG4gICAqICAgYGFsbG93UGxhaW5UZXh0VG9rZW5gIGlzIGV4cGxpY2l0bHkgc2V0IGlzIGl0IGVtYmVkZGVkIHZpYVxuICAgKiAgIGBTZWNyZXRWYWx1ZS51bnNhZmVQbGFpblRleHRgLCBhbmQgYSBsb3VkIHdhcm5pbmcgaXMgZW1pdHRlZC5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUdpdEh1YkF1dGhlbnRpY2F0aW9uKG9wdGlvbnM6IEdpdEh1Yk9wdGlvbnMpOiBTZWNyZXRWYWx1ZSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHRva2VuID0gb3B0aW9ucy50b2tlbjtcbiAgICBpZiAodG9rZW4gPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIEEgU2VjcmV0VmFsdWUgaXMgYWxyZWFkeSBhIHJlZmVyZW5jZSAoZS5nLiBTZWNyZXRzIE1hbmFnZXIpIOKAlCBuZXZlciBwbGFpbnRleHQuXG4gICAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gJ3N0cmluZycpIHJldHVybiB0b2tlbjtcblxuICAgIC8vIFN5bnRoLXRpbWUgdGVtcGxhdGluZzogcmVzb2x2ZSBge3sgcGlwZWxpbmUuKiB9fWAgaW4gdGhlIHRva2VuIGFnYWluc3QgdGhlXG4gICAgLy8gcGlwZWxpbmUgc2NvcGUgKGUuZy4gYHNlY3JldHNtYW5hZ2VyOnBpcGVsaW5lLWJ1aWxkZXIve3sgcGlwZWxpbmUudmFycy5vcmdJZCB9fS9cbiAgICAvLyBnaXRodWItdG9rZW5gKSBzbyB0aGUgc2VjcmV0IHJlZmVyZW5jZSBjYW4gYmUgcGFyYW1ldGVyaXplZCBieSBwaXBlbGluZSB2YXJzIOKAlFxuICAgIC8vIHRoZSBvbmx5IHNvdXJjZSBmaWVsZCB0aGF0IGlzIHRlbXBsYXRhYmxlLiBOby1vcCB3aGVuIHRoZSB0b2tlbiBjYXJyaWVzIG5vXG4gICAgLy8gdGVtcGxhdGUgKGEgcGxhaW4gQVJOLCBgc2VjcmV0c21hbmFnZXI6YCByZWYsIG9yIHBsYWludGV4dCByZXNvbHZlcyB0byBpdHNlbGYpLlxuICAgIGlmIChoYXNUZW1wbGF0ZSh0b2tlbikpIHtcbiAgICAgIGNvbnN0IGhvbGRlciA9IHsgdG9rZW4gfTtcbiAgICAgIGNvbnN0IHsgZXJyb3JzIH0gPSByZXNvbHZlVGVtcGxhdGVzKGhvbGRlciwgdGhpcy5jb25maWcuZ2V0UGlwZWxpbmVTY29wZSgpLCAoZikgPT4gZiA9PT0gJ3Rva2VuJywgJ3BpcGVsaW5lJyk7XG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZSA9IGVycm9yc1swXSE7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgR2l0SHViIHNvdXJjZSB0b2tlbiB0ZW1wbGF0ZSByZXNvbHV0aW9uIGZhaWxlZCBhdCAnJHtlLmZpZWxkID8/ICd0b2tlbid9JzogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgICB0b2tlbiA9IGhvbGRlci50b2tlbjtcbiAgICB9XG5cbiAgICAvLyBBIHN0cmluZyB0aGF0IG5hbWVzIGEgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBpcyByZXNvbHZlZCB0byBhIHJlZmVyZW5jZSBzb1xuICAgIC8vIG9ubHkgdGhlIHBvaW50ZXIg4oCUIG5vdCB0aGUgdG9rZW4g4oCUIGlzIHdyaXR0ZW4gdG8gdGhlIHRlbXBsYXRlIC8gQ0RLIGNvbnRleHQuXG4gICAgaWYgKFNFQ1JFVFNfTUFOQUdFUl9BUk4udGVzdCh0b2tlbikpIHtcbiAgICAgIHJldHVybiBTZWNyZXRWYWx1ZS5zZWNyZXRzTWFuYWdlcih0b2tlbik7XG4gICAgfVxuICAgIGlmICh0b2tlbi50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoU0VDUkVUU19NQU5BR0VSX1JFRl9QUkVGSVgpKSB7XG4gICAgICByZXR1cm4gU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXIodG9rZW4uc2xpY2UoU0VDUkVUU19NQU5BR0VSX1JFRl9QUkVGSVgubGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgLy8gR2VudWluZSByYXcgcGxhaW50ZXh0IHRva2VuIOKAlCB0aGlzIGlzIHRoZSBleHBvc3VyZS4gUmVqZWN0IGJ5IGRlZmF1bHQgYW5kXG4gICAgLy8gcG9pbnQgdGhlIGNhbGxlciBhdCBhIHNlY3JldCByZWZlcmVuY2Ugb3IgYSBDb2RlU3RhciBjb25uZWN0aW9uLlxuICAgIGlmICghb3B0aW9ucy5hbGxvd1BsYWluVGV4dFRva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdHaXRIdWIgc291cmNlIGB0b2tlbmAgaXMgYSByYXcgcGxhaW50ZXh0IHZhbHVlLCB3aGljaCB3b3VsZCBiZSBiYWtlZCBpbnRvIHRoZSAnICtcbiAgICAgICAgJ3N5bnRoZXNpemVkIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIChhbmQgQ0RLIGNvbnRleHQgLyBzdGFjayBzdGF0ZSkuIFByb3ZpZGUgYSAnICtcbiAgICAgICAgJ1NlY3JldHMgTWFuYWdlciByZWZlcmVuY2UgaW5zdGVhZCDigJQgYW4gYGFybjphd3M6c2VjcmV0c21hbmFnZXI6Li4uYCBBUk4sIGEgJyArXG4gICAgICAgICdgc2VjcmV0c21hbmFnZXI6PHNlY3JldC1uYW1lPmAgc3RyaW5nLCBvciBhIGBTZWNyZXRWYWx1ZS5zZWNyZXRzTWFuYWdlciguLi4pYCDigJQgb3IgJyArXG4gICAgICAgICdwcmVmZXIgYSBDb2RlU3RhciBjb25uZWN0aW9uIChgdHlwZTogXCJjb2Rlc3RhclwiYCkuIFRvIGludGVudGlvbmFsbHkgZW1iZWQgdGhlIHRva2VuICcgK1xuICAgICAgICAnaW4gcGxhaW50ZXh0LCBzZXQgYGFsbG93UGxhaW5UZXh0VG9rZW46IHRydWVgLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxvZy53YXJuKFxuICAgICAgJ0dpdEh1YiBzb3VyY2UgYHRva2VuYCBpcyBiZWluZyBlbWJlZGRlZCBhcyBQTEFJTlRFWFQgaW4gdGhlIHN5bnRoZXNpemVkIENsb3VkRm9ybWF0aW9uICcgK1xuICAgICAgJ3RlbXBsYXRlIGJlY2F1c2UgYGFsbG93UGxhaW5UZXh0VG9rZW5gIGlzIHNldC4gQW55b25lIHdpdGggdGVtcGxhdGUsIENESyBjb250ZXh0LCBvciAnICtcbiAgICAgICdzdGFjayBzdGF0ZSBhY2Nlc3MgY2FuIHJlYWQgdGhpcyB0b2tlbi4gVXNlIGEgU2VjcmV0cyBNYW5hZ2VyIHJlZmVyZW5jZSBvciBhIENvZGVTdGFyICcgK1xuICAgICAgJ2Nvbm5lY3Rpb24gaW5zdGVhZC4nLFxuICAgICk7XG4gICAgcmV0dXJuIFNlY3JldFZhbHVlLnVuc2FmZVBsYWluVGV4dCh0b2tlbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENvZGVTdGFyIGNvbm5lY3Rpb24gc291cmNlIGZvciB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29kZVN0YXJTb3VyY2UoKTogQ29kZVBpcGVsaW5lU291cmNlIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29kZVN0YXJPcHRpb25zKCk7XG5cbiAgICByZXR1cm4gQ29kZVBpcGVsaW5lU291cmNlLmNvbm5lY3Rpb24ob3B0aW9ucy5yZXBvLCBvcHRpb25zLmJyYW5jaCwge1xuICAgICAgY29ubmVjdGlvbkFybjogdW53cmFwU2VjcmV0KG9wdGlvbnMuY29ubmVjdGlvbkFybiksXG4gICAgICB0cmlnZ2VyT25QdXNoOiBvcHRpb25zLnRyaWdnZXIgPT09IFRyaWdnZXJUeXBlLkFVVE8sXG4gICAgICBjb2RlQnVpbGRDbG9uZU91dHB1dDogb3B0aW9ucy5jb2RlQnVpbGRDbG9uZU91dHB1dCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ29kZUNvbW1pdCBzb3VyY2UgZm9yIHRoZSBwaXBlbGluZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb2RlQ29tbWl0U291cmNlKGlkOiBVbmlxdWVJZCk6IENvZGVQaXBlbGluZVNvdXJjZSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvZGVDb21taXRPcHRpb25zKCk7XG5cbiAgICBjb25zdCByZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUoXG4gICAgICB0aGlzLnNjb3BlLFxuICAgICAgaWQuZ2VuZXJhdGUoJ3NvdXJjZTpyZXBvJyksXG4gICAgICBvcHRpb25zLnJlcG9zaXRvcnlOYW1lLFxuICAgICk7XG5cbiAgICByZXR1cm4gQ29kZVBpcGVsaW5lU291cmNlLmNvZGVDb21taXQocmVwb3NpdG9yeSwgb3B0aW9ucy5icmFuY2ggPz8gJ21haW4nLCB7XG4gICAgICB0cmlnZ2VyOiBvcHRpb25zLnRyaWdnZXIgPT09IFRyaWdnZXJUeXBlLkFVVE8gPyBDb2RlQ29tbWl0VHJpZ2dlci5FVkVOVFMgOiBDb2RlQ29tbWl0VHJpZ2dlci5OT05FLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -209,3 +209,13 @@ export interface CodeCommitOptions {
|
|
|
209
209
|
*/
|
|
210
210
|
readonly trigger?: TriggerType;
|
|
211
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Union type of all supported pipeline source types
|
|
214
|
+
*
|
|
215
|
+
* Supported sources:
|
|
216
|
+
* - S3SourceConfig: Source code from S3 bucket
|
|
217
|
+
* - GitHubSourceConfig: Source code from GitHub repository
|
|
218
|
+
* - CodeStarSourceConfig: Source code via CodeStar connection (GitHub, Bitbucket, GitLab)
|
|
219
|
+
* - CodeCommitSourceConfig: Source code from AWS CodeCommit repository
|
|
220
|
+
*/
|
|
221
|
+
export type SourceType = S3SourceConfig | GitHubSourceConfig | CodeStarSourceConfig | CodeCommitSourceConfig;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3NvdXJjZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IFRyaWdnZXJUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogUzMgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIENvZGVQaXBlbGluZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2U6IFMzU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnczMnLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgYnVja2V0TmFtZTogJ215LXNvdXJjZS1idWNrZXQnLFxuICogICAgIG9iamVjdEtleTogJ3NvdXJjZS56aXAnLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3MzJztcbiAgcmVhZG9ubHkgb3B0aW9uczogUzNPcHRpb25zO1xufVxuXG4vKipcbiAqIEdpdEh1YiBzb3VyY2UgY29uZmlndXJhdGlvbiBmb3IgQ29kZVBpcGVsaW5lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZTogR2l0SHViU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnZ2l0aHViJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnZ2l0aHViJztcbiAgcmVhZG9ubHkgb3B0aW9uczogR2l0SHViT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb2RlU3RhciBjb25uZWN0aW9uIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlU3RhclNvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ2NvZGVzdGFyJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICBjb25uZWN0aW9uQXJuOiAnYXJuOmF3czpjb2Rlc3Rhci1jb25uZWN0aW9uczouLi4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTdGFyU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NvZGVzdGFyJztcbiAgcmVhZG9ubHkgb3B0aW9uczogQ29kZVN0YXJPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUzMgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFMzIGJ1Y2tldCBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZVxuICAgKiBAZXhhbXBsZSAnbXktcGlwZWxpbmUtc291cmNlLWJ1Y2tldCdcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT2JqZWN0IGtleSAocGF0aCkgdG8gdGhlIHNvdXJjZSBhcmNoaXZlIHdpdGhpbiB0aGUgYnVja2V0XG4gICAqIEBkZWZhdWx0ICdzb3VyY2UuemlwJ1xuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0S2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB0cmlnZ2VyIGJlaGF2aW9yXG4gICAqIEBkZWZhdWx0IFRyaWdnZXJUeXBlLk5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBUcmlnZ2VyVHlwZTtcblxuICAvKipcbiAgICogQ3JvbiBleHByZXNzaW9uIGZvciBzY2hlZHVsZWQgdHJpZ2dlciAoZS5nLiwgJ2Nyb24oMCAwICogKiA/ICopJyBmb3IgZGFpbHkpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB0cmlnZ2VyIGlzIFNDSEVEVUxFLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBHaXRIdWIgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBHaXRIdWIgcmVwb3NpdG9yeSBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIGF1dGhlbnRpY2F0aW9uIHRva2VuLlxuICAgKlxuICAgKiBQcmVmZXIgYSBTZWNyZXRzIE1hbmFnZXIgcmVmZXJlbmNlIHNvIHRoZSB0b2tlbiB2YWx1ZSBuZXZlciBsYW5kcyBpbiB0aGVcbiAgICogc3ludGhlc2l6ZWQgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgLyBDREsgY29udGV4dC4gQWNjZXB0ZWQgZm9ybXM6XG4gICAqICAgLSBhIGBTZWNyZXRWYWx1ZWAgKGUuZy4gYFNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKC4uLilgKSxcbiAgICogICAtIGEgU2VjcmV0cyBNYW5hZ2VyIEFSTiBzdHJpbmcgKGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOi4uLmApLFxuICAgKiAgIC0gYSBgc2VjcmV0c21hbmFnZXI6PHNlY3JldC1uYW1lPmAgc2hvcnRoYW5kIHN0cmluZy5cbiAgICpcbiAgICogQSBnZW51aW5lIHJhdyBwbGFpbnRleHQgdG9rZW4gKGUuZy4gYSBgZ2hwXy4uLmAgUEFUKSBpcyByZWplY3RlZCBieSBkZWZhdWx0LFxuICAgKiBiZWNhdXNlIGJha2luZyBpdCBpbiB3b3VsZCBleHBvc2UgaXQgdG8gYW55b25lIHdpdGggdGVtcGxhdGUvc3RhdGUgYWNjZXNzIOKAlFxuICAgKiBzZXQge0BsaW5rIGFsbG93UGxhaW5UZXh0VG9rZW59IHRvIGludGVudGlvbmFsbHkgZW1iZWQgaXQuXG4gICAqXG4gICAqIElmIG5vdCBwcm92aWRlZCwgdXNlcyBkZWZhdWx0IEdpdEh1YiBhdXRoZW50aWNhdGlvbi4gQ29uc2lkZXIgYSBDb2RlU3RhclxuICAgKiBjb25uZWN0aW9uIChgdHlwZTogJ2NvZGVzdGFyJ2ApIGFzIHRoZSBtb2Rlcm4sIGNyZWRlbnRpYWwtZnJlZSBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW4/OiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogT3B0LWluIGVzY2FwZSBoYXRjaCB0byBlbWJlZCBhIHJhdyBwbGFpbnRleHQge0BsaW5rIHRva2VufSBkaXJlY3RseSBpbiB0aGVcbiAgICogc3ludGhlc2l6ZWQgdGVtcGxhdGUuIEluc2VjdXJlIOKAlCB0aGUgdG9rZW4gYmVjb21lcyByZWFkYWJsZSBieSBhbnlvbmUgd2l0aFxuICAgKiB0ZW1wbGF0ZSwgQ0RLIGNvbnRleHQsIG9yIHN0YWNrIHN0YXRlIGFjY2Vzcy4gTGVhdmUgdW5zZXQgKGRlZmF1bHQpIHRvIGZvcmNlXG4gICAqIGEgU2VjcmV0cyBNYW5hZ2VyIHJlZmVyZW5jZSBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dQbGFpblRleHRUb2tlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBDcm9uIGV4cHJlc3Npb24gZm9yIHNjaGVkdWxlZCB0cmlnZ2VyIChlLmcuLCAnY3JvbigwIDAgKiAqID8gKiknIGZvciBkYWlseSkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIHRyaWdnZXIgaXMgU0NIRURVTEUuXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIENvZGVTdGFyIGNvbm5lY3Rpb24gcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZVN0YXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJlcG9zaXRvcnkgaWRlbnRpZmllciBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBDb2RlU3RhciBjb25uZWN0aW9uIHRvIHVzZVxuICAgKiBDYW4gYmUgYSBzdHJpbmcgQVJOIG9yIFNlY3JldFZhbHVlXG4gICAqIEBleGFtcGxlICdhcm46YXdzOmNvZGVzdGFyLWNvbm5lY3Rpb25zOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y29ubmVjdGlvbi9hYmMxMjMnXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuOiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgdHJpZ2dlciBiZWhhdmlvclxuICAgKiBAZGVmYXVsdCBUcmlnZ2VyVHlwZS5OT05FXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyPzogVHJpZ2dlclR5cGU7XG5cbiAgLyoqXG4gICAqIENyb24gZXhwcmVzc2lvbiBmb3Igc2NoZWR1bGVkIHRyaWdnZXIgKGUuZy4sICdjcm9uKDAgMCAqICogPyAqKScgZm9yIGRhaWx5KS5cbiAgICogT25seSB1c2VkIHdoZW4gdHJpZ2dlciBpcyBTQ0hFRFVMRS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBmdWxsIGNsb25lIGNhcGFiaWxpdHkgaW4gQ29kZUJ1aWxkXG4gICAqIFdoZW4gdHJ1ZSwgQ29kZUJ1aWxkIGNhbiBwZXJmb3JtIGdpdCBvcGVyYXRpb25zIG9uIHRoZSBmdWxsIHJlcG9zaXRvcnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCdWlsZENsb25lT3V0cHV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb2RlQ29tbWl0IHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlQ29tbWl0U291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnY29kZWNvbW1pdCcsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICByZXBvc2l0b3J5TmFtZTogJ215LXJlcG8nLFxuICogICAgIGJyYW5jaDogJ21haW4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnY29kZWNvbW1pdCc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVDb21taXRPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgQ29kZUNvbW1pdCBwaXBlbGluZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29tbWl0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBDb2RlQ29tbWl0IHJlcG9zaXRvcnlcbiAgICogQGV4YW1wbGUgJ215LXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdHJhY2tcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBicmFuY2g/
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3NvdXJjZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IFRyaWdnZXJUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogUzMgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIENvZGVQaXBlbGluZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2U6IFMzU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnczMnLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgYnVja2V0TmFtZTogJ215LXNvdXJjZS1idWNrZXQnLFxuICogICAgIG9iamVjdEtleTogJ3NvdXJjZS56aXAnLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3MzJztcbiAgcmVhZG9ubHkgb3B0aW9uczogUzNPcHRpb25zO1xufVxuXG4vKipcbiAqIEdpdEh1YiBzb3VyY2UgY29uZmlndXJhdGlvbiBmb3IgQ29kZVBpcGVsaW5lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZTogR2l0SHViU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnZ2l0aHViJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnZ2l0aHViJztcbiAgcmVhZG9ubHkgb3B0aW9uczogR2l0SHViT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb2RlU3RhciBjb25uZWN0aW9uIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlU3RhclNvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ2NvZGVzdGFyJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICBjb25uZWN0aW9uQXJuOiAnYXJuOmF3czpjb2Rlc3Rhci1jb25uZWN0aW9uczouLi4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTdGFyU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NvZGVzdGFyJztcbiAgcmVhZG9ubHkgb3B0aW9uczogQ29kZVN0YXJPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUzMgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFMzIGJ1Y2tldCBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZVxuICAgKiBAZXhhbXBsZSAnbXktcGlwZWxpbmUtc291cmNlLWJ1Y2tldCdcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT2JqZWN0IGtleSAocGF0aCkgdG8gdGhlIHNvdXJjZSBhcmNoaXZlIHdpdGhpbiB0aGUgYnVja2V0XG4gICAqIEBkZWZhdWx0ICdzb3VyY2UuemlwJ1xuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0S2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB0cmlnZ2VyIGJlaGF2aW9yXG4gICAqIEBkZWZhdWx0IFRyaWdnZXJUeXBlLk5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBUcmlnZ2VyVHlwZTtcblxuICAvKipcbiAgICogQ3JvbiBleHByZXNzaW9uIGZvciBzY2hlZHVsZWQgdHJpZ2dlciAoZS5nLiwgJ2Nyb24oMCAwICogKiA/ICopJyBmb3IgZGFpbHkpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB0cmlnZ2VyIGlzIFNDSEVEVUxFLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBHaXRIdWIgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBHaXRIdWIgcmVwb3NpdG9yeSBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIGF1dGhlbnRpY2F0aW9uIHRva2VuLlxuICAgKlxuICAgKiBQcmVmZXIgYSBTZWNyZXRzIE1hbmFnZXIgcmVmZXJlbmNlIHNvIHRoZSB0b2tlbiB2YWx1ZSBuZXZlciBsYW5kcyBpbiB0aGVcbiAgICogc3ludGhlc2l6ZWQgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgLyBDREsgY29udGV4dC4gQWNjZXB0ZWQgZm9ybXM6XG4gICAqICAgLSBhIGBTZWNyZXRWYWx1ZWAgKGUuZy4gYFNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKC4uLilgKSxcbiAgICogICAtIGEgU2VjcmV0cyBNYW5hZ2VyIEFSTiBzdHJpbmcgKGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOi4uLmApLFxuICAgKiAgIC0gYSBgc2VjcmV0c21hbmFnZXI6PHNlY3JldC1uYW1lPmAgc2hvcnRoYW5kIHN0cmluZy5cbiAgICpcbiAgICogQSBnZW51aW5lIHJhdyBwbGFpbnRleHQgdG9rZW4gKGUuZy4gYSBgZ2hwXy4uLmAgUEFUKSBpcyByZWplY3RlZCBieSBkZWZhdWx0LFxuICAgKiBiZWNhdXNlIGJha2luZyBpdCBpbiB3b3VsZCBleHBvc2UgaXQgdG8gYW55b25lIHdpdGggdGVtcGxhdGUvc3RhdGUgYWNjZXNzIOKAlFxuICAgKiBzZXQge0BsaW5rIGFsbG93UGxhaW5UZXh0VG9rZW59IHRvIGludGVudGlvbmFsbHkgZW1iZWQgaXQuXG4gICAqXG4gICAqIElmIG5vdCBwcm92aWRlZCwgdXNlcyBkZWZhdWx0IEdpdEh1YiBhdXRoZW50aWNhdGlvbi4gQ29uc2lkZXIgYSBDb2RlU3RhclxuICAgKiBjb25uZWN0aW9uIChgdHlwZTogJ2NvZGVzdGFyJ2ApIGFzIHRoZSBtb2Rlcm4sIGNyZWRlbnRpYWwtZnJlZSBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW4/OiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogT3B0LWluIGVzY2FwZSBoYXRjaCB0byBlbWJlZCBhIHJhdyBwbGFpbnRleHQge0BsaW5rIHRva2VufSBkaXJlY3RseSBpbiB0aGVcbiAgICogc3ludGhlc2l6ZWQgdGVtcGxhdGUuIEluc2VjdXJlIOKAlCB0aGUgdG9rZW4gYmVjb21lcyByZWFkYWJsZSBieSBhbnlvbmUgd2l0aFxuICAgKiB0ZW1wbGF0ZSwgQ0RLIGNvbnRleHQsIG9yIHN0YWNrIHN0YXRlIGFjY2Vzcy4gTGVhdmUgdW5zZXQgKGRlZmF1bHQpIHRvIGZvcmNlXG4gICAqIGEgU2VjcmV0cyBNYW5hZ2VyIHJlZmVyZW5jZSBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dQbGFpblRleHRUb2tlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBDcm9uIGV4cHJlc3Npb24gZm9yIHNjaGVkdWxlZCB0cmlnZ2VyIChlLmcuLCAnY3JvbigwIDAgKiAqID8gKiknIGZvciBkYWlseSkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIHRyaWdnZXIgaXMgU0NIRURVTEUuXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIENvZGVTdGFyIGNvbm5lY3Rpb24gcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZVN0YXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJlcG9zaXRvcnkgaWRlbnRpZmllciBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBDb2RlU3RhciBjb25uZWN0aW9uIHRvIHVzZVxuICAgKiBDYW4gYmUgYSBzdHJpbmcgQVJOIG9yIFNlY3JldFZhbHVlXG4gICAqIEBleGFtcGxlICdhcm46YXdzOmNvZGVzdGFyLWNvbm5lY3Rpb25zOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y29ubmVjdGlvbi9hYmMxMjMnXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuOiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgdHJpZ2dlciBiZWhhdmlvclxuICAgKiBAZGVmYXVsdCBUcmlnZ2VyVHlwZS5OT05FXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyPzogVHJpZ2dlclR5cGU7XG5cbiAgLyoqXG4gICAqIENyb24gZXhwcmVzc2lvbiBmb3Igc2NoZWR1bGVkIHRyaWdnZXIgKGUuZy4sICdjcm9uKDAgMCAqICogPyAqKScgZm9yIGRhaWx5KS5cbiAgICogT25seSB1c2VkIHdoZW4gdHJpZ2dlciBpcyBTQ0hFRFVMRS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBmdWxsIGNsb25lIGNhcGFiaWxpdHkgaW4gQ29kZUJ1aWxkXG4gICAqIFdoZW4gdHJ1ZSwgQ29kZUJ1aWxkIGNhbiBwZXJmb3JtIGdpdCBvcGVyYXRpb25zIG9uIHRoZSBmdWxsIHJlcG9zaXRvcnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCdWlsZENsb25lT3V0cHV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb2RlQ29tbWl0IHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlQ29tbWl0U291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnY29kZWNvbW1pdCcsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICByZXBvc2l0b3J5TmFtZTogJ215LXJlcG8nLFxuICogICAgIGJyYW5jaDogJ21haW4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnY29kZWNvbW1pdCc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVDb21taXRPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgQ29kZUNvbW1pdCBwaXBlbGluZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29tbWl0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBDb2RlQ29tbWl0IHJlcG9zaXRvcnlcbiAgICogQGV4YW1wbGUgJ215LXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdHJhY2tcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBicmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xufVxuXG4vKipcbiAqIFVuaW9uIHR5cGUgb2YgYWxsIHN1cHBvcnRlZCBwaXBlbGluZSBzb3VyY2UgdHlwZXNcbiAqXG4gKiBTdXBwb3J0ZWQgc291cmNlczpcbiAqIC0gUzNTb3VyY2VDb25maWc6IFNvdXJjZSBjb2RlIGZyb20gUzMgYnVja2V0XG4gKiAtIEdpdEh1YlNvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgZnJvbSBHaXRIdWIgcmVwb3NpdG9yeVxuICogLSBDb2RlU3RhclNvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgdmlhIENvZGVTdGFyIGNvbm5lY3Rpb24gKEdpdEh1YiwgQml0YnVja2V0LCBHaXRMYWIpXG4gKiAtIENvZGVDb21taXRTb3VyY2VDb25maWc6IFNvdXJjZSBjb2RlIGZyb20gQVdTIENvZGVDb21taXQgcmVwb3NpdG9yeVxuICovXG5leHBvcnQgdHlwZSBTb3VyY2VUeXBlID0gUzNTb3VyY2VDb25maWcgfCBHaXRIdWJTb3VyY2VDb25maWcgfCBDb2RlU3RhclNvdXJjZUNvbmZpZyB8IENvZGVDb21taXRTb3VyY2VDb25maWc7XG4iXX0=
|
|
@@ -4,7 +4,8 @@ import { CodePipeline } from 'aws-cdk-lib/pipelines';
|
|
|
4
4
|
import { Construct } from 'constructs';
|
|
5
5
|
import { PluginLookup } from './plugin-lookup.js';
|
|
6
6
|
import { UniqueId } from '../core/id-generator.js';
|
|
7
|
-
import {
|
|
7
|
+
import { merge, resolveFailureBehavior } from '../core/metadata-helpers.js';
|
|
8
|
+
import { createCodeBuildStep } from '../core/pipeline-helpers.js';
|
|
8
9
|
/**
|
|
9
10
|
* Builds and adds pipeline stages (waves) to a CodePipeline.
|
|
10
11
|
*
|
|
@@ -125,4 +126,4 @@ export class StageBuilder {
|
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGFnZS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFHdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFvQ2pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ04sS0FBSyxDQUFZO0lBQ2pCLFlBQVksQ0FBZTtJQUMzQixRQUFRLENBQVc7SUFDbkIsY0FBYyxDQUFlO0lBQzdCLGtCQUFrQixDQUFrQjtJQUNwQyxlQUFlLENBQW1CO0lBQ2xDLEtBQUssQ0FBVTtJQUNmLGFBQWEsQ0FBMEI7SUFFeEQsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLFFBQXNCLEVBQUUsS0FBbUI7UUFDbEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLFFBQVEsQ0FBQztRQUU3RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSzthQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDO2FBQzVDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSzthQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQzthQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFOUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDM0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUNqRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQXlDLEVBQUUsU0FBaUIsRUFBRSxVQUFrQjtRQUNsRyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsNEVBQTRFO1FBQzVFLGlGQUFpRjtRQUNqRiw4RUFBOEU7UUFDOUUsNkVBQTZFO1FBQzdFLGdFQUFnRTtRQUNoRSx5RUFBeUU7UUFDekUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0csTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFdEUsSUFBSSxVQUFVLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RELE1BQU0sSUFBSSxLQUFLLENBQ2IsU0FBUyxXQUFXLGdFQUFnRSxDQUNyRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6RSxNQUFNLElBQUksS0FBSyxDQUNiLFNBQVMsV0FBVywyRUFBMkUsQ0FDaEcsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQzVELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQzFELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWU7WUFDMUYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQ2xCLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ25FLFNBQVMsSUFBSSxRQUFRLENBQUMsZUFBZTtnQkFDckMsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUMxQyxDQUFDLENBQ0g7WUFDRCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTyxtQkFBbUIsQ0FBQztZQUN6QixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU07WUFDTixRQUFRLEVBQUUsWUFBWTtZQUN0QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0MsS0FBSztZQUNMLGdCQUFnQjtZQUNoQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsU0FBUztZQUNULFVBQVU7WUFDVixXQUFXO1lBQ1gsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtZQUNqRCxtQkFBbUIsRUFBRSxVQUFVLENBQUMsbUJBQW1CO1lBQ25ELFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7WUFDckMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQ25CLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksU0FBUztZQUMxRCxvR0FBb0c7WUFDcEcsZUFBZSxFQUFFLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQzlHLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLFFBQXNCLEVBQUUsTUFBc0I7UUFDdEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQ29tcHV0ZVR5cGUgYXMgQ2RrQ29tcHV0ZVR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IENvZGVQaXBlbGluZSB9IGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFBsdWdpbkxvb2t1cCB9IGZyb20gJy4vcGx1Z2luLWxvb2t1cC5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0YWdlT3B0aW9ucyB9IGZyb20gJy4vc3RlcC10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFydGlmYWN0TWFuYWdlciB9IGZyb20gJy4uL2NvcmUvYXJ0aWZhY3QtbWFuYWdlci5qcyc7XG5pbXBvcnQgeyBVbmlxdWVJZCB9IGZyb20gJy4uL2NvcmUvaWQtZ2VuZXJhdG9yLmpzJztcbmltcG9ydCB7IGNyZWF0ZUNvZGVCdWlsZFN0ZXAsIG1lcmdlLCByZXNvbHZlRmFpbHVyZUJlaGF2aW9yIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS1oZWxwZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgTWV0YURhdGFUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhZ2VCdWlsZGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2VCdWlsZGVyUHJvcHMge1xuICAvKiogQ0RLIGNvbnN0cnVjdCBzY29wZSBmb3IgY3JlYXRpbmcgY2hpbGQgY29uc3RydWN0cyAqL1xuICByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuXG4gIC8qKiBQbHVnaW4gbG9va3VwIHNlcnZpY2UgZm9yIHJlc29sdmluZyBwbHVnaW4gcmVmZXJlbmNlcyB0byBDREsgY29uc3RydWN0cyAqL1xuICByZWFkb25seSBwbHVnaW5Mb29rdXA6IFBsdWdpbkxvb2t1cDtcblxuICAvKiogVW5pcXVlIElEIGdlbmVyYXRvciBmb3IgY3JlYXRpbmcgZGV0ZXJtaW5pc3RpYyBjb25zdHJ1Y3QgSURzICovXG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcblxuICAvKiogR2xvYmFsIG1ldGFkYXRhIGluaGVyaXRlZCBieSBhbGwgc3RhZ2Ugc3RlcHMgKi9cbiAgcmVhZG9ubHkgZ2xvYmFsTWV0YWRhdGE6IE1ldGFEYXRhVHlwZTtcblxuICAvKiogRGVmYXVsdCBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIGZvciBzdGVwcyB0aGF0IGRvbid0IHNwZWNpZnkgb25lICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb21wdXRlVHlwZT86IENka0NvbXB1dGVUeXBlO1xuXG4gIC8qKiBBcnRpZmFjdCBtYW5hZ2VyIGZvciByZXNvbHZpbmcgaW5wdXQgYXJ0aWZhY3Qga2V5cyB0byBGaWxlU2V0cyAqL1xuICByZWFkb25seSBhcnRpZmFjdE1hbmFnZXI/OiBBcnRpZmFjdE1hbmFnZXI7XG5cbiAgLyoqIFRlbmFudCBpZGVudGlmaWVyIGZvciByZXNvbHZpbmcgcGVyLW9yZyBzZWNyZXRzIGZyb20gQVdTIFNlY3JldHMgTWFuYWdlciAqL1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUtbGV2ZWwgc2NvcGUgdXNlZCB0byByZXNvbHZlIGB7eyBwaXBlbGluZS4qIH19YCB0ZW1wbGF0ZSB0b2tlbnNcbiAgICogaW5zaWRlIHBsdWdpbiBzcGVjcy4gUmVxdWlyZWQg4oCUIHBhc3NlZCB0aHJvdWdoIHRvIGBjcmVhdGVDb2RlQnVpbGRTdGVwYFxuICAgKiBvbiBldmVyeSBzdGVwLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVTY29wZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogQnVpbGRzIGFuZCBhZGRzIHBpcGVsaW5lIHN0YWdlcyAod2F2ZXMpIHRvIGEgQ29kZVBpcGVsaW5lLlxuICpcbiAqIEVhY2ggc3RhZ2UgaXMgcmVzb2x2ZWQgZnJvbSBoaWdoLWxldmVsIGNvbmZpZ3VyYXRpb24gKHBsdWdpbiBuYW1lcylcbiAqIGludG8gQ0RLIENvZGVCdWlsZCBzdGVwcyB2aWEgUGx1Z2luTG9va3VwLCB0aGVuIGFkZGVkIGFzIGEgd2F2ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3RhZ2VCdWlsZGVyID0gbmV3IFN0YWdlQnVpbGRlcih7XG4gKiAgIHNjb3BlOiB0aGlzLFxuICogICBwbHVnaW5Mb29rdXAsXG4gKiAgIHVuaXF1ZUlkLFxuICogICBnbG9iYWxNZXRhZGF0YTogbWVyZ2VkTWV0YWRhdGEsXG4gKiB9KTtcbiAqIHN0YWdlQnVpbGRlci5hZGRTdGFnZShwaXBlbGluZSwge1xuICogICBzdGFnZU5hbWU6ICdJbnRlZ3JhdGlvbiBUZXN0cycsXG4gKiAgIGFsaWFzOiAnaW50ZWdyYXRpb24nLFxuICogICBzdGVwczogW1xuICogICAgIHsgcGx1Z2luOiB7IG5hbWU6ICdqZXN0LWludGVncmF0aW9uJyB9IH0sXG4gKiAgICAgeyBwbHVnaW46IHsgbmFtZTogJ2UyZS10ZXN0cycsIGFsaWFzOiAnY3lwcmVzcycgfSB9LFxuICogICBdLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWdlQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcbiAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5Mb29rdXA6IFBsdWdpbkxvb2t1cDtcbiAgcHJpdmF0ZSByZWFkb25seSB1bmlxdWVJZDogVW5pcXVlSWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2xvYmFsTWV0YWRhdGE6IE1ldGFEYXRhVHlwZTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0Q29tcHV0ZVR5cGU/OiBDZGtDb21wdXRlVHlwZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcnRpZmFjdE1hbmFnZXI/OiBBcnRpZmFjdE1hbmFnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGlwZWxpbmVTY29wZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0YWdlQnVpbGRlclByb3BzKSB7XG4gICAgdGhpcy5zY29wZSA9IHByb3BzLnNjb3BlO1xuICAgIHRoaXMucGx1Z2luTG9va3VwID0gcHJvcHMucGx1Z2luTG9va3VwO1xuICAgIHRoaXMudW5pcXVlSWQgPSBwcm9wcy51bmlxdWVJZDtcbiAgICB0aGlzLmdsb2JhbE1ldGFkYXRhID0gcHJvcHMuZ2xvYmFsTWV0YWRhdGE7XG4gICAgdGhpcy5kZWZhdWx0Q29tcHV0ZVR5cGUgPSBwcm9wcy5kZWZhdWx0Q29tcHV0ZVR5cGU7XG4gICAgdGhpcy5hcnRpZmFjdE1hbmFnZXIgPSBwcm9wcy5hcnRpZmFjdE1hbmFnZXI7XG4gICAgdGhpcy5vcmdJZCA9IHByb3BzLm9yZ0lkO1xuICAgIHRoaXMucGlwZWxpbmVTY29wZSA9IHByb3BzLnBpcGVsaW5lU2NvcGU7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBzdGFnZSdzIHBsdWdpbi1iYXNlZCBzdGVwIGNvbmZpZ3MgaW50byBDb2RlQnVpbGQgc3RlcHNcbiAgICogYW5kIGFkZHMgdGhlbSBhcyBhIHdhdmUgdG8gdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgYWRkU3RhZ2UocGlwZWxpbmU6IENvZGVQaXBlbGluZSwgc3RhZ2U6IFN0YWdlT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHN0YWdlQWxpYXMgPSBzdGFnZS5hbGlhcyA/PyBgJHtzdGFnZS5zdGFnZU5hbWV9LWFsaWFzYDtcblxuICAgIGNvbnN0IHByZVN0ZXBzID0gc3RhZ2Uuc3RlcHNcbiAgICAgIC5maWx0ZXIocyA9PiAocy5wb3NpdGlvbiA/PyAncHJlJykgPT09ICdwcmUnKVxuICAgICAgLm1hcChzID0+IHRoaXMucmVzb2x2ZVN0ZXAocywgc3RhZ2Uuc3RhZ2VOYW1lLCBzdGFnZUFsaWFzKSk7XG4gICAgY29uc3QgcG9zdFN0ZXBzID0gc3RhZ2Uuc3RlcHNcbiAgICAgIC5maWx0ZXIocyA9PiBzLnBvc2l0aW9uID09PSAncG9zdCcpXG4gICAgICAubWFwKHMgPT4gdGhpcy5yZXNvbHZlU3RlcChzLCBzdGFnZS5zdGFnZU5hbWUsIHN0YWdlQWxpYXMpKTtcblxuICAgIHBpcGVsaW5lLmFkZFdhdmUoc3RhZ2VBbGlhcywge1xuICAgICAgLi4uKHByZVN0ZXBzLmxlbmd0aCA+IDAgJiYgeyBwcmU6IHByZVN0ZXBzIH0pLFxuICAgICAgLi4uKHBvc3RTdGVwcy5sZW5ndGggPiAwICYmIHsgcG9zdDogcG9zdFN0ZXBzIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RlcChzdGVwQ29uZmlnOiBTdGFnZU9wdGlvbnNbJ3N0ZXBzJ11bbnVtYmVyXSwgc3RhZ2VOYW1lOiBzdHJpbmcsIHN0YWdlQWxpYXM6IHN0cmluZykge1xuICAgIGNvbnN0IHBsdWdpbiA9IHRoaXMucGx1Z2luTG9va3VwLnBsdWdpbihzdGVwQ29uZmlnLnBsdWdpbik7XG4gICAgLy8gUGVyLXN0ZXAgcGx1Z2luIGNvbmZpZyBsaXZlcyBvbiB0aGUgcGx1Z2luIHJlZmVyZW5jZSAoYHBsdWdpbi5tZXRhZGF0YWAg4oCUXG4gICAgLy8gZS5nLiBKQVZBX1ZFUlNJT04vS09UTElOX1ZFUlNJT04vY29tcHV0ZXR5cGUgb3ZlcnJpZGVzKS4gcGx1Z2luTG9va3VwLnBsdWdpbigpXG4gICAgLy8gcmV0dXJucyB0aGUgcmVzb2x2ZWQgQ0FUQUxPRyBwbHVnaW4gYW5kIGRyb3BzIHRoZSByZWZlcmVuY2UgbWV0YWRhdGEgaW4gdGhlXG4gICAgLy8gcHJlLXJlc29sdmVkIHBhdGgsIHNvIG1lcmdlIGl0IGhlcmUgdG9vIOKAlCBvdGhlcndpc2UgcGVyLXN0ZXAgb3ZlcnJpZGVzIGFyZVxuICAgIC8vIHNpbGVudGx5IGlnbm9yZWQgYW5kIHRoZSBidWlsZCBmYWxscyBiYWNrIHRvIHBsdWdpbiBkZWZhdWx0cy5cbiAgICAvLyBPcmRlciAobGFzdCB3aW5zKTogZ2xvYmFsIDwgcGx1Z2luLXJlZiBtZXRhZGF0YSA8IHN0ZXAtbGV2ZWwgbWV0YWRhdGEuXG4gICAgY29uc3Qgc3RlcE1ldGFkYXRhID0gbWVyZ2UodGhpcy5nbG9iYWxNZXRhZGF0YSwgc3RlcENvbmZpZy5wbHVnaW4ubWV0YWRhdGEgPz8ge30sIHN0ZXBDb25maWcubWV0YWRhdGEgPz8ge30pO1xuICAgIGNvbnN0IHBsdWdpbkFsaWFzID0gc3RlcENvbmZpZy5wbHVnaW4uYWxpYXMgPz8gc3RlcENvbmZpZy5wbHVnaW4ubmFtZTtcblxuICAgIGlmIChzdGVwQ29uZmlnLmlucHV0QXJ0aWZhY3QgJiYgIXRoaXMuYXJ0aWZhY3RNYW5hZ2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBTdGVwIFwiJHtwbHVnaW5BbGlhc31cIiByZXF1aXJlcyBpbnB1dEFydGlmYWN0IGJ1dCBubyBhcnRpZmFjdE1hbmFnZXIgaXMgY29uZmlndXJlZC5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHN0ZXBDb25maWcuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPy5sZW5ndGggJiYgIXRoaXMuYXJ0aWZhY3RNYW5hZ2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBTdGVwIFwiJHtwbHVnaW5BbGlhc31cIiByZXF1aXJlcyBhZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMgYnV0IG5vIGFydGlmYWN0TWFuYWdlciBpcyBjb25maWd1cmVkLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0ID0gc3RlcENvbmZpZy5pbnB1dEFydGlmYWN0ICYmIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyXG4gICAgICA/IHRoaXMuYXJ0aWZhY3RNYW5hZ2VyLmdldE91dHB1dChzdGVwQ29uZmlnLmlucHV0QXJ0aWZhY3QpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGFkZGl0aW9uYWxJbnB1dHMgPSBzdGVwQ29uZmlnLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz8ubGVuZ3RoICYmIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyXG4gICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgc3RlcENvbmZpZy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMubWFwKCh7IGFydGlmYWN0LCBkaXJlY3RvcnkgfSkgPT4gW1xuICAgICAgICAgIGRpcmVjdG9yeSB8fCBhcnRpZmFjdC5vdXRwdXREaXJlY3RvcnksXG4gICAgICAgICAgdGhpcy5hcnRpZmFjdE1hbmFnZXIhLmdldE91dHB1dChhcnRpZmFjdCksXG4gICAgICAgIF0pLFxuICAgICAgKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gY3JlYXRlQ29kZUJ1aWxkU3RlcCh7XG4gICAgICBpZDogdGhpcy51bmlxdWVJZC5nZW5lcmF0ZShgc3RhZ2U6JHtzdGFnZUFsaWFzfToke3BsdWdpbkFsaWFzfWApLFxuICAgICAgdW5pcXVlSWQ6IHRoaXMudW5pcXVlSWQsXG4gICAgICBwbHVnaW4sXG4gICAgICBtZXRhZGF0YTogc3RlcE1ldGFkYXRhLFxuICAgICAgbmV0d29yazogc3RlcENvbmZpZy5uZXR3b3JrLFxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGUsXG4gICAgICBkZWZhdWx0Q29tcHV0ZVR5cGU6IHRoaXMuZGVmYXVsdENvbXB1dGVUeXBlLFxuICAgICAgaW5wdXQsXG4gICAgICBhZGRpdGlvbmFsSW5wdXRzLFxuICAgICAgYXJ0aWZhY3RNYW5hZ2VyOiB0aGlzLmFydGlmYWN0TWFuYWdlcixcbiAgICAgIHN0YWdlTmFtZSxcbiAgICAgIHN0YWdlQWxpYXMsXG4gICAgICBwbHVnaW5BbGlhcyxcbiAgICAgIHByZUluc3RhbGxDb21tYW5kczogc3RlcENvbmZpZy5wcmVJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwb3N0SW5zdGFsbENvbW1hbmRzOiBzdGVwQ29uZmlnLnBvc3RJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwcmVDb21tYW5kczogc3RlcENvbmZpZy5wcmVDb21tYW5kcyxcbiAgICAgIHBvc3RDb21tYW5kczogc3RlcENvbmZpZy5wb3N0Q29tbWFuZHMsXG4gICAgICBlbnY6IHN0ZXBDb25maWcuZW52LFxuICAgICAgdGltZW91dDogc3RlcENvbmZpZy50aW1lb3V0ID8/IHBsdWdpbi50aW1lb3V0ID8/IHVuZGVmaW5lZCxcbiAgICAgIC8vIEEgc2Nhbi9zZWN1cml0eS1jYXRlZ29yeSBwbHVnaW4gY2FuIG5ldmVyIGJlIGRvd25ncmFkZWQgZnJvbSAnZmFpbCcg4oCUIHNlZSByZXNvbHZlRmFpbHVyZUJlaGF2aW9yLlxuICAgICAgZmFpbHVyZUJlaGF2aW9yOiByZXNvbHZlRmFpbHVyZUJlaGF2aW9yKHBsdWdpbi5jYXRlZ29yeSwgc3RlcENvbmZpZy5mYWlsdXJlQmVoYXZpb3IgPz8gcGx1Z2luLmZhaWx1cmVCZWhhdmlvciksXG4gICAgICBvcmdJZDogdGhpcy5vcmdJZCxcbiAgICAgIHBpcGVsaW5lU2NvcGU6IHRoaXMucGlwZWxpbmVTY29wZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhbmQgYWRkcyBtdWx0aXBsZSBzdGFnZXMgYXMgd2F2ZXMgdG8gdGhlIHBpcGVsaW5lLCBpbiBvcmRlci5cbiAgICovXG4gIGFkZFN0YWdlcyhwaXBlbGluZTogQ29kZVBpcGVsaW5lLCBzdGFnZXM6IFN0YWdlT3B0aW9uc1tdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBzdGFnZXMpIHtcbiAgICAgIHRoaXMuYWRkU3RhZ2UocGlwZWxpbmUsIHN0YWdlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGFnZS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFHdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFvQ2xFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ04sS0FBSyxDQUFZO0lBQ2pCLFlBQVksQ0FBZTtJQUMzQixRQUFRLENBQVc7SUFDbkIsY0FBYyxDQUFlO0lBQzdCLGtCQUFrQixDQUFrQjtJQUNwQyxlQUFlLENBQW1CO0lBQ2xDLEtBQUssQ0FBVTtJQUNmLGFBQWEsQ0FBMEI7SUFFeEQsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFl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QUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLFFBQXNCLEVBQUUsTUFBc0I7UUFDdEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQ29tcHV0ZVR5cGUgYXMgQ2RrQ29tcHV0ZVR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IENvZGVQaXBlbGluZSB9IGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFBsdWdpbkxvb2t1cCB9IGZyb20gJy4vcGx1Z2luLWxvb2t1cC5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0YWdlT3B0aW9ucyB9IGZyb20gJy4vc3RlcC10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFydGlmYWN0TWFuYWdlciB9IGZyb20gJy4uL2NvcmUvYXJ0aWZhY3QtbWFuYWdlci5qcyc7XG5pbXBvcnQgeyBVbmlxdWVJZCB9IGZyb20gJy4uL2NvcmUvaWQtZ2VuZXJhdG9yLmpzJztcbmltcG9ydCB7IG1lcmdlLCByZXNvbHZlRmFpbHVyZUJlaGF2aW9yIH0gZnJvbSAnLi4vY29yZS9tZXRhZGF0YS1oZWxwZXJzLmpzJztcbmltcG9ydCB7IGNyZWF0ZUNvZGVCdWlsZFN0ZXAgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLWhlbHBlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXRhRGF0YVR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBTdGFnZUJ1aWxkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFnZUJ1aWxkZXJQcm9wcyB7XG4gIC8qKiBDREsgY29uc3RydWN0IHNjb3BlIGZvciBjcmVhdGluZyBjaGlsZCBjb25zdHJ1Y3RzICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqIFBsdWdpbiBsb29rdXAgc2VydmljZSBmb3IgcmVzb2x2aW5nIHBsdWdpbiByZWZlcmVuY2VzIHRvIENESyBjb25zdHJ1Y3RzICovXG4gIHJlYWRvbmx5IHBsdWdpbkxvb2t1cDogUGx1Z2luTG9va3VwO1xuXG4gIC8qKiBVbmlxdWUgSUQgZ2VuZXJhdG9yIGZvciBjcmVhdGluZyBkZXRlcm1pbmlzdGljIGNvbnN0cnVjdCBJRHMgKi9cbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuXG4gIC8qKiBHbG9iYWwgbWV0YWRhdGEgaW5oZXJpdGVkIGJ5IGFsbCBzdGFnZSBzdGVwcyAqL1xuICByZWFkb25seSBnbG9iYWxNZXRhZGF0YTogTWV0YURhdGFUeXBlO1xuXG4gIC8qKiBEZWZhdWx0IENvZGVCdWlsZCBjb21wdXRlIHR5cGUgZm9yIHN0ZXBzIHRoYXQgZG9uJ3Qgc3BlY2lmeSBvbmUgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbXB1dGVUeXBlPzogQ2RrQ29tcHV0ZVR5cGU7XG5cbiAgLyoqIEFydGlmYWN0IG1hbmFnZXIgZm9yIHJlc29sdmluZyBpbnB1dCBhcnRpZmFjdCBrZXlzIHRvIEZpbGVTZXRzICovXG4gIHJlYWRvbmx5IGFydGlmYWN0TWFuYWdlcj86IEFydGlmYWN0TWFuYWdlcjtcblxuICAvKiogVGVuYW50IGlkZW50aWZpZXIgZm9yIHJlc29sdmluZyBwZXItb3JnIHNlY3JldHMgZnJvbSBBV1MgU2VjcmV0cyBNYW5hZ2VyICovXG4gIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZS1sZXZlbCBzY29wZSB1c2VkIHRvIHJlc29sdmUgYHt7IHBpcGVsaW5lLiogfX1gIHRlbXBsYXRlIHRva2Vuc1xuICAgKiBpbnNpZGUgcGx1Z2luIHNwZWNzLiBSZXF1aXJlZCDigJQgcGFzc2VkIHRocm91Z2ggdG8gYGNyZWF0ZUNvZGVCdWlsZFN0ZXBgXG4gICAqIG9uIGV2ZXJ5IHN0ZXAuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYW5kIGFkZHMgcGlwZWxpbmUgc3RhZ2VzICh3YXZlcykgdG8gYSBDb2RlUGlwZWxpbmUuXG4gKlxuICogRWFjaCBzdGFnZSBpcyByZXNvbHZlZCBmcm9tIGhpZ2gtbGV2ZWwgY29uZmlndXJhdGlvbiAocGx1Z2luIG5hbWVzKVxuICogaW50byBDREsgQ29kZUJ1aWxkIHN0ZXBzIHZpYSBQbHVnaW5Mb29rdXAsIHRoZW4gYWRkZWQgYXMgYSB3YXZlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGFnZUJ1aWxkZXIgPSBuZXcgU3RhZ2VCdWlsZGVyKHtcbiAqICAgc2NvcGU6IHRoaXMsXG4gKiAgIHBsdWdpbkxvb2t1cCxcbiAqICAgdW5pcXVlSWQsXG4gKiAgIGdsb2JhbE1ldGFkYXRhOiBtZXJnZWRNZXRhZGF0YSxcbiAqIH0pO1xuICogc3RhZ2VCdWlsZGVyLmFkZFN0YWdlKHBpcGVsaW5lLCB7XG4gKiAgIHN0YWdlTmFtZTogJ0ludGVncmF0aW9uIFRlc3RzJyxcbiAqICAgYWxpYXM6ICdpbnRlZ3JhdGlvbicsXG4gKiAgIHN0ZXBzOiBbXG4gKiAgICAgeyBwbHVnaW46IHsgbmFtZTogJ2plc3QtaW50ZWdyYXRpb24nIH0gfSxcbiAqICAgICB7IHBsdWdpbjogeyBuYW1lOiAnZTJlLXRlc3RzJywgYWxpYXM6ICdjeXByZXNzJyB9IH0sXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU3RhZ2VCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbkxvb2t1cDogUGx1Z2luTG9va3VwO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxNZXRhZGF0YTogTWV0YURhdGFUeXBlO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRDb21wdXRlVHlwZT86IENka0NvbXB1dGVUeXBlO1xuICBwcml2YXRlIHJlYWRvbmx5IGFydGlmYWN0TWFuYWdlcj86IEFydGlmYWN0TWFuYWdlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwaXBlbGluZVNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RhZ2VCdWlsZGVyUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gcHJvcHMuc2NvcGU7XG4gICAgdGhpcy5wbHVnaW5Mb29rdXAgPSBwcm9wcy5wbHVnaW5Mb29rdXA7XG4gICAgdGhpcy51bmlxdWVJZCA9IHByb3BzLnVuaXF1ZUlkO1xuICAgIHRoaXMuZ2xvYmFsTWV0YWRhdGEgPSBwcm9wcy5nbG9iYWxNZXRhZGF0YTtcbiAgICB0aGlzLmRlZmF1bHRDb21wdXRlVHlwZSA9IHByb3BzLmRlZmF1bHRDb21wdXRlVHlwZTtcbiAgICB0aGlzLmFydGlmYWN0TWFuYWdlciA9IHByb3BzLmFydGlmYWN0TWFuYWdlcjtcbiAgICB0aGlzLm9yZ0lkID0gcHJvcHMub3JnSWQ7XG4gICAgdGhpcy5waXBlbGluZVNjb3BlID0gcHJvcHMucGlwZWxpbmVTY29wZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIHN0YWdlJ3MgcGx1Z2luLWJhc2VkIHN0ZXAgY29uZmlncyBpbnRvIENvZGVCdWlsZCBzdGVwc1xuICAgKiBhbmQgYWRkcyB0aGVtIGFzIGEgd2F2ZSB0byB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICBhZGRTdGFnZShwaXBlbGluZTogQ29kZVBpcGVsaW5lLCBzdGFnZTogU3RhZ2VPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhZ2VBbGlhcyA9IHN0YWdlLmFsaWFzID8/IGAke3N0YWdlLnN0YWdlTmFtZX0tYWxpYXNgO1xuXG4gICAgY29uc3QgcHJlU3RlcHMgPSBzdGFnZS5zdGVwc1xuICAgICAgLmZpbHRlcihzID0+IChzLnBvc2l0aW9uID8/ICdwcmUnKSA9PT0gJ3ByZScpXG4gICAgICAubWFwKHMgPT4gdGhpcy5yZXNvbHZlU3RlcChzLCBzdGFnZS5zdGFnZU5hbWUsIHN0YWdlQWxpYXMpKTtcbiAgICBjb25zdCBwb3N0U3RlcHMgPSBzdGFnZS5zdGVwc1xuICAgICAgLmZpbHRlcihzID0+IHMucG9zaXRpb24gPT09ICdwb3N0JylcbiAgICAgIC5tYXAocyA9PiB0aGlzLnJlc29sdmVTdGVwKHMsIHN0YWdlLnN0YWdlTmFtZSwgc3RhZ2VBbGlhcykpO1xuXG4gICAgcGlwZWxpbmUuYWRkV2F2ZShzdGFnZUFsaWFzLCB7XG4gICAgICAuLi4ocHJlU3RlcHMubGVuZ3RoID4gMCAmJiB7IHByZTogcHJlU3RlcHMgfSksXG4gICAgICAuLi4ocG9zdFN0ZXBzLmxlbmd0aCA+IDAgJiYgeyBwb3N0OiBwb3N0U3RlcHMgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTdGVwKHN0ZXBDb25maWc6IFN0YWdlT3B0aW9uc1snc3RlcHMnXVtudW1iZXJdLCBzdGFnZU5hbWU6IHN0cmluZywgc3RhZ2VBbGlhczogc3RyaW5nKSB7XG4gICAgY29uc3QgcGx1Z2luID0gdGhpcy5wbHVnaW5Mb29rdXAucGx1Z2luKHN0ZXBDb25maWcucGx1Z2luKTtcbiAgICAvLyBQZXItc3RlcCBwbHVnaW4gY29uZmlnIGxpdmVzIG9uIHRoZSBwbHVnaW4gcmVmZXJlbmNlIChgcGx1Z2luLm1ldGFkYXRhYCDigJRcbiAgICAvLyBlLmcuIEpBVkFfVkVSU0lPTi9LT1RMSU5fVkVSU0lPTi9jb21wdXRldHlwZSBvdmVycmlkZXMpLiBwbHVnaW5Mb29rdXAucGx1Z2luKClcbiAgICAvLyByZXR1cm5zIHRoZSByZXNvbHZlZCBDQVRBTE9HIHBsdWdpbiBhbmQgZHJvcHMgdGhlIHJlZmVyZW5jZSBtZXRhZGF0YSBpbiB0aGVcbiAgICAvLyBwcmUtcmVzb2x2ZWQgcGF0aCwgc28gbWVyZ2UgaXQgaGVyZSB0b28g4oCUIG90aGVyd2lzZSBwZXItc3RlcCBvdmVycmlkZXMgYXJlXG4gICAgLy8gc2lsZW50bHkgaWdub3JlZCBhbmQgdGhlIGJ1aWxkIGZhbGxzIGJhY2sgdG8gcGx1Z2luIGRlZmF1bHRzLlxuICAgIC8vIE9yZGVyIChsYXN0IHdpbnMpOiBnbG9iYWwgPCBwbHVnaW4tcmVmIG1ldGFkYXRhIDwgc3RlcC1sZXZlbCBtZXRhZGF0YS5cbiAgICBjb25zdCBzdGVwTWV0YWRhdGEgPSBtZXJnZSh0aGlzLmdsb2JhbE1ldGFkYXRhLCBzdGVwQ29uZmlnLnBsdWdpbi5tZXRhZGF0YSA/PyB7fSwgc3RlcENvbmZpZy5tZXRhZGF0YSA/PyB7fSk7XG4gICAgY29uc3QgcGx1Z2luQWxpYXMgPSBzdGVwQ29uZmlnLnBsdWdpbi5hbGlhcyA/PyBzdGVwQ29uZmlnLnBsdWdpbi5uYW1lO1xuXG4gICAgaWYgKHN0ZXBDb25maWcuaW5wdXRBcnRpZmFjdCAmJiAhdGhpcy5hcnRpZmFjdE1hbmFnZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFN0ZXAgXCIke3BsdWdpbkFsaWFzfVwiIHJlcXVpcmVzIGlucHV0QXJ0aWZhY3QgYnV0IG5vIGFydGlmYWN0TWFuYWdlciBpcyBjb25maWd1cmVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc3RlcENvbmZpZy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM/Lmxlbmd0aCAmJiAhdGhpcy5hcnRpZmFjdE1hbmFnZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFN0ZXAgXCIke3BsdWdpbkFsaWFzfVwiIHJlcXVpcmVzIGFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cyBidXQgbm8gYXJ0aWZhY3RNYW5hZ2VyIGlzIGNvbmZpZ3VyZWQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQgPSBzdGVwQ29uZmlnLmlucHV0QXJ0aWZhY3QgJiYgdGhpcy5hcnRpZmFjdE1hbmFnZXJcbiAgICAgID8gdGhpcy5hcnRpZmFjdE1hbmFnZXIuZ2V0T3V0cHV0KHN0ZXBDb25maWcuaW5wdXRBcnRpZmFjdClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYWRkaXRpb25hbElucHV0cyA9IHN0ZXBDb25maWcuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPy5sZW5ndGggJiYgdGhpcy5hcnRpZmFjdE1hbmFnZXJcbiAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBzdGVwQ29uZmlnLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cy5tYXAoKHsgYXJ0aWZhY3QsIGRpcmVjdG9yeSB9KSA9PiBbXG4gICAgICAgICAgZGlyZWN0b3J5IHx8IGFydGlmYWN0Lm91dHB1dERpcmVjdG9yeSxcbiAgICAgICAgICB0aGlzLmFydGlmYWN0TWFuYWdlciEuZ2V0T3V0cHV0KGFydGlmYWN0KSxcbiAgICAgICAgXSksXG4gICAgICApXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBjcmVhdGVDb2RlQnVpbGRTdGVwKHtcbiAgICAgIGlkOiB0aGlzLnVuaXF1ZUlkLmdlbmVyYXRlKGBzdGFnZToke3N0YWdlQWxpYXN9OiR7cGx1Z2luQWxpYXN9YCksXG4gICAgICB1bmlxdWVJZDogdGhpcy51bmlxdWVJZCxcbiAgICAgIHBsdWdpbixcbiAgICAgIG1ldGFkYXRhOiBzdGVwTWV0YWRhdGEsXG4gICAgICBuZXR3b3JrOiBzdGVwQ29uZmlnLm5ldHdvcmssXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIGRlZmF1bHRDb21wdXRlVHlwZTogdGhpcy5kZWZhdWx0Q29tcHV0ZVR5cGUsXG4gICAgICBpbnB1dCxcbiAgICAgIGFkZGl0aW9uYWxJbnB1dHMsXG4gICAgICBhcnRpZmFjdE1hbmFnZXI6IHRoaXMuYXJ0aWZhY3RNYW5hZ2VyLFxuICAgICAgc3RhZ2VOYW1lLFxuICAgICAgc3RhZ2VBbGlhcyxcbiAgICAgIHBsdWdpbkFsaWFzLFxuICAgICAgcHJlSW5zdGFsbENvbW1hbmRzOiBzdGVwQ29uZmlnLnByZUluc3RhbGxDb21tYW5kcyxcbiAgICAgIHBvc3RJbnN0YWxsQ29tbWFuZHM6IHN0ZXBDb25maWcucG9zdEluc3RhbGxDb21tYW5kcyxcbiAgICAgIHByZUNvbW1hbmRzOiBzdGVwQ29uZmlnLnByZUNvbW1hbmRzLFxuICAgICAgcG9zdENvbW1hbmRzOiBzdGVwQ29uZmlnLnBvc3RDb21tYW5kcyxcbiAgICAgIGVudjogc3RlcENvbmZpZy5lbnYsXG4gICAgICB0aW1lb3V0OiBzdGVwQ29uZmlnLnRpbWVvdXQgPz8gcGx1Z2luLnRpbWVvdXQgPz8gdW5kZWZpbmVkLFxuICAgICAgLy8gQSBzY2FuL3NlY3VyaXR5LWNhdGVnb3J5IHBsdWdpbiBjYW4gbmV2ZXIgYmUgZG93bmdyYWRlZCBmcm9tICdmYWlsJyDigJQgc2VlIHJlc29sdmVGYWlsdXJlQmVoYXZpb3IuXG4gICAgICBmYWlsdXJlQmVoYXZpb3I6IHJlc29sdmVGYWlsdXJlQmVoYXZpb3IocGx1Z2luLmNhdGVnb3J5LCBzdGVwQ29uZmlnLmZhaWx1cmVCZWhhdmlvciA/PyBwbHVnaW4uZmFpbHVyZUJlaGF2aW9yKSxcbiAgICAgIG9yZ0lkOiB0aGlzLm9yZ0lkLFxuICAgICAgcGlwZWxpbmVTY29wZTogdGhpcy5waXBlbGluZVNjb3BlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGFuZCBhZGRzIG11bHRpcGxlIHN0YWdlcyBhcyB3YXZlcyB0byB0aGUgcGlwZWxpbmUsIGluIG9yZGVyLlxuICAgKi9cbiAgYWRkU3RhZ2VzKHBpcGVsaW5lOiBDb2RlUGlwZWxpbmUsIHN0YWdlczogU3RhZ2VPcHRpb25zW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgdGhpcy5hZGRTdGFnZShwaXBlbGluZSwgc3RhZ2UpO1xuICAgIH1cbiAgfVxufVxuIl19
|