cdklabs-projen-project-types 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +597 -18
- package/.yarn/install-state.gz +0 -0
- package/API.md +732 -20
- package/README.md +24 -0
- package/lib/cdk.js +2 -2
- package/lib/cdklabs.js +3 -3
- package/lib/jsii.js +1 -1
- package/lib/rosetta.d.ts +2 -2
- package/lib/rosetta.js +2 -2
- package/lib/yarn/constraints.js +1 -1
- package/lib/yarn/index.d.ts +1 -0
- package/lib/yarn/index.js +2 -1
- package/lib/yarn/jsii-build.d.ts +38 -0
- package/lib/yarn/jsii-build.js +60 -0
- package/lib/yarn/monorepo-release.js +4 -3
- package/lib/yarn/monorepo.js +2 -2
- package/lib/yarn/typescript-workspace-release.d.ts +1 -0
- package/lib/yarn/typescript-workspace-release.js +3 -2
- package/lib/yarn/typescript-workspace.d.ts +2 -0
- package/lib/yarn/typescript-workspace.js +6 -2
- package/package.json +3 -3
package/lib/yarn/monorepo.js
CHANGED
|
@@ -256,7 +256,7 @@ class Monorepo extends projen_1.typescript.TypeScriptProject {
|
|
|
256
256
|
}
|
|
257
257
|
exports.Monorepo = Monorepo;
|
|
258
258
|
_a = JSII_RTTI_SYMBOL_1;
|
|
259
|
-
Monorepo[_a] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.
|
|
259
|
+
Monorepo[_a] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.5.1" };
|
|
260
260
|
function getObjFromFile(project, file) {
|
|
261
261
|
return project.tryFindObjectFile(file)?.obj;
|
|
262
262
|
}
|
|
@@ -292,5 +292,5 @@ class CdkLabsMonorepo extends Monorepo {
|
|
|
292
292
|
}
|
|
293
293
|
exports.CdkLabsMonorepo = CdkLabsMonorepo;
|
|
294
294
|
_b = JSII_RTTI_SYMBOL_1;
|
|
295
|
-
CdkLabsMonorepo[_b] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.
|
|
295
|
+
CdkLabsMonorepo[_b] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.5.1" };
|
|
296
296
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveWFybi9tb25vcmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE2QztBQUM3QyxtQ0FBc0c7QUFDdEcsK0NBQTRDO0FBRTVDLHlEQUFxRDtBQUNyRCw2QkFBMEI7QUFHMUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsbUJBQVUsQ0FBQyxpQkFBaUI7SUFDakQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFVO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFjRCxZQUE0QixPQUF3QjtRQUNsRCxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixjQUFjLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsWUFBWTtZQUN6SCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCO2dCQUMzQixhQUFhLEVBQUU7b0JBQ2IsVUFBVSxFQUFFLG1CQUFVLENBQUMsY0FBYyxDQUFDLFlBQVk7b0JBQ2xELEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLGFBQWE7aUJBQzNDO2FBQ0YsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNiLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQWZ1QixZQUFPLEdBQVAsT0FB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Qzs7O0FBTUQsU0FBUyxjQUFjLENBQUMsT0FBZ0IsRUFBRSxJQUFZO0lBQ3BELE9BQVEsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBUyxFQUFFLEdBQUcsQ0FBQztBQUN2RCxDQUFDO0FBT0Q7OztHQUdHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLFFBQVE7SUFDM0MsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSTtZQUVoQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLGtCQUFrQixFQUFFO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztnQkFDekUsTUFBTSxFQUFFLGNBQWM7YUFDdkI7WUFDRCxHQUFHLE9BQU87WUFDVixhQUFhLEVBQUU7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsYUFBYTtnQkFDeEIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNELDZHQUE2RztZQUM3RywrRkFBK0Y7WUFDL0YsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixJQUFJLE9BQU87U0FDNUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxlQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUMxQixnQkFBZ0IsRUFBRTtnQkFDaEIsaUJBQWlCLEVBQUUsZUFBTSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLENBQUM7YUFDdkc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFCSCwwQ0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoUG9zaXggZnJvbSAnbm9kZTpwYXRoL3Bvc2l4JztcbmltcG9ydCB7IEpzb25GaWxlLCBQcm9qZWN0LCBqYXZhc2NyaXB0LCB0eXBlc2NyaXB0LCBnaXRodWIsIERlcGVuZGVuY3lUeXBlLCBKc29uUGF0Y2ggfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ29uc3RyYWludHMgfSBmcm9tICcuL2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IE1vbm9yZXBvT3B0aW9ucyB9IGZyb20gJy4vbW9ub3JlcG8tb3B0aW9ucyc7XG5pbXBvcnQgeyBNb25vcmVwb1JlbGVhc2UgfSBmcm9tICcuL21vbm9yZXBvLXJlbGVhc2UnO1xuaW1wb3J0IHsgTnggfSBmcm9tICcuL254JztcbmltcG9ydCB7IFR5cGVTY3JpcHRXb3Jrc3BhY2UgfSBmcm9tICcuL3R5cGVzY3JpcHQtd29ya3NwYWNlJztcblxuY29uc3QgTU9OT1JFUE9fU1lNID0gU3ltYm9sLmZvcignY2RrbGFicy1wcm9qZW4tcHJvamVjdC10eXBlcy55YXJuLk1vbm9yZXBvJyk7XG5cbi8qKlxuICogQSBtb25vcmVwbyB1c2luZyB5YXJuIHdvcmtzcGFjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb25vcmVwbyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuICBwdWJsaWMgc3RhdGljIGlzTW9ub3JlcG8oeDogUHJvamVjdCk6IHggaXMgTW9ub3JlcG8ge1xuICAgIHJldHVybiBCb29sZWFuKHggJiYgdHlwZW9mIHggPT09ICdvYmplY3QnICYmIE1PTk9SRVBPX1NZTSBpbiB4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgTW9ub3JlcG8gUmVsZWFzZSBjb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtb25vcmVwb1JlbGVhc2U/OiBNb25vcmVwb1JlbGVhc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgd2hlcmUgdGhlIGFjdHVhbCBjb2RlIGZvciB0aGUgcGFja2FnZSBsaXZlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXBvc2l0b3J5VXJsPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcG9zdEluc3RhbGxEZXBlbmRlbmNpZXMgPSBuZXcgQXJyYXk8KCkgPT4gc3RyaW5nW10+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IE1vbm9yZXBvT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBwYWNrYWdlTWFuYWdlcjogb3B0aW9ucy55YXJuQmVycnkgPyBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOX0JFUlJZIDogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuWUFSTl9DTEFTU0lDLFxuICAgICAgeWFybkJlcnJ5T3B0aW9uczogb3B0aW9ucy55YXJuQmVycnkgPyB7XG4gICAgICAgIC4uLm9wdGlvbnMueWFybkJlcnJ5T3B0aW9ucyxcbiAgICAgICAgeWFyblJjT3B0aW9uczoge1xuICAgICAgICAgIG5vZGVMaW5rZXI6IGphdmFzY3JpcHQuWWFybk5vZGVMaW5rZXIuTk9ERV9NT0RVTEVTLFxuICAgICAgICAgIC4uLm9wdGlvbnMueWFybkJlcnJ5T3B0aW9ucz8ueWFyblJjT3B0aW9ucyxcbiAgICAgICAgfSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgIGplc3Q6IGZhbHNlLFxuICAgICAgZXNsaW50OiBmYWxzZSxcbiAgICAgIHJlbGVhc2U6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIE1PTk9SRVBPX1NZTSwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMucmVwb3NpdG9yeVVybCA9IG9wdGlvbnMucmVwb3NpdG9yeTtcbiAgICBjb25zdCBidWlsZFdpdGhOeCA9IEJvb2xlYW4ob3B0aW9ucy5ueCAmJiBvcHRpb25zLmJ1aWxkV2l0aE54KTtcblxuICAgIC8vIFlhcm4gQmVycnkgZGVwZW5kZW5jaWVzTWV0YSBmb3IgYnVpbGRhYmxlIHBhY2thZ2VzXG4gICAgaWYgKG9wdGlvbnMuYnVpbGRhYmxlUGFja2FnZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdkZXBlbmRlbmNpZXNNZXRhJywgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBvcHRpb25zLmJ1aWxkYWJsZVBhY2thZ2VzLm1hcCgocGtnKSA9PiBbcGtnLCB7IGJ1aWx0OiB0cnVlIH1dKSxcbiAgICAgICkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXR0aWVyIGZvcm1hdHRpbmdcbiAgICAgKi9cbiAgICBpZiAob3B0aW9ucy5wcmV0dGllcikge1xuICAgICAgdGhpcy5hZGREZXZEZXBzKCdlc2xpbnQtY29uZmlnLXByZXR0aWVyJywgJ2VzbGludC1wbHVnaW4tcHJldHRpZXInKTtcbiAgICAgIG5ldyBKc29uRmlsZSh0aGlzLCAnLmVzbGludHJjLmpzb24nLCB7XG4gICAgICAgIGFsbG93Q29tbWVudHM6IHRydWUsXG4gICAgICAgIG9iajoge1xuICAgICAgICAgIHBsdWdpbnM6IFsnQHR5cGVzY3JpcHQtZXNsaW50JywgJ3ByZXR0aWVyJ10sXG4gICAgICAgICAgcGFyc2VyOiAnQHR5cGVzY3JpcHQtZXNsaW50L3BhcnNlcicsXG4gICAgICAgICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgICAgICAgZWNtYVZlcnNpb246IDIwMTgsXG4gICAgICAgICAgICBzb3VyY2VUeXBlOiAnbW9kdWxlJyxcbiAgICAgICAgICAgIHByb2plY3Q6ICcuL3RzY29uZmlnLmRldi5qc29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbJyEucHJvamVucmMudHMnXSxcbiAgICAgICAgICBleHRlbmRzOiBbJ3BsdWdpbjpwcmV0dGllci9yZWNvbW1lbmRlZCddLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0aGlzLnRhc2tzLmFkZFRhc2soJ2ZtdCcsIHsgZXhlYzogJ2VzbGludCAtLWV4dCAudHMgLS1maXggLS1uby1lcnJvci1vbi11bm1hdGNoZWQtcGF0dGVybiBwcm9qZW5yYyAucHJvamVucmMudHMnIH0pO1xuXG4gICAgICB0aGlzLnZzY29kZT8uZXh0ZW5zaW9ucy5hZGRSZWNvbW1lbmRhdGlvbnMoJ2VzYmVucC5wcmV0dGllci12c2NvZGUnLCAnZGJhZXVtZXIudnNjb2RlLWVzbGludCcpO1xuICAgICAgdGhpcy52c2NvZGU/LnNldHRpbmdzLmFkZFNldHRpbmcoJ2VkaXRvci5kZWZhdWx0Rm9ybWF0dGVyJywgJ2VzYmVucC5wcmV0dGllci12c2NvZGUnKTtcbiAgICAgIHRoaXMudnNjb2RlPy5zZXR0aW5ncy5hZGRTZXR0aW5nKCdlc2xpbnQuZm9ybWF0LmVuYWJsZScsIHRydWUpO1xuICAgICAgdGhpcy52c2NvZGU/LnNldHRpbmdzLmFkZFNldHRpbmdzKHsgJ2VkaXRvci5kZWZhdWx0Rm9ybWF0dGVyJzogJ2RiYWV1bWVyLnZzY29kZS1lc2xpbnQnIH0sIFtcbiAgICAgICAgJ2phdmFzY3JpcHQnLFxuICAgICAgICAndHlwZXNjcmlwdCcsXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBWU0NvZGUgV29ya3NwYWNlXG4gICAgICovXG4gICAgaWYgKG9wdGlvbnMudnNjb2RlV29ya3NwYWNlKSB7XG4gICAgICBjb25zdCB3b3Jrc3BhY2VGaWxlID0gYCR7dGhpcy5uYW1lfS5jb2RlLXdvcmtzcGFjZWA7XG4gICAgICBuZXcgSnNvbkZpbGUodGhpcywgd29ya3NwYWNlRmlsZSwge1xuICAgICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgICBvYmo6ICgpID0+ICh7XG4gICAgICAgICAgZm9sZGVyczogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9sZGVyczogQXJyYXk8e1xuICAgICAgICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICB9PiA9IHRoaXMuc3VicHJvamVjdHNcbiAgICAgICAgICAgICAgLnNvcnQoKHAxLCBwMikgPT4gcDEubmFtZS5sb2NhbGVDb21wYXJlKHAyLm5hbWUpKVxuICAgICAgICAgICAgICAubWFwKChwKSA9PiAoeyBwYXRoOiBwLndvcmtzcGFjZURpcmVjdG9yeSB9KSk7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnZzY29kZVdvcmtzcGFjZU9wdGlvbnM/LmluY2x1ZGVSb290V29ya3NwYWNlKSB7XG4gICAgICAgICAgICAgIGZvbGRlcnMudW5zaGlmdCh7IHBhdGg6ICcuJywgbmFtZTogb3B0aW9ucy52c2NvZGVXb3Jrc3BhY2VPcHRpb25zPy5yb290V29ya3NwYWNlTmFtZSA/PyAnPHJvb3Q+JyB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZvbGRlcnM7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXR0aW5nczogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSAoZ2V0T2JqRnJvbUZpbGUodGhpcywgJy52c2NvZGUvc2V0dGluZ3MuanNvbicpID8/IHt9KSBhcyBhbnk7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy52c2NvZGVXb3Jrc3BhY2VPcHRpb25zPy5pbmNsdWRlUm9vdFdvcmtzcGFjZSAmJiB0aGlzLnN1YnByb2plY3RzLmxlbmd0aCkge1xuICAgICAgICAgICAgICBzZXR0aW5nc1snZmlsZXMuZXhjbHVkZSddID0gdGhpcy5zdWJwcm9qZWN0cy5yZWR1Y2UoKGV4Y2x1ZGVzLCBwKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLmV4Y2x1ZGVzLFxuICAgICAgICAgICAgICAgICAgW3Aud29ya3NwYWNlRGlyZWN0b3J5LnNwbGl0KHBhdGhQb3NpeC5zZXApWzBdXTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9LCBzZXR0aW5nc1snZmlsZXMuZXhjbHVkZSddID8/IHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzZXR0aW5ncztcbiAgICAgICAgICB9LFxuICAgICAgICAgIGV4dGVuc2lvbnM6ICgpID0+IGdldE9iakZyb21GaWxlKHRoaXMsICcudnNjb2RlL2V4dGVuc2lvbnMuanNvbicpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRhc2tzXG4gICAgICovXG4gICAgLy8gYnVpbGQgdGFza1xuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygnYnVpbGQnKTtcbiAgICBjb25zdCBmbXRUYXNrID0gdGhpcy50YXNrcy50cnlGaW5kKCdmbXQnKTtcbiAgICBjb25zdCBidWlsZFRhc2sgPSB0aGlzLnRhc2tzLmFkZFRhc2soJ2J1aWxkJyk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRhc2spIHtcbiAgICAgIGJ1aWxkVGFzay5zcGF3bih0aGlzLmRlZmF1bHRUYXNrKTtcbiAgICB9XG4gICAgaWYgKGZtdFRhc2spIHtcbiAgICAgIGJ1aWxkVGFzay5zcGF3bihmbXRUYXNrKTtcbiAgICB9XG4gICAgY29uc3Qgd3NSdW4gPSBvcHRpb25zLnlhcm5CZXJyeSA/ICd5YXJuIHdvcmtzcGFjZXMgZm9yZWFjaCAtLWFsbCAtLWV4Y2x1ZGUgLiAtLXRvcG9sb2dpY2FsLWRldiBydW4nIDogJ3lhcm4gd29ya3NwYWNlcyBydW4nO1xuXG4gICAgaWYgKGJ1aWxkV2l0aE54KSB7XG4gICAgICBidWlsZFRhc2suZXhlYygnbnggcnVuLW1hbnkgLXQgYnVpbGQnKTtcbiAgICAgIHRoaXMuZ2l0aHViPy50cnlGaW5kV29ya2Zsb3coJ2J1aWxkJyk/LmZpbGU/LnBhdGNoKFxuICAgICAgICBKc29uUGF0Y2guYWRkKCcvam9icy9idWlsZC9lbnYvTlhfU0tJUF9OWF9DQUNIRScsICd0cnVlJyksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWlsZFRhc2suZXhlYyhgJHt3c1J1bn0gYnVpbGRgKTtcbiAgICB9XG5cbiAgICAvLyBSdW4gaW4gYWxsIHdvcmtzcGFjZXMgdGFza3NcbiAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ2NvbXBpbGUnKT8ucmVzZXQoYCR7d3NSdW59IGNvbXBpbGVgKTtcbiAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ3BhY2thZ2UnKT8ucmVzZXQoYCR7d3NSdW59IHBhY2thZ2VgKTtcbiAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ3Rlc3QnKT8ucmVzZXQoYCR7d3NSdW59IHRlc3RgKTtcbiAgICB0aGlzLmFkZFRhc2soJ3J1bicsIHtcbiAgICAgIGV4ZWM6IHdzUnVuLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBVcGdyYWRlIGFsbCBwYWNrYWdlc1xuICAgIGNvbnN0IGNvb2xkb3duID0gb3B0aW9ucy5kZXBzVXBncmFkZU9wdGlvbnM/LmNvb2xkb3duID8/IChvcHRpb25zLnlhcm5CZXJyeSA/IDMgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHVwZ3JhZGVFbnYgPSB7IC4uLnRoaXMudXBncmFkZVdvcmtmbG93Py51cGdyYWRlVGFzay5lbnZWYXJzIHx8IHt9IH07XG4gICAgaWYgKGNvb2xkb3duICYmIG9wdGlvbnMueWFybkJlcnJ5KSB7XG4gICAgICB1cGdyYWRlRW52LllBUk5fTlBNX01JTklNQUxfQUdFX0dBVEUgPSBTdHJpbmcoY29vbGRvd24gKiAyNCAqIDYwKTtcbiAgICB9XG4gICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKCd1cGdyYWRlJyk7XG4gICAgdGhpcy50YXNrcy5hZGRUYXNrKCd1cGdyYWRlJywge1xuICAgICAgZW52OiB1cGdyYWRlRW52LFxuICAgICAgZGVzY3JpcHRpb246ICdVcGdyYWRlIGRlcGVuZGVuY2llcyBpbiBhbGwgd29ya3NwYWNlcycsXG4gICAgICBzdGVwczogW1xuICAgICAgICAvLyBJdCBpcyBub3Qgc2FmZSBhbnltb3JlIHRvIGhhdmUgJ25wbS1jaGVjay11cGRhdGVzJyBpbiBhIFlhcm4gMSBkZXBlbmRlbmN5IHRyZWUsIHNvIHJ1biBpdCBpbiBhIHNlcGFyYXRlIHRyZWUuXG4gICAgICAgIHsgZXhlYzogYCR7b3B0aW9ucy55YXJuQmVycnkgPyAneWFybiBkbHgnIDogJ25weCd9IG5wbS1jaGVjay11cGRhdGVzQDIwIC0tZGVwPWRldixvcHRpb25hbCxwZWVyLHByb2QsYnVuZGxlIC0tdXBncmFkZSAtLXRhcmdldD1taW5vciR7Y29vbGRvd24gPyBgIC0tY29vbGRvd249JHtjb29sZG93bn1gIDogJyd9YCB9LFxuICAgICAgICB7IGV4ZWM6IGAke3dzUnVufSBjaGVjay1mb3ItdXBkYXRlc2AgfSxcbiAgICAgICAgeyBleGVjOiBvcHRpb25zLnlhcm5CZXJyeSA/ICd5YXJuIGluc3RhbGwnIDogJ3lhcm4gaW5zdGFsbCAtLWNoZWNrLWZpbGVzJyB9LFxuICAgICAgICB7IGV4ZWM6IG9wdGlvbnMueWFybkJlcnJ5ID8gJ3lhcm4gdXAnIDogJ3lhcm4gdXBncmFkZScgfSxcbiAgICAgICAgeyBzcGF3bjogJ2RlZmF1bHQnIH0sXG4gICAgICAgIHsgc3Bhd246ICdwb3N0LXVwZ3JhZGUnIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xlYW4gdXAgdGFza3Mgbm90IHJlcXVpcmVkIGF0IHRvcC1sZXZlbFxuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygnZWplY3QnKTtcbiAgICB0aGlzLnRhc2tzLnJlbW92ZVRhc2soJ3dhdGNoJyk7XG4gICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKCdwcmUtY29tcGlsZScpO1xuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygncG9zdC1jb21waWxlJyk7XG5cbiAgICAvLyBOeFxuICAgIGlmIChvcHRpb25zLm54KSB7XG4gICAgICBuZXcgTngodGhpcywge1xuICAgICAgICBkZWZhdWx0QmFzZTogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFlhcm4gQ29uc3RyYWludHNcbiAgICBjb25zdCBjb25zaXN0ZW50VmVyc2lvbnMgPSBbLi4uKG9wdGlvbnMuY29uc2lzdGVudFZlcnNpb25zID8/IFtdKV07XG4gICAgaWYgKG9wdGlvbnMubngpIHtcbiAgICAgIGNvbnNpc3RlbnRWZXJzaW9ucy5wdXNoKCdueCcpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy55YXJuQmVycnkgJiYgY29uc2lzdGVudFZlcnNpb25zLmxlbmd0aCkge1xuICAgICAgbmV3IENvbnN0cmFpbnRzKHRoaXMsIHsgY29uc2lzdGVudFZlcnNpb25zIH0pO1xuICAgIH1cblxuICAgIC8vIFJlbGVhc2UgV29ya2Zsb3dcbiAgICBpZiAob3B0aW9ucy5yZWxlYXNlKSB7XG4gICAgICB0aGlzLm1vbm9yZXBvUmVsZWFzZSA9IG5ldyBNb25vcmVwb1JlbGVhc2UodGhpcywge1xuICAgICAgICB3b3JrZmxvd1J1bnNPbjogb3B0aW9ucy53b3JrZmxvd1J1bnNPbixcbiAgICAgICAgYnVpbGRXaXRoTngsXG4gICAgICAgIHlhcm5CZXJyeTogb3B0aW9ucy55YXJuQmVycnksXG4gICAgICAgIC4uLm9wdGlvbnMucmVsZWFzZU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHN1YnByb2plY3RzKCk6IFR5cGVTY3JpcHRXb3Jrc3BhY2VbXSB7XG4gICAgcmV0dXJuIHN1cGVyLnN1YnByb2plY3RzIGFzIFR5cGVTY3JpcHRXb3Jrc3BhY2VbXTtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aCgpIHtcbiAgICB0aGlzLmZpbmFsRXNjYXBlSGF0Y2hlcygpO1xuICAgIHN1cGVyLnN5bnRoKCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIGEgc3ViIHByb2plY3QgdG8gcmVxdWVzdCBpbnN0YWxsYXRpb24gb2YgZGVwZW5kZW5jeSBhdCB0aGUgTW9ub3JlcG8gcm9vdFxuICAgKiBUaGV5IG11c3QgcHJvdmlkZSBhIGZ1bmN0aW9uIHRoYXQgaXMgZXhlY3V0ZWQgYWZ0ZXIgZGVwZW5kZW5jaWVzIGhhdmUgYmVlbiBpbnN0YWxsZWRcbiAgICogSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUsIHRoZSBpbnN0YWxsIGNvbW1hbmQgaXMgcnVuIGZvciBhIHNlY29uZCB0aW1lIGFmdGVyIGFsbCBzdWIgcHJvamVjdCByZXF1ZXN0cyBoYXZlIHJ1bi5cbiAgICogVGhpcyBpcyB1c2VkIHRvIHJlc29sdmUgZGVwZW5kZW5jeSB2ZXJzaW9ucyBmcm9tIGAqYCB0byBhIGNvbmNyZXRlIHZlcnNpb24gY29uc3RyYWludC5cbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0SW5zdGFsbERlcGVuZGVuY2llcyhyZXNvbHZlcjogSURlcGVuZGVuY3lSZXNvbHZlcikge1xuICAgIHRoaXMucG9zdEluc3RhbGxEZXBlbmRlbmNpZXMucHVzaChyZXNvbHZlci5yZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvZGUgdGhhdCBuZWVkcyB0byBydW4ganVzdCBiZWZvcmUgc3ludGgsIGJ1dCBhZnRlciBhbGwgb3RoZXIgY29kZVxuICAgKi9cbiAgcHJpdmF0ZSBmaW5hbEVzY2FwZUhhdGNoZXMoKSB7XG4gICAgLy8gR2V0IHRoZSBPYmplY3RGaWxlXG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdwcml2YXRlJywgdHJ1ZSk7XG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCd3b3Jrc3BhY2VzJywge1xuICAgICAgcGFja2FnZXM6IHRoaXMuc3VicHJvamVjdHMubWFwKChwKSA9PiBwLndvcmtzcGFjZURpcmVjdG9yeSksXG4gICAgICAuLi4oIXRoaXMub3B0aW9ucy55YXJuQmVycnkgPyB0aGlzLnJlbmRlck5vSG9pc3QoKSA6IHVuZGVmaW5lZCksXG4gICAgfSk7XG5cbiAgICAvLyBBdXRvLXNldCBob2lzdGluZ0xpbWl0cyBmb3Igd29ya3NwYWNlcyB3aXRoIGJ1bmRsZWQgZGVwcyB3aGVuIHVzaW5nIFlhcm4gQmVycnlcbiAgICBpZiAodGhpcy5vcHRpb25zLnlhcm5CZXJyeSkge1xuICAgICAgZm9yIChjb25zdCBwIG9mIHRoaXMuc3VicHJvamVjdHMpIHtcbiAgICAgICAgaWYgKHAuYnVuZGxlZERlcHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHAucGFja2FnZS5hZGRGaWVsZCgnaW5zdGFsbENvbmZpZycsIHsgaG9pc3RpbmdMaW1pdHM6ICd3b3Jrc3BhY2VzJyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudHNjb25maWc/LmZpbGUuYWRkT3ZlcnJpZGUoJ2luY2x1ZGUnLCBbXSk7XG4gICAgdGhpcy50c2NvbmZpZ0Rldj8uZmlsZS5hZGRPdmVycmlkZSgnaW5jbHVkZScsIFsnLnByb2plbnJjLnRzJywgJ3Byb2plbnJjLyoqLyoudHMnXSk7XG4gICAgZm9yIChjb25zdCB0c2NvbmZpZyBvZiBbdGhpcy50c2NvbmZpZywgdGhpcy50c2NvbmZpZ0Rldl0pIHtcbiAgICAgIHRzY29uZmlnPy5maWxlLmFkZE92ZXJyaWRlKFxuICAgICAgICAncmVmZXJlbmNlcycsXG4gICAgICAgIHRoaXMuc3VicHJvamVjdHMubWFwKChwKSA9PiAoeyBwYXRoOiBwLndvcmtzcGFjZURpcmVjdG9yeSB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnamVzdCcsIHtcbiAgICAgIHByb2plY3RzOiB0aGlzLnN1YnByb2plY3RzLm1hcCgocCkgPT4gYDxyb290RGlyPi8ke3Aud29ya3NwYWNlRGlyZWN0b3J5fWApLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgJ25vaG9pc3QnIGRpcmVjdGl2ZVxuICAgKlxuICAgKiBCdW5kbGVkIGRlcGVuZGVuY2llcyBtdXN0IGJlIG5vaG9pc3QnZWQsIG90aGVyd2lzZSBOUE0gc2lsZW50bHkgd29uJ3QgYnVuZGxlIHRoZW0uXG4gICAqXG4gICAqIFJlbmRlcnMgYW4gb2JqZWN0IHRoYXQgc2hvdWxkIGJlIG1peGVkIGludG8gdGhlIGB3b3Jrc3BhY2VzYCBvYmplY3QuXG4gICAqL1xuICBwcml2YXRlIHJlbmRlck5vSG9pc3QoKTogYW55IHtcbiAgICBjb25zdCBub2hvaXN0ID0gdGhpcy5zdWJwcm9qZWN0cy5mbGF0TWFwKChwKSA9PlxuICAgICAgcC5kZXBzLmFsbFxuICAgICAgICAuZmlsdGVyKChkZXApID0+IGRlcC50eXBlID09PSBEZXBlbmRlbmN5VHlwZS5CVU5ETEVEKVxuICAgICAgICAuZmxhdE1hcCgoZGVwKSA9PiBbXG4gICAgICAgICAgYCR7cC5uYW1lfS8ke2RlcC5uYW1lfWAsXG4gICAgICAgICAgYCR7cC5uYW1lfS8ke2RlcC5uYW1lfS8qKmAsXG4gICAgICAgIF0pLFxuICAgICk7XG4gICAgcmV0dXJuIG5vaG9pc3QubGVuZ3RoID4gMCA/IHsgbm9ob2lzdCB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2tzIGludG8gdGhlIGluc3RhbGwgZGVwZW5kZW5jaWVzIGN5Y2xlXG4gICAqL1xuICBwdWJsaWMgcG9zdFN5bnRoZXNpemUoKSB7XG4gICAgaWYgKHRoaXMucG9zdEluc3RhbGxEZXBlbmRlbmNpZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBub2RlUGtnOiBhbnkgPSB0aGlzLnBhY2thZ2U7XG4gICAgICBub2RlUGtnLmluc3RhbGxEZXBlbmRlbmNpZXMoeyByZWFzb246IGphdmFzY3JpcHQuSW5zdGFsbFJlYXNvbi5QQUNLQUdFX0pTT05fQ0hBTkdFRCB9KTtcblxuICAgICAgY29uc3QgcmVzb2x1dGlvbnMgPSB0aGlzLnBvc3RJbnN0YWxsRGVwZW5kZW5jaWVzLmZsYXRNYXAoKHJlcXVlc3QpID0+IHJlcXVlc3QoKSk7XG4gICAgICBpZiAocmVzb2x1dGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIG5vZGVQa2cuaW5zdGFsbERlcGVuZGVuY2llcyh7IHJlYXNvbjogamF2YXNjcmlwdC5JbnN0YWxsUmVhc29uLkRFUFNfUkVTT0xWRUQsIHJlc29sdXRpb25zIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBvc3RJbnN0YWxsRGVwZW5kZW5jaWVzID0gW107XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURlcGVuZGVuY3lSZXNvbHZlciB7XG4gIHJlc29sdmVEZXBzQW5kV3JpdGVQYWNrYWdlSnNvbigpOiBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gZ2V0T2JqRnJvbUZpbGUocHJvamVjdDogUHJvamVjdCwgZmlsZTogc3RyaW5nKTogb2JqZWN0IHtcbiAgcmV0dXJuIChwcm9qZWN0LnRyeUZpbmRPYmplY3RGaWxlKGZpbGUpIGFzIGFueSk/Lm9iajtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBDZGtMYWJzTW9ub3JlcG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtMYWJzTW9ub3JlcG9PcHRpb25zIGV4dGVuZHMgTW9ub3JlcG9PcHRpb25zIHt9XG5cbi8qKlxuICogT3BpbmlvbmF0ZWQgaW1wbGVtZW50YXRpb24gb2YgeWFybi5Nb25vcmVwb1xuICogQHBqaWQgY2RrbGFicy15YXJuLW1vbm9yZXBvXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtMYWJzTW9ub3JlcG8gZXh0ZW5kcyBNb25vcmVwbyB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka0xhYnNNb25vcmVwb09wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuXG4gICAgICBhdXRvQXBwcm92ZVVwZ3JhZGVzOiB0cnVlLFxuICAgICAgYXV0b0FwcHJvdmVPcHRpb25zOiB7XG4gICAgICAgIGFsbG93ZWRVc2VybmFtZXM6IFsnZ2l0aHViLWJvdCcsICdjZGtsYWJzLWF1dG9tYXRpb24nLCAnZGVwZW5kYWJvdFtib3RdJ10sXG4gICAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5naXRodWJPcHRpb25zLFxuICAgICAgICBtZXJnaWZ5OiBmYWxzZSxcbiAgICAgICAgZGVwZW5kZW5jeVJldmlldzogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAvLyBEZXZpYXRpb24gZnJvbSB1cHN0cmVhbSBwcm9qZW46IHVwc3RyZWFtIHByb2plbiBkZWZhdWx0cyB0byBtaW5Ob2RlVmVyc2lvbiwgYnV0IHdlIGhhdmUgdG9vIG1hbnkgd29ya2Zsb3dzXG4gICAgICAvLyB0aGF0IHVzZSB0b29scyB0aGF0IHdhbnQgYSByZWNlbnQgTm9kZSB2ZXJzaW9uLCBzbyBkZWZhdWx0IHRvIGEgcmVhc29uYWJsZSBmbG9hdGluZyB2ZXJzaW9uLlxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG4gICAgfSk7XG5cbiAgICBuZXcgZ2l0aHViLk1lcmdlUXVldWUodGhpcywge1xuICAgICAgYXV0b1F1ZXVlT3B0aW9uczoge1xuICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHsgc2VjcmV0OiAnUFJPSkVOX0dJVEhVQl9UT0tFTicgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -21,6 +21,7 @@ export declare class WorkspaceRelease extends Component {
|
|
|
21
21
|
readonly publisher?: release.Publisher;
|
|
22
22
|
readonly version?: Version;
|
|
23
23
|
readonly workspace: TypeScriptWorkspace;
|
|
24
|
+
readonly artifactsDirectory: string;
|
|
24
25
|
constructor(project: TypeScriptWorkspace, options: WorkspaceReleaseOptions);
|
|
25
26
|
/**
|
|
26
27
|
* Get the bump version task
|
|
@@ -10,6 +10,7 @@ class WorkspaceRelease extends projen_1.Component {
|
|
|
10
10
|
constructor(project, options) {
|
|
11
11
|
super(project);
|
|
12
12
|
this.workspace = project;
|
|
13
|
+
this.artifactsDirectory = project.artifactsDirectory;
|
|
13
14
|
// The root package is release-aware. Either we create a proper
|
|
14
15
|
// 'yarn release' task here, or we create a fake one that just does
|
|
15
16
|
// a 'build' (will be run in dependency order by the parent release task).
|
|
@@ -116,5 +117,5 @@ class WorkspaceRelease extends projen_1.Component {
|
|
|
116
117
|
}
|
|
117
118
|
exports.WorkspaceRelease = WorkspaceRelease;
|
|
118
119
|
_a = JSII_RTTI_SYMBOL_1;
|
|
119
|
-
WorkspaceRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.WorkspaceRelease", version: "0.
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC13b3Jrc3BhY2UtcmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy95YXJuL3R5cGVzY3JpcHQtd29ya3NwYWNlLXJlbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsbUNBQW9HO0FBQ3BHLGlFQUErRTtBQXNCL0UsTUFBYSxnQkFBaUIsU0FBUSxrQkFBUztJQUs3QyxZQUFtQixPQUE0QixFQUFFLE9BQWdDO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBRXpCLCtEQUErRDtRQUMvRCxtRUFBbUU7UUFDbkUsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDekMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLDRDQUE0QztnQkFDOUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtnQkFDOUMsZ0JBQWdCLEVBQUU7b0JBQ2hCLElBQUksRUFBRSxHQUFHLEVBQUUsMEZBQTBGO2lCQUN0RztnQkFDRCxpREFBaUQ7Z0JBQ2pELG9EQUFvRDtnQkFDcEQsdURBQXVEO2dCQUN2RCxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHO2dCQUU3QixrRUFBa0U7Z0JBQ2xFLHlFQUF5RTtnQkFDekUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixJQUFJLDBCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7Z0JBRWxGLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7YUFDL0MsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JELFlBQVksRUFBRSxPQUFPLENBQUMsa0JBQWtCO2dCQUN4QyxTQUFTLEVBQUUsbURBQW1EO2dCQUM5RCxVQUFVLEVBQUUsU0FBUztnQkFDckIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixJQUFJLE9BQU87YUFDNUQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDckMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUMxRixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO2dCQUN0RixjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7YUFDN0YsQ0FBQyxDQUFDO1lBRUgsMEZBQTBGO1lBQzFGLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7b0JBQzFCLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVc7b0JBQ3JDLGNBQWMsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjO29CQUN6RixhQUFhLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhO29CQUM1QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsb0JBQW9CO2lCQUNoRCxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELGtFQUFrRTtRQUNsRSwwREFBMEQ7UUFDMUQsMEVBQTBFO1FBQzFFLDRCQUE0QjtRQUM1QixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3hELEtBQUssRUFBRSxDQUFDLElBQUkscUNBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQ2xDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsSUFBSSxFQUFFO2lCQUMvRCxDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyw0RUFBNEU7UUFDNUUsMkVBQTJFO1FBQzNFLDhFQUE4RTtRQUM5RSwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMseUVBQXlFLENBQUMsQ0FBQztZQUM3RixDQUFDO1lBQ0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQ2xFLEdBQUcsT0FBTyxDQUFDLG9CQUFvQjthQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNKLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBR0QsMERBQTBEO1FBQzFELDBHQUEwRztRQUMxRyxFQUFFO1FBQ0YscUdBQXFHO1FBQ3JHLGdIQUFnSDtRQUNoSCx5R0FBeUc7UUFDekcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUM1QyxHQUFHLEVBQUU7Z0JBQ0gsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssY0FBYztRQUNwQixPQUFPLENBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQzdCLFdBQVcsRUFBRSxzQ0FBc0M7YUFDcEQsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0JBQWdCO1FBQ3RCLE9BQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDL0IsV0FBVyxFQUFFLGdEQUFnRDthQUM5RCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBOUhILDRDQStIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IENvbXBvbmVudCwgUmVsZWFzYWJsZUNvbW1pdHMsIFRhc2ssIFZlcnNpb24sIFZlcnNpb25CcmFuY2hPcHRpb25zLCByZWxlYXNlIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEdhdGhlclZlcnNpb25zLCBHYXRoZXJWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2dhdGhlci12ZXJzaW9ucy50YXNrJztcbmltcG9ydCB7IFR5cGVTY3JpcHRXb3Jrc3BhY2UgfSBmcm9tICcuL3R5cGVzY3JpcHQtd29ya3NwYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VSZWxlYXNlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHByaXZhdGU6IGJvb2xlYW47XG5cbiAgLyoqIEBkZWZhdWx0ICdsdHMvKicgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcHVibGlzaFRvTnBtPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbnBtRGlzdFRhZz86IHN0cmluZztcbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xuICByZWFkb25seSBucG1UcnVzdGVkUHVibGlzaGluZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uQnJhbmNoT3B0aW9uczogVmVyc2lvbkJyYW5jaE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEZvciBydW50aW1lIGFuZCBwZWVyIGRlcGVuZGVuY2llcywgdGhlIHR5cGUgb2YgZGVwZW5kZW5jeSB3ZSB0YWtlIG9uIGVhY2ggcGFja2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb1J1bnRpbWVEZXBlbmRlbmNpZXM/OiBHYXRoZXJWZXJzaW9uc09wdGlvbnNbJ3JlcG9SdW50aW1lRGVwZW5kZW5jaWVzJ107XG59XG5cbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VSZWxlYXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IHB1Ymxpc2hlcj86IHJlbGVhc2UuUHVibGlzaGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbj86IFZlcnNpb247XG4gIHB1YmxpYyByZWFkb25seSB3b3Jrc3BhY2U6IFR5cGVTY3JpcHRXb3Jrc3BhY2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb2plY3Q6IFR5cGVTY3JpcHRXb3Jrc3BhY2UsIG9wdGlvbnM6IFdvcmtzcGFjZVJlbGVhc2VPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy53b3Jrc3BhY2UgPSBwcm9qZWN0O1xuXG4gICAgLy8gVGhlIHJvb3QgcGFja2FnZSBpcyByZWxlYXNlLWF3YXJlLiBFaXRoZXIgd2UgY3JlYXRlIGEgcHJvcGVyXG4gICAgLy8gJ3lhcm4gcmVsZWFzZScgdGFzayBoZXJlLCBvciB3ZSBjcmVhdGUgYSBmYWtlIG9uZSB0aGF0IGp1c3QgZG9lc1xuICAgIC8vIGEgJ2J1aWxkJyAod2lsbCBiZSBydW4gaW4gZGVwZW5kZW5jeSBvcmRlciBieSB0aGUgcGFyZW50IHJlbGVhc2UgdGFzaykuXG4gICAgaWYgKCFvcHRpb25zLnByaXZhdGUpIHtcbiAgICAgIHRoaXMudmVyc2lvbiA9IG5ldyBWZXJzaW9uKHRoaXMud29ya3NwYWNlLCB7XG4gICAgICAgIHZlcnNpb25JbnB1dEZpbGU6ICdwYWNrYWdlLmpzb24nLCAvLyB0aGlzIGlzIHdoZXJlIFwidmVyc2lvblwiIGlzIHNldCBhZnRlciBidW1wXG4gICAgICAgIGFydGlmYWN0c0RpcmVjdG9yeTogcHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgIHZlcnNpb25yY09wdGlvbnM6IHtcbiAgICAgICAgICBwYXRoOiAnLicsIC8vIEluIGEgbW9ub3JlcG8sIHdlIHdhbnQgc3RhbmRhcmQtdmVyc2lvbiB0byBvbmx5IGNvbnNpZGVyIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIHdvcmtzcGFjZVxuICAgICAgICB9LFxuICAgICAgICAvLyBUaGlzIG1peGVzIHRoZSBwYWNrYWdlIG5hbWUgaW50byB0aGUgdGFnIG5hbWUsXG4gICAgICAgIC8vIHNvIHRoYXQgd2UgY2FuIGdpdmUgcGFja2FnZXMgaW5kaXZpZHVhbCB2ZXJzaW9ucy5cbiAgICAgICAgLy8gVGFncyBlbmQgdXAgbG9va2luZyBsaWtlIHRoaXM6IEBzY29wZS9wYWNrYWdlQHYxLjIuM1xuICAgICAgICB0YWdQcmVmaXg6IGAke3Byb2plY3QubmFtZX1AYCxcblxuICAgICAgICAvLyBJbiBhIG1vbm9yZXBvLCBvbmx5IGNvbnNpZGVyIGNoYW5nZXMgcmVsZXZhbnQgdG8gdGhlIHN1YnByb2plY3RcbiAgICAgICAgLy8gUGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgc3VicHJvamVjdCBvdXRkaXIsIHNvICcuJyBpcyB3aGF0IHdlIHdhbnQgaGVyZVxuICAgICAgICByZWxlYXNhYmxlQ29tbWl0czogb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyA/PyBSZWxlYXNhYmxlQ29tbWl0cy5ldmVyeUNvbW1pdCgnLicpLFxuXG4gICAgICAgIG5leHRWZXJzaW9uQ29tbWFuZDogb3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wdWJsaXNoZXIgPSBuZXcgcmVsZWFzZS5QdWJsaXNoZXIodGhpcy53b3Jrc3BhY2UsIHtcbiAgICAgICAgYXJ0aWZhY3ROYW1lOiBwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgY29uZGl0aW9uOiAnbmVlZHMucmVsZWFzZS5vdXRwdXRzLmxhdGVzdF9jb21taXQgPT0gZ2l0aHViLnNoYScsXG4gICAgICAgIGJ1aWxkSm9iSWQ6ICdyZWxlYXNlJyxcbiAgICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wdWJsaXNoZXIucHVibGlzaFRvR2l0SHViUmVsZWFzZXMoe1xuICAgICAgICBjaGFuZ2Vsb2dGaWxlOiBwYXRoLnBvc2l4LmpvaW4ocHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksIHRoaXMudmVyc2lvbi5jaGFuZ2Vsb2dGaWxlTmFtZSksXG4gICAgICAgIHZlcnNpb25GaWxlOiBwYXRoLnBvc2l4LmpvaW4ocHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksIHRoaXMudmVyc2lvbi52ZXJzaW9uRmlsZU5hbWUpLFxuICAgICAgICByZWxlYXNlVGFnRmlsZTogcGF0aC5wb3NpeC5qb2luKHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5LCB0aGlzLnZlcnNpb24ucmVsZWFzZVRhZ0ZpbGVOYW1lKSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBHaXRIdWIgUmVsZWFzZXMgY29tZXMgZm9yIGZyZWUgd2l0aCBhIGBSZWxlYXNlYCBjb21wb25lbnQsIE5QTSBtdXN0IGJlIGFkZGVkIGV4cGxpY2l0bHlcbiAgICAgIGlmIChvcHRpb25zLnB1Ymxpc2hUb05wbSA/PyB0cnVlKSB7XG4gICAgICAgIHRoaXMucHVibGlzaGVyLnB1Ymxpc2hUb05wbSh7XG4gICAgICAgICAgcmVnaXN0cnk6IHByb2plY3QucGFja2FnZS5ucG1SZWdpc3RyeSxcbiAgICAgICAgICBucG1Ub2tlblNlY3JldDogb3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyA/IHVuZGVmaW5lZCA6IHByb2plY3QucGFja2FnZS5ucG1Ub2tlblNlY3JldCxcbiAgICAgICAgICBucG1Qcm92ZW5hbmNlOiBwcm9qZWN0LnBhY2thZ2UubnBtUHJvdmVuYW5jZSxcbiAgICAgICAgICB0cnVzdGVkUHVibGlzaGluZzogb3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyB0YXNrcyBzZXRzIGFsbCBsb2NhbCBkZXBlbmRlbmNpZXMgdG8gdGhlaXIgY3VycmVudCB2ZXJzaW9uXG4gICAgLy8gSW4gdGhlIG1vbm9yZXBvIHdlIGNhbGwgdGhpcyB0YXNrIGluIHRvcG9sb2dpY2FsIG9yZGVyLlxuICAgIC8vIFRoZXJlZm9yIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCBhbnkgbG9jYWwgcGFja2FnZXMgYSBwYWNrYWdlIGRlcGVuZHMgb24sXG4gICAgLy8gYWxyZWFkeSBoYXZlIGJlZW4gYnVtcGVkLlxuICAgIGNvbnN0IGdhdGhlclZlcnNpb25zID0gcHJvamVjdC5hZGRUYXNrKCdnYXRoZXItdmVyc2lvbnMnLCB7XG4gICAgICBzdGVwczogW25ldyBHYXRoZXJWZXJzaW9ucyhwcm9qZWN0LCB7XG4gICAgICAgIHJlcG9SdW50aW1lRGVwZW5kZW5jaWVzOiBvcHRpb25zLnJlcG9SdW50aW1lRGVwZW5kZW5jaWVzID8/IHt9LFxuICAgICAgfSldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVtcFRhc2sgPSB0aGlzLm9idGFpbkJ1bXBUYXNrKCk7XG4gICAgYnVtcFRhc2sucHJlcGVuZFNwYXduKGdhdGhlclZlcnNpb25zKTtcbiAgICAvLyBUaGUgYnVtcFRhc2sgbmVlZHMgdG8gYmUgZXhlY3V0ZWQgd2l0aCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBjb250cm9sXG4gICAgLy8gdmVyc2lvbiBpbmZvcm1hdGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0IG9mIHRoZSB1cHN0cmVhbSB0YXNrIGl0c2VsZiB5ZXQsXG4gICAgLy8gc2luY2UgdGhleSBhcmUgcGFydCBvZiB0aGUgaW52b2NhdGlvbiB0aGVyZS4gV2UgYWxzbyBuZWVkIHRvIG1ha2UgdGhlbSBwYXJ0XG4gICAgLy8gb2YgdGhlIGludm9jYXRpb24gaGVyZS5cbiAgICBpZiAodGhpcy52ZXJzaW9uKSB7XG4gICAgICBpZiAob3B0aW9ucy52ZXJzaW9uQnJhbmNoT3B0aW9ucz8udGFnUHJlZml4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRG8gbm90IHNldCB2ZXJzaW9uQnJhbmNoT3B0aW9ucy50YWdQcmVmaXg7IGl0IGlzIGNvbmZpZ3VyZWQgYW5vdGhlciB3YXknKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMudmVyc2lvbi5lbnZGb3JCcmFuY2goe1xuICAgICAgICAuLi5vcHRpb25zLnZlcnNpb25CcmFuY2hPcHRpb25zLFxuICAgICAgfSkpKSB7XG4gICAgICAgIGJ1bXBUYXNrLmVudihrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFmdGVyIHdlIGhhdmUgdW5idW1wZWQgcGFja2FnZSB2ZXJzaW9ucyBiYWNrIHRvIF4wLjAuMCxcbiAgICAvLyB3ZSBjYW4gcnVuIHRoZSBnYXRoZXItdmVyc2lvbnMgdGFzayBhZ2FpbiB3aGljaCB3aWxsIG5vdyByZXBsYWNlIHRoZSB0by1iZS1yZWxlYXNlIHZlcnNpb25zIHdpdGggXjAuMC4wXG4gICAgLy9cbiAgICAvLyBXZSBuZWVkIHRvIHNldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBnZXQgYGdhdGhlclZlcnNpb25zYCB0byBiZWhhdmUgZGlmZmVyZW50bHkgaW4gdGhlIHVuYnVtcFxuICAgIC8vIGludm9jYXRpb24gKGluIHRoZSBidW1wIGludm9jYXRpb24sIGl0IG1heSBjaGFuZ2UgdGhlIHBhY2thZ2UuanNvbiBkZXBlbmRlbmN5IHJhbmdlIGZyb20gYF4wLjAuMGAgdG8gYDEuMi4zYDtcbiAgICAvLyB1c2luZyBhIGRpZmZlcmVudCByYW5nZSBzeW1ib2wpLCBidXQgd2hlbiB1bmJ1bXBpbmcgaXQgbXVzdCBhbHdheXMgcmVzZXQgYmFjayB0byB0aGUgYF4wLjAuMGAgdmVyc2lvbi5cbiAgICB0aGlzLm9idGFpblVuYnVtcFRhc2soKS5zcGF3bihnYXRoZXJWZXJzaW9ucywge1xuICAgICAgZW52OiB7XG4gICAgICAgIFJFU0VUX1ZFUlNJT05TOiAndHJ1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICpcbiAgICogSWYgdGhpcyBpcyBhIHByaXZhdGUgcGFja2FnZSwgaXQgd29uJ3QgaGF2ZSBhIGJ1bXAgdGFzayB5ZXQuXG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpbkJ1bXBUYXNrKCk6IFRhc2sge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLndvcmtzcGFjZS50YXNrcy50cnlGaW5kKCdidW1wJykgPz9cbiAgICAgIHRoaXMud29ya3NwYWNlLmFkZFRhc2soJ2J1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQnVtcHMgdmVyc2lvbnMgb2YgbG9jYWwgZGVwZW5kZW5jaWVzJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICouXG4gICAqIElmIHRoaXMgaXMgYSBwcml2YXRlIHBhY2thZ2UsIGl0IHdvbid0IGhhdmUgYSBidW1wIHRhc2sgeWV0XG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpblVuYnVtcFRhc2soKTogVGFzayB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMud29ya3NwYWNlLnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpID8/XG4gICAgICB0aGlzLndvcmtzcGFjZS5hZGRUYXNrKCd1bmJ1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVzZXRzIHZlcnNpb25zIG9mIGxvY2FsIGRlcGVuZGVuY2llcyB0byAwLjAuMCcsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
120
|
+
WorkspaceRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.WorkspaceRelease", version: "0.5.1" };
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC13b3Jrc3BhY2UtcmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy95YXJuL3R5cGVzY3JpcHQtd29ya3NwYWNlLXJlbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsbUNBQW9HO0FBQ3BHLGlFQUErRTtBQXNCL0UsTUFBYSxnQkFBaUIsU0FBUSxrQkFBUztJQU03QyxZQUFtQixPQUE0QixFQUFFLE9BQWdDO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFFckQsK0RBQStEO1FBQy9ELG1FQUFtRTtRQUNuRSwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZ0JBQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN6QyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsNENBQTRDO2dCQUM5RSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCO2dCQUM5QyxnQkFBZ0IsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLEdBQUcsRUFBRSwwRkFBMEY7aUJBQ3RHO2dCQUNELGlEQUFpRDtnQkFDakQsb0RBQW9EO2dCQUNwRCx1REFBdUQ7Z0JBQ3ZELFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUc7Z0JBRTdCLGtFQUFrRTtnQkFDbEUseUVBQXlFO2dCQUN6RSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCLElBQUksMEJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztnQkFFbEYsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjthQUMvQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsU0FB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QUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxjQUFjO1FBQ3BCLE9BQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDN0IsV0FBVyxFQUFFLHNDQUFzQzthQUNwRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxnQkFBZ0I7UUFDdEIsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUMvQixXQUFXLEVBQUUsZ0RBQWdEO2FBQzlELENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUFoSUgsNENBaUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBSZWxlYXNhYmxlQ29tbWl0cywgVGFzaywgVmVyc2lvbiwgVmVyc2lvbkJyYW5jaE9wdGlvbnMsIHJlbGVhc2UgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgR2F0aGVyVmVyc2lvbnMsIEdhdGhlclZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2F0aGVyLXZlcnNpb25zLnRhc2snO1xuaW1wb3J0IHsgVHlwZVNjcmlwdFdvcmtzcGFjZSB9IGZyb20gJy4vdHlwZXNjcmlwdC13b3Jrc3BhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZVJlbGVhc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcHJpdmF0ZTogYm9vbGVhbjtcblxuICAvKiogQGRlZmF1bHQgJ2x0cy8qJyAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSBwdWJsaXNoVG9OcG0/OiBib29sZWFuO1xuICByZWFkb25seSBucG1EaXN0VGFnPzogc3RyaW5nO1xuICByZWFkb25seSByZWxlYXNhYmxlQ29tbWl0cz86IFJlbGVhc2FibGVDb21taXRzO1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb25CcmFuY2hPcHRpb25zOiBWZXJzaW9uQnJhbmNoT3B0aW9ucztcblxuICAvKipcbiAgICogRm9yIHJ1bnRpbWUgYW5kIHBlZXIgZGVwZW5kZW5jaWVzLCB0aGUgdHlwZSBvZiBkZXBlbmRlbmN5IHdlIHRha2Ugb24gZWFjaCBwYWNrYWdlXG4gICAqL1xuICByZWFkb25seSByZXBvUnVudGltZURlcGVuZGVuY2llcz86IEdhdGhlclZlcnNpb25zT3B0aW9uc1sncmVwb1J1bnRpbWVEZXBlbmRlbmNpZXMnXTtcbn1cblxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZVJlbGVhc2UgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGlzaGVyPzogcmVsZWFzZS5QdWJsaXNoZXI7XG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uPzogVmVyc2lvbjtcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtzcGFjZTogVHlwZVNjcmlwdFdvcmtzcGFjZTtcbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBUeXBlU2NyaXB0V29ya3NwYWNlLCBvcHRpb25zOiBXb3Jrc3BhY2VSZWxlYXNlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMud29ya3NwYWNlID0gcHJvamVjdDtcbiAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSA9IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5O1xuXG4gICAgLy8gVGhlIHJvb3QgcGFja2FnZSBpcyByZWxlYXNlLWF3YXJlLiBFaXRoZXIgd2UgY3JlYXRlIGEgcHJvcGVyXG4gICAgLy8gJ3lhcm4gcmVsZWFzZScgdGFzayBoZXJlLCBvciB3ZSBjcmVhdGUgYSBmYWtlIG9uZSB0aGF0IGp1c3QgZG9lc1xuICAgIC8vIGEgJ2J1aWxkJyAod2lsbCBiZSBydW4gaW4gZGVwZW5kZW5jeSBvcmRlciBieSB0aGUgcGFyZW50IHJlbGVhc2UgdGFzaykuXG4gICAgaWYgKCFvcHRpb25zLnByaXZhdGUpIHtcbiAgICAgIHRoaXMudmVyc2lvbiA9IG5ldyBWZXJzaW9uKHRoaXMud29ya3NwYWNlLCB7XG4gICAgICAgIHZlcnNpb25JbnB1dEZpbGU6ICdwYWNrYWdlLmpzb24nLCAvLyB0aGlzIGlzIHdoZXJlIFwidmVyc2lvblwiIGlzIHNldCBhZnRlciBidW1wXG4gICAgICAgIGFydGlmYWN0c0RpcmVjdG9yeTogcHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgIHZlcnNpb25yY09wdGlvbnM6IHtcbiAgICAgICAgICBwYXRoOiAnLicsIC8vIEluIGEgbW9ub3JlcG8sIHdlIHdhbnQgc3RhbmRhcmQtdmVyc2lvbiB0byBvbmx5IGNvbnNpZGVyIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIHdvcmtzcGFjZVxuICAgICAgICB9LFxuICAgICAgICAvLyBUaGlzIG1peGVzIHRoZSBwYWNrYWdlIG5hbWUgaW50byB0aGUgdGFnIG5hbWUsXG4gICAgICAgIC8vIHNvIHRoYXQgd2UgY2FuIGdpdmUgcGFja2FnZXMgaW5kaXZpZHVhbCB2ZXJzaW9ucy5cbiAgICAgICAgLy8gVGFncyBlbmQgdXAgbG9va2luZyBsaWtlIHRoaXM6IEBzY29wZS9wYWNrYWdlQHYxLjIuM1xuICAgICAgICB0YWdQcmVmaXg6IGAke3Byb2plY3QubmFtZX1AYCxcblxuICAgICAgICAvLyBJbiBhIG1vbm9yZXBvLCBvbmx5IGNvbnNpZGVyIGNoYW5nZXMgcmVsZXZhbnQgdG8gdGhlIHN1YnByb2plY3RcbiAgICAgICAgLy8gUGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgc3VicHJvamVjdCBvdXRkaXIsIHNvICcuJyBpcyB3aGF0IHdlIHdhbnQgaGVyZVxuICAgICAgICByZWxlYXNhYmxlQ29tbWl0czogb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyA/PyBSZWxlYXNhYmxlQ29tbWl0cy5ldmVyeUNvbW1pdCgnLicpLFxuXG4gICAgICAgIG5leHRWZXJzaW9uQ29tbWFuZDogb3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wdWJsaXNoZXIgPSBuZXcgcmVsZWFzZS5QdWJsaXNoZXIodGhpcy53b3Jrc3BhY2UsIHtcbiAgICAgICAgYXJ0aWZhY3ROYW1lOiBwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgY29uZGl0aW9uOiAnbmVlZHMucmVsZWFzZS5vdXRwdXRzLmxhdGVzdF9jb21taXQgPT0gZ2l0aHViLnNoYScsXG4gICAgICAgIGJ1aWxkSm9iSWQ6ICdyZWxlYXNlJyxcbiAgICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wdWJsaXNoZXIucHVibGlzaFRvR2l0SHViUmVsZWFzZXMoe1xuICAgICAgICBjaGFuZ2Vsb2dGaWxlOiBwYXRoLnBvc2l4LmpvaW4ocHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksIHRoaXMudmVyc2lvbi5jaGFuZ2Vsb2dGaWxlTmFtZSksXG4gICAgICAgIHZlcnNpb25GaWxlOiBwYXRoLnBvc2l4LmpvaW4ocHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksIHRoaXMudmVyc2lvbi52ZXJzaW9uRmlsZU5hbWUpLFxuICAgICAgICByZWxlYXNlVGFnRmlsZTogcGF0aC5wb3NpeC5qb2luKHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5LCB0aGlzLnZlcnNpb24ucmVsZWFzZVRhZ0ZpbGVOYW1lKSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBHaXRIdWIgUmVsZWFzZXMgY29tZXMgZm9yIGZyZWUgd2l0aCBhIGBSZWxlYXNlYCBjb21wb25lbnQsIE5QTSBtdXN0IGJlIGFkZGVkIGV4cGxpY2l0bHlcbiAgICAgIGlmIChvcHRpb25zLnB1Ymxpc2hUb05wbSA/PyB0cnVlKSB7XG4gICAgICAgIHRoaXMucHVibGlzaGVyLnB1Ymxpc2hUb05wbSh7XG4gICAgICAgICAgcmVnaXN0cnk6IHByb2plY3QucGFja2FnZS5ucG1SZWdpc3RyeSxcbiAgICAgICAgICBucG1Ub2tlblNlY3JldDogb3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyA/IHVuZGVmaW5lZCA6IHByb2plY3QucGFja2FnZS5ucG1Ub2tlblNlY3JldCxcbiAgICAgICAgICBucG1Qcm92ZW5hbmNlOiBwcm9qZWN0LnBhY2thZ2UubnBtUHJvdmVuYW5jZSxcbiAgICAgICAgICB0cnVzdGVkUHVibGlzaGluZzogb3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyB0YXNrcyBzZXRzIGFsbCBsb2NhbCBkZXBlbmRlbmNpZXMgdG8gdGhlaXIgY3VycmVudCB2ZXJzaW9uXG4gICAgLy8gSW4gdGhlIG1vbm9yZXBvIHdlIGNhbGwgdGhpcyB0YXNrIGluIHRvcG9sb2dpY2FsIG9yZGVyLlxuICAgIC8vIFRoZXJlZm9yIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCBhbnkgbG9jYWwgcGFja2FnZXMgYSBwYWNrYWdlIGRlcGVuZHMgb24sXG4gICAgLy8gYWxyZWFkeSBoYXZlIGJlZW4gYnVtcGVkLlxuICAgIGNvbnN0IGdhdGhlclZlcnNpb25zID0gcHJvamVjdC5hZGRUYXNrKCdnYXRoZXItdmVyc2lvbnMnLCB7XG4gICAgICBzdGVwczogW25ldyBHYXRoZXJWZXJzaW9ucyhwcm9qZWN0LCB7XG4gICAgICAgIHJlcG9SdW50aW1lRGVwZW5kZW5jaWVzOiBvcHRpb25zLnJlcG9SdW50aW1lRGVwZW5kZW5jaWVzID8/IHt9LFxuICAgICAgfSldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVtcFRhc2sgPSB0aGlzLm9idGFpbkJ1bXBUYXNrKCk7XG4gICAgYnVtcFRhc2sucHJlcGVuZFNwYXduKGdhdGhlclZlcnNpb25zKTtcbiAgICAvLyBUaGUgYnVtcFRhc2sgbmVlZHMgdG8gYmUgZXhlY3V0ZWQgd2l0aCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBjb250cm9sXG4gICAgLy8gdmVyc2lvbiBpbmZvcm1hdGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0IG9mIHRoZSB1cHN0cmVhbSB0YXNrIGl0c2VsZiB5ZXQsXG4gICAgLy8gc2luY2UgdGhleSBhcmUgcGFydCBvZiB0aGUgaW52b2NhdGlvbiB0aGVyZS4gV2UgYWxzbyBuZWVkIHRvIG1ha2UgdGhlbSBwYXJ0XG4gICAgLy8gb2YgdGhlIGludm9jYXRpb24gaGVyZS5cbiAgICBpZiAodGhpcy52ZXJzaW9uKSB7XG4gICAgICBpZiAob3B0aW9ucy52ZXJzaW9uQnJhbmNoT3B0aW9ucz8udGFnUHJlZml4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRG8gbm90IHNldCB2ZXJzaW9uQnJhbmNoT3B0aW9ucy50YWdQcmVmaXg7IGl0IGlzIGNvbmZpZ3VyZWQgYW5vdGhlciB3YXknKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMudmVyc2lvbi5lbnZGb3JCcmFuY2goe1xuICAgICAgICAuLi5vcHRpb25zLnZlcnNpb25CcmFuY2hPcHRpb25zLFxuICAgICAgfSkpKSB7XG4gICAgICAgIGJ1bXBUYXNrLmVudihrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFmdGVyIHdlIGhhdmUgdW5idW1wZWQgcGFja2FnZSB2ZXJzaW9ucyBiYWNrIHRvIF4wLjAuMCxcbiAgICAvLyB3ZSBjYW4gcnVuIHRoZSBnYXRoZXItdmVyc2lvbnMgdGFzayBhZ2FpbiB3aGljaCB3aWxsIG5vdyByZXBsYWNlIHRoZSB0by1iZS1yZWxlYXNlIHZlcnNpb25zIHdpdGggXjAuMC4wXG4gICAgLy9cbiAgICAvLyBXZSBuZWVkIHRvIHNldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBnZXQgYGdhdGhlclZlcnNpb25zYCB0byBiZWhhdmUgZGlmZmVyZW50bHkgaW4gdGhlIHVuYnVtcFxuICAgIC8vIGludm9jYXRpb24gKGluIHRoZSBidW1wIGludm9jYXRpb24sIGl0IG1heSBjaGFuZ2UgdGhlIHBhY2thZ2UuanNvbiBkZXBlbmRlbmN5IHJhbmdlIGZyb20gYF4wLjAuMGAgdG8gYDEuMi4zYDtcbiAgICAvLyB1c2luZyBhIGRpZmZlcmVudCByYW5nZSBzeW1ib2wpLCBidXQgd2hlbiB1bmJ1bXBpbmcgaXQgbXVzdCBhbHdheXMgcmVzZXQgYmFjayB0byB0aGUgYF4wLjAuMGAgdmVyc2lvbi5cbiAgICB0aGlzLm9idGFpblVuYnVtcFRhc2soKS5zcGF3bihnYXRoZXJWZXJzaW9ucywge1xuICAgICAgZW52OiB7XG4gICAgICAgIFJFU0VUX1ZFUlNJT05TOiAndHJ1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICpcbiAgICogSWYgdGhpcyBpcyBhIHByaXZhdGUgcGFja2FnZSwgaXQgd29uJ3QgaGF2ZSBhIGJ1bXAgdGFzayB5ZXQuXG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpbkJ1bXBUYXNrKCk6IFRhc2sge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLndvcmtzcGFjZS50YXNrcy50cnlGaW5kKCdidW1wJykgPz9cbiAgICAgIHRoaXMud29ya3NwYWNlLmFkZFRhc2soJ2J1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQnVtcHMgdmVyc2lvbnMgb2YgbG9jYWwgZGVwZW5kZW5jaWVzJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICouXG4gICAqIElmIHRoaXMgaXMgYSBwcml2YXRlIHBhY2thZ2UsIGl0IHdvbid0IGhhdmUgYSBidW1wIHRhc2sgeWV0XG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpblVuYnVtcFRhc2soKTogVGFzayB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMud29ya3NwYWNlLnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpID8/XG4gICAgICB0aGlzLndvcmtzcGFjZS5hZGRUYXNrKCd1bmJ1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVzZXRzIHZlcnNpb25zIG9mIGxvY2FsIGRlcGVuZGVuY2llcyB0byAwLjAuMCcsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { typescript, DependencyType, Project } from 'projen';
|
|
2
|
+
import { Monorepo } from './monorepo';
|
|
2
3
|
import { TypeScriptWorkspaceOptions } from './typescript-workspace-options';
|
|
3
4
|
/**
|
|
4
5
|
* What kind of semver dependency to take
|
|
@@ -46,6 +47,7 @@ export interface IWorkspaceReference {
|
|
|
46
47
|
* A TypeScript workspace in a `yarn.Monorepo`
|
|
47
48
|
*/
|
|
48
49
|
export declare class TypeScriptWorkspace extends typescript.TypeScriptProject implements IWorkspaceReference {
|
|
50
|
+
readonly parent: Monorepo | undefined;
|
|
49
51
|
readonly workspaceDirectory: string;
|
|
50
52
|
readonly bundledDeps: string[];
|
|
51
53
|
readonly isPrivatePackage: boolean;
|
|
@@ -109,6 +109,10 @@ class TypeScriptWorkspace extends projen_1.typescript.TypeScriptProject {
|
|
|
109
109
|
...options.peerDeps ?? [],
|
|
110
110
|
].filter(isWorkspaceReference).map(w => [w.name, w.versionType])),
|
|
111
111
|
});
|
|
112
|
+
// Expose the monorepo publisher as project.release so that other code can find it via project.release?.publisher
|
|
113
|
+
// MUST be called after `this.monorepo.monorepoRelease?.addWorkspace(...)`
|
|
114
|
+
// @ts-ignore - readonly property, but we need to set it for upstream mixin compatibility
|
|
115
|
+
this.release = this.monorepo.monorepoRelease?.workspaceRelease(this);
|
|
112
116
|
// jest config
|
|
113
117
|
if (this.jest?.config && this.jest.config.preset === 'ts-jest') {
|
|
114
118
|
delete this.jest.config.globals?.['ts-jest'];
|
|
@@ -243,7 +247,7 @@ class TypeScriptWorkspace extends projen_1.typescript.TypeScriptProject {
|
|
|
243
247
|
}
|
|
244
248
|
exports.TypeScriptWorkspace = TypeScriptWorkspace;
|
|
245
249
|
_a = JSII_RTTI_SYMBOL_1;
|
|
246
|
-
TypeScriptWorkspace[_a] = { fqn: "cdklabs-projen-project-types.yarn.TypeScriptWorkspace", version: "0.
|
|
250
|
+
TypeScriptWorkspace[_a] = { fqn: "cdklabs-projen-project-types.yarn.TypeScriptWorkspace", version: "0.5.1" };
|
|
247
251
|
function packageNames(xs) {
|
|
248
252
|
if (!xs) {
|
|
249
253
|
return undefined;
|
|
@@ -260,4 +264,4 @@ function without(x, ...ks) {
|
|
|
260
264
|
function isWorkspaceReference(x) {
|
|
261
265
|
return typeof x === 'object' && !!x && ['isPrivatePackage', 'versionType', 'name', 'outdir'].every(k => x[k] !== undefined);
|
|
262
266
|
}
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC13b3Jrc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveWFybi90eXBlc2NyaXB0LXdvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtCQUFnQztBQUNoQyxtQ0FBMEc7QUFtRDFHOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQVFuRSxZQUFZLE9BQW1DO1FBQzdDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FDdkIsT0FBTyxFQUNQLFFBQVEsRUFDUixNQUFNLEVBQ04sYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLGtCQUFrQixDQUNuQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDM0MsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFFL0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUM7UUFDdkQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUUvRyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUVuRyxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsSUFBSSxFQUFFLE9BQU8s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SUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNuQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxDQUFVO0lBQ3RDLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBNkMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7QUFDcEwsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbXBvbmVudCwgamF2YXNjcmlwdCwgdHlwZXNjcmlwdCwgVGFza1N0ZXAsIFNvdXJjZUNvZGUsIERlcGVuZGVuY3lUeXBlLCBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IE1vbm9yZXBvIH0gZnJvbSAnLi9tb25vcmVwbyc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0V29ya3NwYWNlT3B0aW9ucyB9IGZyb20gJy4vdHlwZXNjcmlwdC13b3Jrc3BhY2Utb3B0aW9ucyc7XG5cbi8qKlxuICogV2hhdCBraW5kIG9mIHNlbXZlciBkZXBlbmRlbmN5IHRvIHRha2VcbiAqXG4gKiAtICdhbnktbWlub3InIGNvcnJlc3BvbmRzIHRvICdeMSdcbiAqIC0gJ2Z1dHVyZS1taW5vcicgY29ycmVzcG9uZHMgdG8gJ14xLjIuMydcbiAqIC0gJ2FueS1wYXRjaCcgdG8gJ34xLjInXG4gKiAtICdmdXR1cmUtcGF0Y2gnIGNvcnJlc3BvbmRzIHRvICd+MS4yLjMnXG4gKiAtICdleGFjdCcgY29ycmVzcG9uZHMgdG8gJzEuMi4zJ1xuICogLSAnYW55LWZ1dHVyZScgY29ycmVzcG9uZHMgdG8gJz49MS4yLjMnXG4gKiAtICdhbnknIGNvcnJlc3BvbmRzIHRvICcqJ1xuICovXG5leHBvcnQgdHlwZSBWZXJzaW9uVHlwZSA9ICdhbnktbWlub3InIHwgJ2Z1dHVyZS1taW5vcicgfCAnYW55LXBhdGNoJyB8ICdmdXR1cmUtcGF0Y2gnIHwgJ2V4YWN0JyB8ICdhbnktZnV0dXJlJyB8ICdhbnknO1xuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgd29ya3NwYWNlIGluIHRoZSBzYW1lIG1vbm9yZXBvXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgcGFja2FnZXMgaW4gdGhlIHNhbWUgbW9ub3JlcG8gd2hlbiBkZWNsYXJpbmdcbiAqIGBkZXBzYCBhbmQgYGRldkRlcHNgLlxuICpcbiAqIEJ5IGRlZmF1bHQsIGFsbCBgVHlwZVNjcmlwdFdvcmtzcGFjZWBzIGltcGxlbWVudCB0aGlzIGludGVyZmFjZSwgcmVwcmVzZW50aW5nIHRoZW1zZWx2ZXNcbiAqIHdpdGggYSBgXmAgZGVwZW5kZW5jeSBhbmQgYSByZXN0cmljdGlvbiB0aGF0IHB1YmxpYyBwYWNrYWdlcyBtdXN0IGhhdmUgcHVibGljIGRlcGVuZGVuY2llcy5cbiAqXG4gKiBUaGUgbWV0aG9kIGAuY3VzdG9taXplUmVmZXJlbmNlKHsgLi4uIH0pYCBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSB3b3Jrc3BhY2UgcmVmZXJlbmNlIHdpdGhcbiAqIGRpZmZlcmVudCBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV29ya3NwYWNlUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlZmVyZW5jZWQgd29ya3NwYWNlIHBhY2thZ2UgaXMgcHJpdmF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcml2YXRlUGFja2FnZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGRlcGVuZGVuY3kgbmFtZSBvZiB0aGUgcGFja2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VtdmVyIHJhbmdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gcmVmZXJlbmNlIHRoaXMgcGFja2FnZSB3aGVuIGl0IGlzIHJlbGVhc2VkXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uVHlwZTogVmVyc2lvblR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgdGhhdCBob2xkcyB0aGlzIHBhY2thZ2UgaW4gdGhlIG1vbm9yZXBvXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIFR5cGVTY3JpcHQgd29ya3NwYWNlIGluIGEgYHlhcm4uTW9ub3JlcG9gXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0V29ya3NwYWNlIGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCBpbXBsZW1lbnRzIElXb3Jrc3BhY2VSZWZlcmVuY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya3NwYWNlRGlyZWN0b3J5OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBidW5kbGVkRGVwczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGlzUHJpdmF0ZVBhY2thZ2U6IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uVHlwZSA9ICdmdXR1cmUtbWlub3InO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW9ub3JlcG86IE1vbm9yZXBvO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFR5cGVTY3JpcHRXb3Jrc3BhY2VPcHRpb25zKSB7XG4gICAgY29uc3QgcmVtYWluZGVyID0gd2l0aG91dChcbiAgICAgIG9wdGlvbnMsXG4gICAgICAncGFyZW50JyxcbiAgICAgICduYW1lJyxcbiAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAnZGVwcycsXG4gICAgICAncGVlckRlcHMnLFxuICAgICAgJ2RldkRlcHMnLFxuICAgICAgJ2V4Y2x1ZGVEZXBzRnJvbVVwZ3JhZGUnLFxuICAgICAgJ3JlcG9zaXRvcnknLFxuICAgICAgJ3dvcmtmbG93Tm9kZVZlcnNpb24nLFxuICAgICAgJ2FsbG93UHJpdmF0ZURlcHMnLFxuICAgICk7XG5cbiAgICBjb25zdCB1c2VFc2xpbnQgPSByZW1haW5kZXIuZXNsaW50ID8/IHRydWU7XG4gICAgY29uc3QgdXNlUHJldHRpZXIgPSByZW1haW5kZXIucHJldHRpZXIgPz8gdHJ1ZTtcblxuICAgIGNvbnN0IHdzU2NvcGUgPSByZW1haW5kZXIud29ya3NwYWNlU2NvcGUgPz8gJ3BhY2thZ2VzJztcbiAgICBjb25zdCB3b3Jrc3BhY2VEaXJlY3RvcnkgPSBgJHt3c1Njb3BlfS8ke29wdGlvbnMubmFtZX1gO1xuXG4gICAgY29uc3QgbnBtQWNjZXNzID0gb3B0aW9ucy5wYXJlbnQubW9ub3JlcG9SZWxlYXNlICYmICFvcHRpb25zLnByaXZhdGUgPyBqYXZhc2NyaXB0Lk5wbUFjY2Vzcy5QVUJMSUMgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCByZWxlYXNlRW52aXJvbm1lbnQgPSBvcHRpb25zLnJlbGVhc2VFbnZpcm9ubWVudCA/PyBvcHRpb25zLnBhcmVudC5vcHRpb25zLnJlbGVhc2VFbnZpcm9ubWVudDtcblxuICAgIHN1cGVyKHtcbiAgICAgIHBhcmVudDogb3B0aW9ucy5wYXJlbnQsXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgIHJlcG9zaXRvcnk6IG9wdGlvbnMucmVwb3NpdG9yeSA/PyBvcHRpb25zLnBhcmVudC5yZXBvc2l0b3J5VXJsLFxuICAgICAgcmVwb3NpdG9yeURpcmVjdG9yeTogd29ya3NwYWNlRGlyZWN0b3J5LFxuICAgICAgb3V0ZGlyOiB3b3Jrc3BhY2VEaXJlY3RvcnksXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ1JFUVVJUkVELUJVVC1TSE9VTEQtTk9ULUJFJyxcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOiBvcHRpb25zLnBhcmVudC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBwYWNrYWdlOiAhb3B0aW9ucy5wcml2YXRlLFxuICAgICAgZXNsaW50OiB1c2VFc2xpbnQsXG4gICAgICBwcmV0dGllcjogdXNlUHJldHRpZXIsXG4gICAgICBwcmV0dGllck9wdGlvbnM6IHVzZVByZXR0aWVyXG4gICAgICAgID8ge1xuICAgICAgICAgIG92ZXJyaWRlczogb3B0aW9ucy5wYXJlbnQucHJldHRpZXI/Lm92ZXJyaWRlcyxcbiAgICAgICAgICBzZXR0aW5nczogb3B0aW9ucy5wYXJlbnQucHJldHRpZXI/LnNldHRpbmdzLFxuICAgICAgICAgIC4uLnJlbWFpbmRlci5wcmV0dGllck9wdGlvbnMsXG4gICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBlc2xpbnRPcHRpb25zOiB1c2VFc2xpbnRcbiAgICAgICAgPyB7XG4gICAgICAgICAgZGlyczogW3JlbWFpbmRlci5zcmNkaXIgPz8gJ3NyYyddLFxuICAgICAgICAgIGRldmRpcnM6IFtyZW1haW5kZXIudGVzdGRpciA/PyAndGVzdCcsICdidWlsZC10b29scyddLFxuICAgICAgICAgIC4uLnJlbWFpbmRlci5lc2xpbnRPcHRpb25zLFxuICAgICAgICAgIHByZXR0aWVyOiB1c2VQcmV0dGllcixcbiAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuXG4gICAgICBkZXBzOiBwYWNrYWdlTmFtZXMob3B0aW9ucy5kZXBzKSxcbiAgICAgIHBlZXJEZXBzOiBwYWNrYWdlTmFtZXMob3B0aW9ucy5wZWVyRGVwcyksXG4gICAgICBkZXZEZXBzOiBwYWNrYWdlTmFtZXMob3B0aW9ucy5kZXZEZXBzKSxcbiAgICAgIHByb2plbkRldkRlcGVuZGVuY3k6IHRydWUsXG4gICAgICByZWxlYXNlRW52aXJvbm1lbnQsXG5cbiAgICAgIGRlcHNVcGdyYWRlOiBvcHRpb25zLmRlcHNVcGdyYWRlID8/IHRydWUsXG4gICAgICBkZXBzVXBncmFkZU9wdGlvbnM6IHtcbiAgICAgICAgd29ya2Zsb3c6IGZhbHNlLFxuICAgICAgICBjb29sZG93bjogb3B0aW9ucy5wYXJlbnQub3B0aW9ucy5kZXBzVXBncmFkZU9wdGlvbnM/LmNvb2xkb3duID8/IChvcHRpb25zLnBhcmVudC5vcHRpb25zLnlhcm5CZXJyeSA/IDMgOiB1bmRlZmluZWQpLFxuICAgICAgICBleGNsdWRlOiBbXG4gICAgICAgICAgLi4uKG9wdGlvbnMuZXhjbHVkZURlcHNGcm9tVXBncmFkZSA/PyBbXSksXG4gICAgICAgICAgLi4uKHBhY2thZ2VOYW1lcyhvcHRpb25zLmRlcHM/LmZpbHRlcihpc1dvcmtzcGFjZVJlZmVyZW5jZSkpID8/IFtdKSxcbiAgICAgICAgICAuLi4ocGFja2FnZU5hbWVzKG9wdGlvbnMucGVlckRlcHM/LmZpbHRlcihpc1dvcmtzcGFjZVJlZmVyZW5jZSkpID8/IFtdKSxcbiAgICAgICAgICAuLi4ocGFja2FnZU5hbWVzKG9wdGlvbnMuZGV2RGVwcz8uZmlsdGVyKGlzV29ya3NwYWNlUmVmZXJlbmNlKSkgPz8gW10pLFxuICAgICAgICBdLFxuICAgICAgfSxcblxuICAgICAgbnBtQWNjZXNzLFxuXG4gICAgICAvLyBEZXZpYXRpb24gZnJvbSB1cHN0cmVhbSBwcm9qZW46IHVwc3RyZWFtIHByb2plbiBkZWZhdWx0cyB0byBtaW5Ob2RlVmVyc2lvbiwgYnV0IHdlIGhhdmUgdG9vIG1hbnkgd29ya2Zsb3dzXG4gICAgICAvLyB0aGF0IHVzZSB0b29scyB0aGF0IHdhbnQgYSByZWNlbnQgTm9kZSB2ZXJzaW9uLCBzbyBkZWZhdWx0IHRvIGEgcmVhc29uYWJsZSBmbG9hdGluZyB2ZXJzaW9uLlxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG5cbiAgICAgIC4uLnJlbWFpbmRlcixcbiAgICB9KTtcblxuICAgIHRoaXMubW9ub3JlcG8gPSBvcHRpb25zLnBhcmVudDtcbiAgICB0aGlzLmlzUHJpdmF0ZVBhY2thZ2UgPSBvcHRpb25zLnByaXZhdGUgPz8gZmFsc2U7XG4gICAgdGhpcy53b3Jrc3BhY2VEaXJlY3RvcnkgPSB3b3Jrc3BhY2VEaXJlY3Rvcnk7XG5cbiAgICAvLyBJZiB0aGUgcGFja2FnZSBpcyBwdWJsaWMsIGFsbCBsb2NhbCBkZXBzIGFuZCBwZWVyIGRlcHMgbXVzdCBhbHNvIGJlIHB1YmxpYyBhbmQgb3RoZXIgVHlwZVNjcmlwdFdvcmtzcGFjZXNcbiAgICBpZiAoIXRoaXMuaXNQcml2YXRlUGFja2FnZSkge1xuICAgICAgY29uc3QgaWxsZWdhbERlcHMgPSBbXG4gICAgICAgIC8vIE92ZXJyaWRhYmxlIGZvciBkZXBzIGJlY2F1c2UgdGhpcyBtaWdodCBtYWtlIHNlbnNlIGlmIHdlIGJ1bmRsZSB0aGUgcGFja2FnZS5cbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzPy5maWx0ZXIoaXNXb3Jrc3BhY2VSZWZlcmVuY2UpLmZpbHRlcih3ID0+IHcuaXNQcml2YXRlUGFja2FnZSAmJiAhb3B0aW9ucy5hbGxvd1ByaXZhdGVEZXBzKSA/PyBbXSxcbiAgICAgICAgLy8gQnV0IG5vdCBmb3IgcGVlckRlcHMsIHRoZXkgbXVzdCBhbHdheXMgYmUgaW5zdGFsbGVkIGJ5IHRoZSB1c2VyLlxuICAgICAgICAuLi5vcHRpb25zLnBlZXJEZXBzPy5maWx0ZXIoaXNXb3Jrc3BhY2VSZWZlcmVuY2UpLmZpbHRlcih3ID0+IHcuaXNQcml2YXRlUGFja2FnZSkgPz8gW10sXG4gICAgICAgIC8vIGRldkRlcHMgY2FuIGJlIHByaXZhdGUsIHdlIGRvbid0IGNhcmUuXG4gICAgICBdO1xuXG4gICAgICBpZiAoaWxsZWdhbERlcHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihbXG4gICAgICAgICAgYCR7dGhpcy5uYW1lfSBpcyBwdWJsaWMgYW5kIGNhbm5vdCBkZXBlbmQgb24gYW55IHByaXZhdGUgcGFja2FnZXMgZnJvbSB0aGUgd29ya3NwYWNlLmAsXG4gICAgICAgICAgYFBsZWFzZSBmaXggdGhlc2UgZGVwZW5kZW5jaWVzOlxcbiAgICAtICR7aWxsZWdhbERlcHMubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oJ1xcbiAgICAtICcpfWAsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlZ2lzdGVyIHdpdGggcmVsZWFzZSB3b3JrZmxvd1xuICAgIHRoaXMubW9ub3JlcG8ubW9ub3JlcG9SZWxlYXNlPy5hZGRXb3Jrc3BhY2UodGhpcywge1xuICAgICAgcHJpdmF0ZTogdGhpcy5pc1ByaXZhdGVQYWNrYWdlLFxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogdGhpcy5ub2RlVmVyc2lvbixcbiAgICAgIG5wbURpc3RUYWc6IG9wdGlvbnMubnBtRGlzdFRhZyxcbiAgICAgIC8vIEluaGVyaXQgc2V0dGluZyBmcm9tIE1vbm9yZXBvIGlmIGNvbmZpZ3VyZWRcbiAgICAgIG5wbVRydXN0ZWRQdWJsaXNoaW5nOiBvcHRpb25zLm5wbVRydXN0ZWRQdWJsaXNoaW5nID8/IHRoaXMubW9ub3JlcG8ub3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyxcbiAgICAgIGVudmlyb25tZW50OiByZWxlYXNlRW52aXJvbm1lbnQsXG4gICAgICByZWxlYXNhYmxlQ29tbWl0czogb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyxcbiAgICAgIG5leHRWZXJzaW9uQ29tbWFuZDogb3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQsXG4gICAgICB2ZXJzaW9uQnJhbmNoT3B0aW9uczoge1xuICAgICAgICBtYWpvclZlcnNpb246IG9wdGlvbnMubWFqb3JWZXJzaW9uLFxuICAgICAgICBtaW5NYWpvclZlcnNpb246IG9wdGlvbnMubWluTWFqb3JWZXJzaW9uLFxuICAgICAgICBwcmVyZWxlYXNlOiBvcHRpb25zLnByZXJlbGVhc2UsXG4gICAgICB9LFxuICAgICAgcmVwb1J1bnRpbWVEZXBlbmRlbmNpZXM6IE9iamVjdC5mcm9tRW50cmllcyhbXG4gICAgICAgIC4uLm9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgICAgLi4ub3B0aW9ucy5wZWVyRGVwcyA/PyBbXSxcbiAgICAgIF0uZmlsdGVyKGlzV29ya3NwYWNlUmVmZXJlbmNlKS5tYXAodyA9PiBbdy5uYW1lLCB3LnZlcnNpb25UeXBlXSkpLFxuICAgIH0pO1xuXG4gICAgLy8gamVzdCBjb25maWdcbiAgICBpZiAodGhpcy5qZXN0Py5jb25maWcgJiYgdGhpcy5qZXN0LmNvbmZpZy5wcmVzZXQgPT09ICd0cy1qZXN0Jykge1xuICAgICAgZGVsZXRlIHRoaXMuamVzdC5jb25maWcuZ2xvYmFscz8uWyd0cy1qZXN0J107XG4gICAgICB0aGlzLmplc3QuY29uZmlnLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgJ14uK1xcXFwudHN4PyQnOiBbXG4gICAgICAgICAgJ3RzLWplc3QnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRzY29uZmlnOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRhc2tzXG4gICAgdGhpcy50YXNrcy50cnlGaW5kKCdkZWZhdWx0Jyk/LnJlc2V0KCdwcm9qZW4gZGVmYXVsdCcsIHsgY3dkOiByZWxhdGl2ZSh0aGlzLm91dGRpciwgb3B0aW9ucy5wYXJlbnQub3V0ZGlyKSB9KTtcbiAgICB0aGlzLnRhc2tzLnJlbW92ZVRhc2soJ2Nsb2JiZXInKTtcbiAgICB0aGlzLnRhc2tzLnJlbW92ZVRhc2soJ2VqZWN0Jyk7XG5cbiAgICBjb25zdCB1cGdyYWRlVGFza05hbWUgPSAndXBncmFkZSc7XG4gICAgY29uc3QgdXBncmFkZXMgPSB0aGlzLmNvbXBvbmVudHMuZmluZChcbiAgICAgIChjOiBDb21wb25lbnQpOiBjIGlzIGphdmFzY3JpcHQuVXBncmFkZURlcGVuZGVuY2llcyA9PiAoXG4gICAgICAgIGMgaW5zdGFuY2VvZiBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXMgJiYgYy51cGdyYWRlVGFzay5uYW1lID09PSB1cGdyYWRlVGFza05hbWVcbiAgICAgICksXG4gICAgKTtcblxuICAgIGlmICh1cGdyYWRlcykge1xuICAgICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKHVwZ3JhZGVzLnVwZ3JhZGVUYXNrLm5hbWUpO1xuICAgICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKHVwZ3JhZGVzLnBvc3RVcGdyYWRlVGFzay5uYW1lKTtcbiAgICAgIHRoaXMudGFza3MuYWRkVGFzaygnY2hlY2stZm9yLXVwZGF0ZXMnLCB7XG4gICAgICAgIGVudjogeyAuLi51cGdyYWRlcy51cGdyYWRlVGFzay5lbnZWYXJzIH0sXG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgdG9KU09OOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGVwcyA9ICh1cGdyYWRlcyBhcyBhbnkpLnJlbmRlclRhc2tTdGVwcygpIGFzIFRhc2tTdGVwW107XG4gICAgICAgICAgICByZXR1cm4gc3RlcHMuZmlsdGVyKFxuICAgICAgICAgICAgICAoc3RlcCkgPT4gc3RlcC5leGVjICYmIHR5cGVvZiBzdGVwLmV4ZWMgPT09ICdzdHJpbmcnICYmIHN0ZXAuZXhlYz8uaW5jbHVkZXMoJ25wbS1jaGVjay11cGRhdGVzJyksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgYW55LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQ29tcG9zaXRlIHByb2plY3QgYW5kIHJlZmVyZW5jZXNcbiAgICBjb25zdCBhbGxEZXBzID0gWy4uLihvcHRpb25zLmRlcHMgPz8gW10pLCAuLi4ob3B0aW9ucy5wZWVyRGVwcyA/PyBbXSksIC4uLihvcHRpb25zLmRldkRlcHMgPz8gW10pXTtcblxuICAgIGZvciAoY29uc3QgdHNjb25maWcgb2YgW3RoaXMudHNjb25maWcsIHRoaXMudHNjb25maWdEZXZdKSB7XG4gICAgICB0c2NvbmZpZz8uZmlsZS5hZGRPdmVycmlkZSgnY29tcGlsZXJPcHRpb25zLmNvbXBvc2l0ZScsIHRydWUpO1xuICAgICAgdHNjb25maWc/LmZpbGUuYWRkT3ZlcnJpZGUoXG4gICAgICAgICdyZWZlcmVuY2VzJyxcbiAgICAgICAgYWxsRGVwcy5maWx0ZXIoaXNXb3Jrc3BhY2VSZWZlcmVuY2UpLm1hcCgocCkgPT4gKHsgcGF0aDogcmVsYXRpdmUodGhpcy5vdXRkaXIsIHAub3V0ZGlyKSB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEFsbG93IHBhc3NpbmcgYWRkaXRpb25hbCBhcmdzIGxpa2UgYC0tZm9yY2VgIHRvIHRoZSBjb21waWxlIHRhc2tcbiAgICAvLyBOZWVkZWQgYmVjYXVzZSB3ZSB1c2UgY29tcG9zaXRlIHByb2plY3RzIHRoYXQgb2Z0ZW4gbmVlZCBhIHRzYyAtLWJ1aWxkIC0tZm9yY2VcbiAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ2NvbXBpbGUnKT8ucmVzZXQoJ3RzYyAtLWJ1aWxkJywge1xuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBXZSBoYW5kbGUgZGVwZW5kZW5jaWVzIHZpYSB0aGUgcGFyZW50IHByb2plY3RcblxuICAgIC8vIERpc2FibGUgd29ya3NwYWNlIHJlc29sdmVEZXBzQW5kV3JpdGVQYWNrYWdlSnNvblxuICAgIC8qIEB0cy1pZ25vcmUgYWNjZXNzIHByaXZhdGUgbWV0aG9kICovXG4gICAgY29uc3Qgb3JpZ2luYWxSZXNvbHZlID0gdGhpcy5wYWNrYWdlLnJlc29sdmVEZXBzQW5kV3JpdGVQYWNrYWdlSnNvbjtcbiAgICAvKiBAdHMtaWdub3JlIGFjY2VzcyBwcml2YXRlIG1ldGhvZCAqL1xuICAgIHRoaXMucGFja2FnZS5yZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb24gPSAoKSA9PiBbXTtcblxuICAgIC8vIEluc3RlYWQgb2YgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMsIHJlcXVlc3QgZnJvbSB0aGUgcGFyZW50XG4gICAgLyogQHRzLWlnbm9yZSBhY2Nlc3MgcHJpdmF0ZSBtZXRob2QgKi9cbiAgICB0aGlzLnBhY2thZ2UuaW5zdGFsbERlcGVuZGVuY2llcyA9ICh0cmlnZ2VyOiBqYXZhc2NyaXB0Lkluc3RhbGxUcmlnZ2VyKSA9PiB7XG4gICAgICBpZiAodHJpZ2dlci5yZWFzb24gPT09IGphdmFzY3JpcHQuSW5zdGFsbFJlYXNvbi5OT19OT0RFX01PRFVMRVMpIHtcbiAgICAgICAgLy8gSW4gYSBtb25vcmVwbywgYSB3b3Jrc3BhY2Ugbm9kZV9tb2R1bGVzIG1heSBsZWdpdGltYXRlbHkgbm90IGV4aXN0IGR1ZSB0byBob2lzdGluZy4gV2UganVzdCBza2lwIHRoaXMgY2FzZS5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgb3B0aW9ucy5wYXJlbnQucmVxdWVzdEluc3RhbGxEZXBlbmRlbmNpZXMoeyByZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb246ICgpID0+IG9yaWdpbmFsUmVzb2x2ZS5hcHBseSh0aGlzLnBhY2thZ2UpIH0pO1xuICAgIH07XG5cbiAgICAvLyBGaXggdGhlIGluc3RhbGwgdHJpZ2dlciBsb2dnaW5nIHRvIG1hdGNoIGFjdHVhbCByZXF1ZXN0c1xuICAgIC8qIEB0cy1pZ25vcmUgYWNjZXNzIHByaXZhdGUgbWV0aG9kICovXG4gICAgY29uc3Qgb3JpZ2luYWxMb2dUcmlnZ2VyID0gdGhpcy5wYWNrYWdlLmxvZ0luc3RhbGxUcmlnZ2VyO1xuICAgIC8qIEB0cy1pZ25vcmUgYWNjZXNzIHByaXZhdGUgbWV0aG9kICovXG4gICAgdGhpcy5wYWNrYWdlLmxvZ0luc3RhbGxUcmlnZ2VyID0gKHRyaWdnZXI6IEluc3RhbGxUcmlnZ2VyKSA9PiB7XG4gICAgICBpZiAodHJpZ2dlci5yZWFzb24gPT09IGphdmFzY3JpcHQuSW5zdGFsbFJlYXNvbi5OT19OT0RFX01PRFVMRVMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLyogQHRzLWlnbm9yZSBhY2Nlc3MgcHJpdmF0ZSBtZXRob2QgKi9cbiAgICAgIHJldHVybiBvcmlnaW5hbExvZ1RyaWdnZXIuYXBwbHkodGhpcy5wYWNrYWdlLCBbdHJpZ2dlcl0pO1xuICAgIH07XG5cbiAgICAvLyBQcml2YXRlIHBhY2thZ2VcbiAgICBpZiAob3B0aW9ucy5wcml2YXRlKSB7XG4gICAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3ByaXZhdGUnLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBZYXJuIEJlcnJ5IGluc3RhbGxDb25maWdcbiAgICBpZiAob3B0aW9ucy5ob2lzdGluZ0xpbWl0cykge1xuICAgICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdpbnN0YWxsQ29uZmlnJywgeyBob2lzdGluZ0xpbWl0czogb3B0aW9ucy5ob2lzdGluZ0xpbWl0cyB9KTtcbiAgICB9XG5cbiAgICAvLyBGaXhlc1xuICAgIHRoaXMuYWRkVHNjb25maWdEZXZGaXgoKTtcbiAgICB0aGlzLmFkZEVzbGludFJjRml4KCk7XG5cbiAgICB0aGlzLmJ1bmRsZWREZXBzLnB1c2goLi4ub3B0aW9ucy5idW5kbGVkRGVwcyA/PyBbXSk7XG5cbiAgICAvLyBJbmRpdmlkdWFsIHdvcmtzcGFjZSBwYWNrYWdlcyBzaG91bGRuJ3QgZGVwZW5kIG9uIFwicHJvamVuXCIsIGl0IGdldHMgYnJvdWdodCBpbiBhdCB0aGUgbW9ub3JlcG8gcm9vdFxuICAgIHRoaXMuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KCdwcm9qZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJIGRvbid0IGtub3cgd2h5IGB0c2NvbmZpZy5kZXYuanNvbmAgZG9lc24ndCBoYXZlIGFuIG91dGRpciwgb3Igd2hlcmUgaXQncyB1c2VkLFxuICAgKiBidXQgaXQncyBjYXVzaW5nIGluLXBsYWNlIGAuanNgIGZpbGVzIHRvIGFwcGVhci5cbiAgICovXG4gIHByb3RlY3RlZCBhZGRUc2NvbmZpZ0RldkZpeCgpIHtcbiAgICB0aGlzLnRzY29uZmlnRGV2LmZpbGUuYWRkT3ZlcnJpZGUoJ2NvbXBpbGVyT3B0aW9ucy5vdXREaXInLCAnbGliJyk7XG4gIH1cblxuICAvKipcbiAgICogTmVlZCB0byBoYWNrIEVTTGludCBjb25maWdcbiAgICpcbiAgICogLmVzbGludHJjLmpzIHdpbGwgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIEpTT04gZmlsZSwgaXQgd2lsbCBsb2FkIHRoZVxuICAgKiBKU09OIGZpbGUgYW5kIHBhdGNoIGl0IHdpdGggYSBkeW5hbWljIGRpcmVjdG9yeSBuYW1lIHRoYXQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluXG4gICAqIHBsYWluIEpTT04gKHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9pc3N1ZXMvMjQwNSkuXG4gICAqXG4gICAqIFNpbmNlIGVzbGludCBjb25maWcgaXMgbG9hZGVkIHdpdGggZGlmZmVyZW50IGN3ZCdzIGRlcGVuZGluZyBvbiB3aGV0aGVyIGl0J3NcbiAgICogZnJvbSB0aGUgVlNDb2RlIHBsdWdpbiBvciBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIHVzZSBhYnNvbHV0ZSBwYXRocyBldmVyeXdoZXJlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZEVzbGludFJjRml4KCkge1xuICAgIGNvbnN0IGVzbGludFJjID0gbmV3IFNvdXJjZUNvZGUodGhpcywgJy5lc2xpbnRyYy5qcycpO1xuICAgIGVzbGludFJjLmxpbmUoJ3ZhciBwYXRoID0gcmVxdWlyZShcXCdwYXRoXFwnKTsnKTtcbiAgICBlc2xpbnRSYy5saW5lKCd2YXIgZnMgPSByZXF1aXJlKFxcJ2ZzXFwnKTsnKTtcbiAgICBlc2xpbnRSYy5saW5lKCd2YXIgY29udGVudHMgPSBmcy5yZWFkRmlsZVN5bmMoYCR7X19kaXJuYW1lfS8uZXNsaW50cmMuanNvbmAsIHsgZW5jb2Rpbmc6IFxcJ3V0Zi04XFwnIH0pOycpO1xuICAgIGVzbGludFJjLmxpbmUoJy8vIFN0cmlwIGNvbW1lbnRzLCBKU09OLnBhcnNlKCkgZG9lc25cXCd0IGxpa2UgdGhvc2UnKTtcbiAgICBlc2xpbnRSYy5saW5lKCdjb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoL15cXFxcL1xcXFwvLiokL20sIFxcJ1xcJyk7Jyk7XG4gICAgZXNsaW50UmMubGluZSgndmFyIGpzb24gPSBKU09OLnBhcnNlKGNvbnRlbnRzKTsnKTtcbiAgICBlc2xpbnRSYy5saW5lKCcvLyBQYXRjaCB0aGUgLmpzb24gY29uZmlnIHdpdGggc29tZXRoaW5nIHRoYXQgY2FuIG9ubHkgYmUgcmVwcmVzZW50ZWQgaW4gSlMnKTtcbiAgICBlc2xpbnRSYy5saW5lKCdqc29uLnBhcnNlck9wdGlvbnMudHNjb25maWdSb290RGlyID0gX19kaXJuYW1lOycpO1xuICAgIGVzbGludFJjLmxpbmUoJ21vZHVsZS5leHBvcnRzID0ganNvbjsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYWxsIFByb2plY3RzIGluIHRoZSB3b3Jrc3BhY2UgdGhhdCBhcmUgYWxzbyBkZXBlbmRlbmNpZXMuXG4gICAqXG4gICAqIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGRlcGVuZGVuY3kgdHlwZS5cbiAgICovXG4gIHB1YmxpYyB3b3Jrc3BhY2VEZXBlbmRlbmNpZXModHlwZXM/OiBEZXBlbmRlbmN5VHlwZVtdKTogUHJvamVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5tb25vcmVwby5zdWJwcm9qZWN0cy5maWx0ZXIoKHNpYmxpbmcpID0+XG4gICAgICB0aGlzLmRlcHMuYWxsLnNvbWUoKGQpID0+IGQubmFtZSA9PT0gc2libGluZy5uYW1lICYmICghdHlwZXMgfHwgdHlwZXMuaW5jbHVkZXMoZC50eXBlKSkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgc3BlY2lhbGl6ZWQgcmVmZXJlbmNlIHRvIHRoaXMgd29ya3NwYWNlXG4gICAqL1xuICBwdWJsaWMgY3VzdG9taXplUmVmZXJlbmNlKHJlZk9wdHM/OiBSZWZlcmVuY2VPcHRpb25zKTogSVdvcmtzcGFjZVJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIG91dGRpcjogdGhpcy5vdXRkaXIsXG4gICAgICBpc1ByaXZhdGVQYWNrYWdlOiB0aGlzLmlzUHJpdmF0ZVBhY2thZ2UsXG4gICAgICB2ZXJzaW9uVHlwZTogcmVmT3B0cz8udmVyc2lvblR5cGUgPz8gdGhpcy52ZXJzaW9uVHlwZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB3b3Jrc3BhY2UuY3VzdG9taXplUmVmZXJlbmNlKClgIG1ldGhvZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW5jZU9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCB0eXBlIG9mIGRlcGVuZGVuY3kgdG8gdGFrZSBvbiB0aGlzIHBhY2thZ2VcbiAgICpcbiAgICogQnkgZGVmYXVsdCwgZGVwZW5kZW5jaWVzIHdpbGwgYmUgcmVmZXJlbmNlZCB3aXRoIGEgYF5gLCB3aGljaCBtZWFucyB0aGF0XG4gICAqIGNvbWUgaW5zdGFsbCB0aW1lIGEgbmV3ZXIgdmVyc2lvbiBtYXkgYmUgaW5zdGFsbGVkLlxuICAgKlxuICAgKiBDaG9vc2UgYSBkaWZmZXJlbnQgcmFuZ2UgdHlwZSB0byB0YWtlLCBmb3IgZXhhbXBsZSwgYW4gYGV4YWN0YCBkZXBlbmRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZnV0dXJlLW1pbm9yJ1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvblR5cGU/OiBWZXJzaW9uVHlwZTtcbn1cblxuZnVuY3Rpb24gcGFja2FnZU5hbWVzKHhzPzogQXJyYXk8c3RyaW5nIHwgSVdvcmtzcGFjZVJlZmVyZW5jZT4pOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gIGlmICgheHMpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiB4cy5tYXAoKHgpID0+ICh0eXBlb2YgeCA9PT0gJ3N0cmluZycgPyB4IDogeC5uYW1lKSk7XG59XG5cbmZ1bmN0aW9uIHdpdGhvdXQ8QSBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIGtleW9mIEE+KHg6IEEsIC4uLmtzOiBLW10pOiBPbWl0PEEsIEs+IHtcbiAgY29uc3QgcmV0ID0geyAuLi54IH07XG4gIGZvciAoY29uc3QgayBvZiBrcykge1xuICAgIGRlbGV0ZSByZXRba107XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gaXNXb3Jrc3BhY2VSZWZlcmVuY2UoeDogdW5rbm93bik6IHggaXMgSVdvcmtzcGFjZVJlZmVyZW5jZSB7XG4gIHJldHVybiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgISF4ICYmIChbJ2lzUHJpdmF0ZVBhY2thZ2UnLCAndmVyc2lvblR5cGUnLCAnbmFtZScsICdvdXRkaXInXSBzYXRpc2ZpZXMgQXJyYXk8a2V5b2YgSVdvcmtzcGFjZVJlZmVyZW5jZT4pLmV2ZXJ5KGsgPT4gKHggYXMgYW55KVtrXSAhPT0gdW5kZWZpbmVkKTtcbn1cbiJdfQ==
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC13b3Jrc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveWFybi90eXBlc2NyaXB0LXdvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtCQUFnQztBQUNoQyxtQ0FBMEc7QUFtRDFHOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQVNuRSxZQUFZLE9BQW1DO1FBQzdDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FDdkIsT0FBTyxFQUNQLFFBQVEsRUFDUixNQUFNLEVBQ04sYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLGtCQUFrQixDQUNuQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDM0MsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFFL0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUM7UUFDdkQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUUvRyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUVuRyxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsSUFBSSxFQUFFLE9BQU8s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QUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFzQyxDQUFJLEVBQUUsR0FBRyxFQUFPO0lBQ3BFLE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNyQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25CLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLENBQVU7SUFDdEMsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSyxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUE2QyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztBQUNwTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyByZWxhdGl2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBqYXZhc2NyaXB0LCB0eXBlc2NyaXB0LCBUYXNrU3RlcCwgU291cmNlQ29kZSwgRGVwZW5kZW5jeVR5cGUsIFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgTW9ub3JlcG8gfSBmcm9tICcuL21vbm9yZXBvJztcbmltcG9ydCB7IFR5cGVTY3JpcHRXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSAnLi90eXBlc2NyaXB0LXdvcmtzcGFjZS1vcHRpb25zJztcblxuLyoqXG4gKiBXaGF0IGtpbmQgb2Ygc2VtdmVyIGRlcGVuZGVuY3kgdG8gdGFrZVxuICpcbiAqIC0gJ2FueS1taW5vcicgY29ycmVzcG9uZHMgdG8gJ14xJ1xuICogLSAnZnV0dXJlLW1pbm9yJyBjb3JyZXNwb25kcyB0byAnXjEuMi4zJ1xuICogLSAnYW55LXBhdGNoJyB0byAnfjEuMidcbiAqIC0gJ2Z1dHVyZS1wYXRjaCcgY29ycmVzcG9uZHMgdG8gJ34xLjIuMydcbiAqIC0gJ2V4YWN0JyBjb3JyZXNwb25kcyB0byAnMS4yLjMnXG4gKiAtICdhbnktZnV0dXJlJyBjb3JyZXNwb25kcyB0byAnPj0xLjIuMydcbiAqIC0gJ2FueScgY29ycmVzcG9uZHMgdG8gJyonXG4gKi9cbmV4cG9ydCB0eXBlIFZlcnNpb25UeXBlID0gJ2FueS1taW5vcicgfCAnZnV0dXJlLW1pbm9yJyB8ICdhbnktcGF0Y2gnIHwgJ2Z1dHVyZS1wYXRjaCcgfCAnZXhhY3QnIHwgJ2FueS1mdXR1cmUnIHwgJ2FueSc7XG5cbi8qKlxuICogQSByZWZlcmVuY2UgdG8gYSB3b3Jrc3BhY2UgaW4gdGhlIHNhbWUgbW9ub3JlcG9cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSBwYWNrYWdlcyBpbiB0aGUgc2FtZSBtb25vcmVwbyB3aGVuIGRlY2xhcmluZ1xuICogYGRlcHNgIGFuZCBgZGV2RGVwc2AuXG4gKlxuICogQnkgZGVmYXVsdCwgYWxsIGBUeXBlU2NyaXB0V29ya3NwYWNlYHMgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlLCByZXByZXNlbnRpbmcgdGhlbXNlbHZlc1xuICogd2l0aCBhIGBeYCBkZXBlbmRlbmN5IGFuZCBhIHJlc3RyaWN0aW9uIHRoYXQgcHVibGljIHBhY2thZ2VzIG11c3QgaGF2ZSBwdWJsaWMgZGVwZW5kZW5jaWVzLlxuICpcbiAqIFRoZSBtZXRob2QgYC5jdXN0b21pemVSZWZlcmVuY2UoeyAuLi4gfSlgIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBhIHdvcmtzcGFjZSByZWZlcmVuY2Ugd2l0aFxuICogZGlmZmVyZW50IGJlaGF2aW9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElXb3Jrc3BhY2VSZWZlcmVuY2Uge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVmZXJlbmNlZCB3b3Jrc3BhY2UgcGFja2FnZSBpcyBwcml2YXRlXG4gICAqL1xuICByZWFkb25seSBpc1ByaXZhdGVQYWNrYWdlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVwZW5kZW5jeSBuYW1lIG9mIHRoZSBwYWNrYWdlXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZW12ZXIgcmFuZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCB0byByZWZlcmVuY2UgdGhpcyBwYWNrYWdlIHdoZW4gaXQgaXMgcmVsZWFzZWRcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25UeXBlOiBWZXJzaW9uVHlwZTtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0aGF0IGhvbGRzIHRoaXMgcGFja2FnZSBpbiB0aGUgbW9ub3JlcG9cbiAgICovXG4gIHJlYWRvbmx5IG91dGRpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgVHlwZVNjcmlwdCB3b3Jrc3BhY2UgaW4gYSBgeWFybi5Nb25vcmVwb2BcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRXb3Jrc3BhY2UgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0IGltcGxlbWVudHMgSVdvcmtzcGFjZVJlZmVyZW5jZSB7XG4gIHB1YmxpYyBkZWNsYXJlIHJlYWRvbmx5IHBhcmVudDogTW9ub3JlcG8gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSB3b3Jrc3BhY2VEaXJlY3Rvcnk6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJ1bmRsZWREZXBzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNQcml2YXRlUGFja2FnZTogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb25UeXBlID0gJ2Z1dHVyZS1taW5vcic7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtb25vcmVwbzogTW9ub3JlcG87XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogVHlwZVNjcmlwdFdvcmtzcGFjZU9wdGlvbnMpIHtcbiAgICBjb25zdCByZW1haW5kZXIgPSB3aXRob3V0KFxuICAgICAgb3B0aW9ucyxcbiAgICAgICdwYXJlbnQnLFxuICAgICAgJ25hbWUnLFxuICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICdkZXBzJyxcbiAgICAgICdwZWVyRGVwcycsXG4gICAgICAnZGV2RGVwcycsXG4gICAgICAnZXhjbHVkZURlcHNGcm9tVXBncmFkZScsXG4gICAgICAncmVwb3NpdG9yeScsXG4gICAgICAnd29ya2Zsb3dOb2RlVmVyc2lvbicsXG4gICAgICAnYWxsb3dQcml2YXRlRGVwcycsXG4gICAgKTtcblxuICAgIGNvbnN0IHVzZUVzbGludCA9IHJlbWFpbmRlci5lc2xpbnQgPz8gdHJ1ZTtcbiAgICBjb25zdCB1c2VQcmV0dGllciA9IHJlbWFpbmRlci5wcmV0dGllciA/PyB0cnVlO1xuXG4gICAgY29uc3Qgd3NTY29wZSA9IHJlbWFpbmRlci53b3Jrc3BhY2VTY29wZSA/PyAncGFja2FnZXMnO1xuICAgIGNvbnN0IHdvcmtzcGFjZURpcmVjdG9yeSA9IGAke3dzU2NvcGV9LyR7b3B0aW9ucy5uYW1lfWA7XG5cbiAgICBjb25zdCBucG1BY2Nlc3MgPSBvcHRpb25zLnBhcmVudC5tb25vcmVwb1JlbGVhc2UgJiYgIW9wdGlvbnMucHJpdmF0ZSA/IGphdmFzY3JpcHQuTnBtQWNjZXNzLlBVQkxJQyA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlbGVhc2VFbnZpcm9ubWVudCA9IG9wdGlvbnMucmVsZWFzZUVudmlyb25tZW50ID8/IG9wdGlvbnMucGFyZW50Lm9wdGlvbnMucmVsZWFzZUVudmlyb25tZW50O1xuXG4gICAgc3VwZXIoe1xuICAgICAgcGFyZW50OiBvcHRpb25zLnBhcmVudCxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uLFxuICAgICAgcmVwb3NpdG9yeTogb3B0aW9ucy5yZXBvc2l0b3J5ID8/IG9wdGlvbnMucGFyZW50LnJlcG9zaXRvcnlVcmwsXG4gICAgICByZXBvc2l0b3J5RGlyZWN0b3J5OiB3b3Jrc3BhY2VEaXJlY3RvcnksXG4gICAgICBvdXRkaXI6IHdvcmtzcGFjZURpcmVjdG9yeSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnUkVRVUlSRUQtQlVULVNIT1VMRC1OT1QtQkUnLFxuICAgICAgcGFja2FnZU1hbmFnZXI6IG9wdGlvbnMucGFyZW50LnBhY2thZ2UucGFja2FnZU1hbmFnZXIsXG4gICAgICByZWxlYXNlOiBmYWxzZSxcbiAgICAgIHBhY2thZ2U6ICFvcHRpb25zLnByaXZhdGUsXG4gICAgICBlc2xpbnQ6IHVzZUVzbGludCxcbiAgICAgIHByZXR0aWVyOiB1c2VQcmV0dGllcixcbiAgICAgIHByZXR0aWVyT3B0aW9uczogdXNlUHJldHRpZXJcbiAgICAgICAgPyB7XG4gICAgICAgICAgb3ZlcnJpZGVzOiBvcHRpb25zLnBhcmVudC5wcmV0dGllcj8ub3ZlcnJpZGVzLFxuICAgICAgICAgIHNldHRpbmdzOiBvcHRpb25zLnBhcmVudC5wcmV0dGllcj8uc2V0dGluZ3MsXG4gICAgICAgICAgLi4ucmVtYWluZGVyLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGVzbGludE9wdGlvbnM6IHVzZUVzbGludFxuICAgICAgICA/IHtcbiAgICAgICAgICBkaXJzOiBbcmVtYWluZGVyLnNyY2RpciA/PyAnc3JjJ10sXG4gICAgICAgICAgZGV2ZGlyczogW3JlbWFpbmRlci50ZXN0ZGlyID8/ICd0ZXN0JywgJ2J1aWxkLXRvb2xzJ10sXG4gICAgICAgICAgLi4ucmVtYWluZGVyLmVzbGludE9wdGlvbnMsXG4gICAgICAgICAgcHJldHRpZXI6IHVzZVByZXR0aWVyLFxuICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG5cbiAgICAgIGRlcHM6IHBhY2thZ2VOYW1lcyhvcHRpb25zLmRlcHMpLFxuICAgICAgcGVlckRlcHM6IHBhY2thZ2VOYW1lcyhvcHRpb25zLnBlZXJEZXBzKSxcbiAgICAgIGRldkRlcHM6IHBhY2thZ2VOYW1lcyhvcHRpb25zLmRldkRlcHMpLFxuICAgICAgcHJvamVuRGV2RGVwZW5kZW5jeTogdHJ1ZSxcbiAgICAgIHJlbGVhc2VFbnZpcm9ubWVudCxcblxuICAgICAgZGVwc1VwZ3JhZGU6IG9wdGlvbnMuZGVwc1VwZ3JhZGUgPz8gdHJ1ZSxcbiAgICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvdzogZmFsc2UsXG4gICAgICAgIGNvb2xkb3duOiBvcHRpb25zLnBhcmVudC5vcHRpb25zLmRlcHNVcGdyYWRlT3B0aW9ucz8uY29vbGRvd24gPz8gKG9wdGlvbnMucGFyZW50Lm9wdGlvbnMueWFybkJlcnJ5ID8gMyA6IHVuZGVmaW5lZCksXG4gICAgICAgIGV4Y2x1ZGU6IFtcbiAgICAgICAgICAuLi4ob3B0aW9ucy5leGNsdWRlRGVwc0Zyb21VcGdyYWRlID8/IFtdKSxcbiAgICAgICAgICAuLi4ocGFja2FnZU5hbWVzKG9wdGlvbnMuZGVwcz8uZmlsdGVyKGlzV29ya3NwYWNlUmVmZXJlbmNlKSkgPz8gW10pLFxuICAgICAgICAgIC4uLihwYWNrYWdlTmFtZXMob3B0aW9ucy5wZWVyRGVwcz8uZmlsdGVyKGlzV29ya3NwYWNlUmVmZXJlbmNlKSkgPz8gW10pLFxuICAgICAgICAgIC4uLihwYWNrYWdlTmFtZXMob3B0aW9ucy5kZXZEZXBzPy5maWx0ZXIoaXNXb3Jrc3BhY2VSZWZlcmVuY2UpKSA/PyBbXSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuXG4gICAgICBucG1BY2Nlc3MsXG5cbiAgICAgIC8vIERldmlhdGlvbiBmcm9tIHVwc3RyZWFtIHByb2plbjogdXBzdHJlYW0gcHJvamVuIGRlZmF1bHRzIHRvIG1pbk5vZGVWZXJzaW9uLCBidXQgd2UgaGF2ZSB0b28gbWFueSB3b3JrZmxvd3NcbiAgICAgIC8vIHRoYXQgdXNlIHRvb2xzIHRoYXQgd2FudCBhIHJlY2VudCBOb2RlIHZlcnNpb24sIHNvIGRlZmF1bHQgdG8gYSByZWFzb25hYmxlIGZsb2F0aW5nIHZlcnNpb24uXG4gICAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBvcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb24gPz8gJ2x0cy8qJyxcblxuICAgICAgLi4ucmVtYWluZGVyLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tb25vcmVwbyA9IG9wdGlvbnMucGFyZW50O1xuICAgIHRoaXMuaXNQcml2YXRlUGFja2FnZSA9IG9wdGlvbnMucHJpdmF0ZSA/PyBmYWxzZTtcbiAgICB0aGlzLndvcmtzcGFjZURpcmVjdG9yeSA9IHdvcmtzcGFjZURpcmVjdG9yeTtcblxuICAgIC8vIElmIHRoZSBwYWNrYWdlIGlzIHB1YmxpYywgYWxsIGxvY2FsIGRlcHMgYW5kIHBlZXIgZGVwcyBtdXN0IGFsc28gYmUgcHVibGljIGFuZCBvdGhlciBUeXBlU2NyaXB0V29ya3NwYWNlc1xuICAgIGlmICghdGhpcy5pc1ByaXZhdGVQYWNrYWdlKSB7XG4gICAgICBjb25zdCBpbGxlZ2FsRGVwcyA9IFtcbiAgICAgICAgLy8gT3ZlcnJpZGFibGUgZm9yIGRlcHMgYmVjYXVzZSB0aGlzIG1pZ2h0IG1ha2Ugc2Vuc2UgaWYgd2UgYnVuZGxlIHRoZSBwYWNrYWdlLlxuICAgICAgICAuLi5vcHRpb25zLmRlcHM/LmZpbHRlcihpc1dvcmtzcGFjZVJlZmVyZW5jZSkuZmlsdGVyKHcgPT4gdy5pc1ByaXZhdGVQYWNrYWdlICYmICFvcHRpb25zLmFsbG93UHJpdmF0ZURlcHMpID8/IFtdLFxuICAgICAgICAvLyBCdXQgbm90IGZvciBwZWVyRGVwcywgdGhleSBtdXN0IGFsd2F5cyBiZSBpbnN0YWxsZWQgYnkgdGhlIHVzZXIuXG4gICAgICAgIC4uLm9wdGlvbnMucGVlckRlcHM/LmZpbHRlcihpc1dvcmtzcGFjZVJlZmVyZW5jZSkuZmlsdGVyKHcgPT4gdy5pc1ByaXZhdGVQYWNrYWdlKSA/PyBbXSxcbiAgICAgICAgLy8gZGV2RGVwcyBjYW4gYmUgcHJpdmF0ZSwgd2UgZG9uJ3QgY2FyZS5cbiAgICAgIF07XG5cbiAgICAgIGlmIChpbGxlZ2FsRGVwcy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFtcbiAgICAgICAgICBgJHt0aGlzLm5hbWV9IGlzIHB1YmxpYyBhbmQgY2Fubm90IGRlcGVuZCBvbiBhbnkgcHJpdmF0ZSBwYWNrYWdlcyBmcm9tIHRoZSB3b3Jrc3BhY2UuYCxcbiAgICAgICAgICBgUGxlYXNlIGZpeCB0aGVzZSBkZXBlbmRlbmNpZXM6XFxuICAgIC0gJHtpbGxlZ2FsRGVwcy5tYXAoKHApID0+IHAubmFtZSkuam9pbignXFxuICAgIC0gJyl9YCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVnaXN0ZXIgd2l0aCByZWxlYXNlIHdvcmtmbG93XG4gICAgdGhpcy5tb25vcmVwby5tb25vcmVwb1JlbGVhc2U/LmFkZFdvcmtzcGFjZSh0aGlzLCB7XG4gICAgICBwcml2YXRlOiB0aGlzLmlzUHJpdmF0ZVBhY2thZ2UsXG4gICAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiB0aGlzLm5vZGVWZXJzaW9uLFxuICAgICAgbnBtRGlzdFRhZzogb3B0aW9ucy5ucG1EaXN0VGFnLFxuICAgICAgLy8gSW5oZXJpdCBzZXR0aW5nIGZyb20gTW9ub3JlcG8gaWYgY29uZmlndXJlZFxuICAgICAgbnBtVHJ1c3RlZFB1Ymxpc2hpbmc6IG9wdGlvbnMubnBtVHJ1c3RlZFB1Ymxpc2hpbmcgPz8gdGhpcy5tb25vcmVwby5vcHRpb25zLm5wbVRydXN0ZWRQdWJsaXNoaW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHJlbGVhc2VFbnZpcm9ubWVudCxcbiAgICAgIHJlbGVhc2FibGVDb21taXRzOiBvcHRpb25zLnJlbGVhc2FibGVDb21taXRzLFxuICAgICAgbmV4dFZlcnNpb25Db21tYW5kOiBvcHRpb25zLm5leHRWZXJzaW9uQ29tbWFuZCxcbiAgICAgIHZlcnNpb25CcmFuY2hPcHRpb25zOiB7XG4gICAgICAgIG1ham9yVmVyc2lvbjogb3B0aW9ucy5tYWpvclZlcnNpb24sXG4gICAgICAgIG1pbk1ham9yVmVyc2lvbjogb3B0aW9ucy5taW5NYWpvclZlcnNpb24sXG4gICAgICAgIHByZXJlbGVhc2U6IG9wdGlvbnMucHJlcmVsZWFzZSxcbiAgICAgIH0sXG4gICAgICByZXBvUnVudGltZURlcGVuZGVuY2llczogT2JqZWN0LmZyb21FbnRyaWVzKFtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzID8/IFtdLFxuICAgICAgICAuLi5vcHRpb25zLnBlZXJEZXBzID8/IFtdLFxuICAgICAgXS5maWx0ZXIoaXNXb3Jrc3BhY2VSZWZlcmVuY2UpLm1hcCh3ID0+IFt3Lm5hbWUsIHcudmVyc2lvblR5cGVdKSksXG4gICAgfSk7XG5cbiAgICAvLyBFeHBvc2UgdGhlIG1vbm9yZXBvIHB1Ymxpc2hlciBhcyBwcm9qZWN0LnJlbGVhc2Ugc28gdGhhdCBvdGhlciBjb2RlIGNhbiBmaW5kIGl0IHZpYSBwcm9qZWN0LnJlbGVhc2U/LnB1Ymxpc2hlclxuICAgIC8vIE1VU1QgYmUgY2FsbGVkIGFmdGVyIGB0aGlzLm1vbm9yZXBvLm1vbm9yZXBvUmVsZWFzZT8uYWRkV29ya3NwYWNlKC4uLilgXG4gICAgLy8gQHRzLWlnbm9yZSAtIHJlYWRvbmx5IHByb3BlcnR5LCBidXQgd2UgbmVlZCB0byBzZXQgaXQgZm9yIHVwc3RyZWFtIG1peGluIGNvbXBhdGliaWxpdHlcbiAgICB0aGlzLnJlbGVhc2UgPSB0aGlzLm1vbm9yZXBvLm1vbm9yZXBvUmVsZWFzZT8ud29ya3NwYWNlUmVsZWFzZSh0aGlzKTtcblxuICAgIC8vIGplc3QgY29uZmlnXG4gICAgaWYgKHRoaXMuamVzdD8uY29uZmlnICYmIHRoaXMuamVzdC5jb25maWcucHJlc2V0ID09PSAndHMtamVzdCcpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLmplc3QuY29uZmlnLmdsb2JhbHM/LlsndHMtamVzdCddO1xuICAgICAgdGhpcy5qZXN0LmNvbmZpZy50cmFuc2Zvcm0gPSB7XG4gICAgICAgICdeLitcXFxcLnRzeD8kJzogW1xuICAgICAgICAgICd0cy1qZXN0JyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0c2NvbmZpZzogdGhpcy50c2NvbmZpZ0Rldi5maWxlTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBUYXNrc1xuICAgIHRoaXMudGFza3MudHJ5RmluZCgnZGVmYXVsdCcpPy5yZXNldCgncHJvamVuIGRlZmF1bHQnLCB7IGN3ZDogcmVsYXRpdmUodGhpcy5vdXRkaXIsIG9wdGlvbnMucGFyZW50Lm91dGRpcikgfSk7XG4gICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKCdjbG9iYmVyJyk7XG4gICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKCdlamVjdCcpO1xuXG4gICAgY29uc3QgdXBncmFkZVRhc2tOYW1lID0gJ3VwZ3JhZGUnO1xuICAgIGNvbnN0IHVwZ3JhZGVzID0gdGhpcy5jb21wb25lbnRzLmZpbmQoXG4gICAgICAoYzogQ29tcG9uZW50KTogYyBpcyBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXMgPT4gKFxuICAgICAgICBjIGluc3RhbmNlb2YgamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzICYmIGMudXBncmFkZVRhc2submFtZSA9PT0gdXBncmFkZVRhc2tOYW1lXG4gICAgICApLFxuICAgICk7XG5cbiAgICBpZiAodXBncmFkZXMpIHtcbiAgICAgIHRoaXMudGFza3MucmVtb3ZlVGFzayh1cGdyYWRlcy51cGdyYWRlVGFzay5uYW1lKTtcbiAgICAgIHRoaXMudGFza3MucmVtb3ZlVGFzayh1cGdyYWRlcy5wb3N0VXBncmFkZVRhc2submFtZSk7XG4gICAgICB0aGlzLnRhc2tzLmFkZFRhc2soJ2NoZWNrLWZvci11cGRhdGVzJywge1xuICAgICAgICBlbnY6IHsgLi4udXBncmFkZXMudXBncmFkZVRhc2suZW52VmFycyB9LFxuICAgICAgICBzdGVwczoge1xuICAgICAgICAgIHRvSlNPTjogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RlcHMgPSAodXBncmFkZXMgYXMgYW55KS5yZW5kZXJUYXNrU3RlcHMoKSBhcyBUYXNrU3RlcFtdO1xuICAgICAgICAgICAgcmV0dXJuIHN0ZXBzLmZpbHRlcihcbiAgICAgICAgICAgICAgKHN0ZXApID0+IHN0ZXAuZXhlYyAmJiB0eXBlb2Ygc3RlcC5leGVjID09PSAnc3RyaW5nJyAmJiBzdGVwLmV4ZWM/LmluY2x1ZGVzKCducG0tY2hlY2stdXBkYXRlcycpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9IGFzIGFueSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIENvbXBvc2l0ZSBwcm9qZWN0IGFuZCByZWZlcmVuY2VzXG4gICAgY29uc3QgYWxsRGVwcyA9IFsuLi4ob3B0aW9ucy5kZXBzID8/IFtdKSwgLi4uKG9wdGlvbnMucGVlckRlcHMgPz8gW10pLCAuLi4ob3B0aW9ucy5kZXZEZXBzID8/IFtdKV07XG5cbiAgICBmb3IgKGNvbnN0IHRzY29uZmlnIG9mIFt0aGlzLnRzY29uZmlnLCB0aGlzLnRzY29uZmlnRGV2XSkge1xuICAgICAgdHNjb25maWc/LmZpbGUuYWRkT3ZlcnJpZGUoJ2NvbXBpbGVyT3B0aW9ucy5jb21wb3NpdGUnLCB0cnVlKTtcbiAgICAgIHRzY29uZmlnPy5maWxlLmFkZE92ZXJyaWRlKFxuICAgICAgICAncmVmZXJlbmNlcycsXG4gICAgICAgIGFsbERlcHMuZmlsdGVyKGlzV29ya3NwYWNlUmVmZXJlbmNlKS5tYXAoKHApID0+ICh7IHBhdGg6IHJlbGF0aXZlKHRoaXMub3V0ZGlyLCBwLm91dGRpcikgfSkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBwYXNzaW5nIGFkZGl0aW9uYWwgYXJncyBsaWtlIGAtLWZvcmNlYCB0byB0aGUgY29tcGlsZSB0YXNrXG4gICAgLy8gTmVlZGVkIGJlY2F1c2Ugd2UgdXNlIGNvbXBvc2l0ZSBwcm9qZWN0cyB0aGF0IG9mdGVuIG5lZWQgYSB0c2MgLS1idWlsZCAtLWZvcmNlXG4gICAgdGhpcy50YXNrcy50cnlGaW5kKCdjb21waWxlJyk/LnJlc2V0KCd0c2MgLS1idWlsZCcsIHtcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gV2UgaGFuZGxlIGRlcGVuZGVuY2llcyB2aWEgdGhlIHBhcmVudCBwcm9qZWN0XG5cbiAgICAvLyBEaXNhYmxlIHdvcmtzcGFjZSByZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb25cbiAgICAvKiBAdHMtaWdub3JlIGFjY2VzcyBwcml2YXRlIG1ldGhvZCAqL1xuICAgIGNvbnN0IG9yaWdpbmFsUmVzb2x2ZSA9IHRoaXMucGFja2FnZS5yZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb247XG4gICAgLyogQHRzLWlnbm9yZSBhY2Nlc3MgcHJpdmF0ZSBtZXRob2QgKi9cbiAgICB0aGlzLnBhY2thZ2UucmVzb2x2ZURlcHNBbmRXcml0ZVBhY2thZ2VKc29uID0gKCkgPT4gW107XG5cbiAgICAvLyBJbnN0ZWFkIG9mIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzLCByZXF1ZXN0IGZyb20gdGhlIHBhcmVudFxuICAgIC8qIEB0cy1pZ25vcmUgYWNjZXNzIHByaXZhdGUgbWV0aG9kICovXG4gICAgdGhpcy5wYWNrYWdlLmluc3RhbGxEZXBlbmRlbmNpZXMgPSAodHJpZ2dlcjogamF2YXNjcmlwdC5JbnN0YWxsVHJpZ2dlcikgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIucmVhc29uID09PSBqYXZhc2NyaXB0Lkluc3RhbGxSZWFzb24uTk9fTk9ERV9NT0RVTEVTKSB7XG4gICAgICAgIC8vIEluIGEgbW9ub3JlcG8sIGEgd29ya3NwYWNlIG5vZGVfbW9kdWxlcyBtYXkgbGVnaXRpbWF0ZWx5IG5vdCBleGlzdCBkdWUgdG8gaG9pc3RpbmcuIFdlIGp1c3Qgc2tpcCB0aGlzIGNhc2UuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMucGFyZW50LnJlcXVlc3RJbnN0YWxsRGVwZW5kZW5jaWVzKHsgcmVzb2x2ZURlcHNBbmRXcml0ZVBhY2thZ2VKc29uOiAoKSA9PiBvcmlnaW5hbFJlc29sdmUuYXBwbHkodGhpcy5wYWNrYWdlKSB9KTtcbiAgICB9O1xuXG4gICAgLy8gRml4IHRoZSBpbnN0YWxsIHRyaWdnZXIgbG9nZ2luZyB0byBtYXRjaCBhY3R1YWwgcmVxdWVzdHNcbiAgICAvKiBAdHMtaWdub3JlIGFjY2VzcyBwcml2YXRlIG1ldGhvZCAqL1xuICAgIGNvbnN0IG9yaWdpbmFsTG9nVHJpZ2dlciA9IHRoaXMucGFja2FnZS5sb2dJbnN0YWxsVHJpZ2dlcjtcbiAgICAvKiBAdHMtaWdub3JlIGFjY2VzcyBwcml2YXRlIG1ldGhvZCAqL1xuICAgIHRoaXMucGFja2FnZS5sb2dJbnN0YWxsVHJpZ2dlciA9ICh0cmlnZ2VyOiBJbnN0YWxsVHJpZ2dlcikgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIucmVhc29uID09PSBqYXZhc2NyaXB0Lkluc3RhbGxSZWFzb24uTk9fTk9ERV9NT0RVTEVTKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8qIEB0cy1pZ25vcmUgYWNjZXNzIHByaXZhdGUgbWV0aG9kICovXG4gICAgICByZXR1cm4gb3JpZ2luYWxMb2dUcmlnZ2VyLmFwcGx5KHRoaXMucGFja2FnZSwgW3RyaWdnZXJdKTtcbiAgICB9O1xuXG4gICAgLy8gUHJpdmF0ZSBwYWNrYWdlXG4gICAgaWYgKG9wdGlvbnMucHJpdmF0ZSkge1xuICAgICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdwcml2YXRlJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gWWFybiBCZXJyeSBpbnN0YWxsQ29uZmlnXG4gICAgaWYgKG9wdGlvbnMuaG9pc3RpbmdMaW1pdHMpIHtcbiAgICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnaW5zdGFsbENvbmZpZycsIHsgaG9pc3RpbmdMaW1pdHM6IG9wdGlvbnMuaG9pc3RpbmdMaW1pdHMgfSk7XG4gICAgfVxuXG4gICAgLy8gRml4ZXNcbiAgICB0aGlzLmFkZFRzY29uZmlnRGV2Rml4KCk7XG4gICAgdGhpcy5hZGRFc2xpbnRSY0ZpeCgpO1xuXG4gICAgdGhpcy5idW5kbGVkRGVwcy5wdXNoKC4uLm9wdGlvbnMuYnVuZGxlZERlcHMgPz8gW10pO1xuXG4gICAgLy8gSW5kaXZpZHVhbCB3b3Jrc3BhY2UgcGFja2FnZXMgc2hvdWxkbid0IGRlcGVuZCBvbiBcInByb2plblwiLCBpdCBnZXRzIGJyb3VnaHQgaW4gYXQgdGhlIG1vbm9yZXBvIHJvb3RcbiAgICB0aGlzLmRlcHMucmVtb3ZlRGVwZW5kZW5jeSgncHJvamVuJyk7XG4gIH1cblxuICAvKipcbiAgICogSSBkb24ndCBrbm93IHdoeSBgdHNjb25maWcuZGV2Lmpzb25gIGRvZXNuJ3QgaGF2ZSBhbiBvdXRkaXIsIG9yIHdoZXJlIGl0J3MgdXNlZCxcbiAgICogYnV0IGl0J3MgY2F1c2luZyBpbi1wbGFjZSBgLmpzYCBmaWxlcyB0byBhcHBlYXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWRkVHNjb25maWdEZXZGaXgoKSB7XG4gICAgdGhpcy50c2NvbmZpZ0Rldi5maWxlLmFkZE92ZXJyaWRlKCdjb21waWxlck9wdGlvbnMub3V0RGlyJywgJ2xpYicpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5lZWQgdG8gaGFjayBFU0xpbnQgY29uZmlnXG4gICAqXG4gICAqIC5lc2xpbnRyYy5qcyB3aWxsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBKU09OIGZpbGUsIGl0IHdpbGwgbG9hZCB0aGVcbiAgICogSlNPTiBmaWxlIGFuZCBwYXRjaCBpdCB3aXRoIGEgZHluYW1pYyBkaXJlY3RvcnkgbmFtZSB0aGF0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBpblxuICAgKiBwbGFpbiBKU09OIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vaXNzdWVzLzI0MDUpLlxuICAgKlxuICAgKiBTaW5jZSBlc2xpbnQgY29uZmlnIGlzIGxvYWRlZCB3aXRoIGRpZmZlcmVudCBjd2QncyBkZXBlbmRpbmcgb24gd2hldGhlciBpdCdzXG4gICAqIGZyb20gdGhlIFZTQ29kZSBwbHVnaW4gb3IgZnJvbSB0aGUgY29tbWFuZCBsaW5lLCB1c2UgYWJzb2x1dGUgcGF0aHMgZXZlcnl3aGVyZS5cbiAgICovXG4gIHByb3RlY3RlZCBhZGRFc2xpbnRSY0ZpeCgpIHtcbiAgICBjb25zdCBlc2xpbnRSYyA9IG5ldyBTb3VyY2VDb2RlKHRoaXMsICcuZXNsaW50cmMuanMnKTtcbiAgICBlc2xpbnRSYy5saW5lKCd2YXIgcGF0aCA9IHJlcXVpcmUoXFwncGF0aFxcJyk7Jyk7XG4gICAgZXNsaW50UmMubGluZSgndmFyIGZzID0gcmVxdWlyZShcXCdmc1xcJyk7Jyk7XG4gICAgZXNsaW50UmMubGluZSgndmFyIGNvbnRlbnRzID0gZnMucmVhZEZpbGVTeW5jKGAke19fZGlybmFtZX0vLmVzbGludHJjLmpzb25gLCB7IGVuY29kaW5nOiBcXCd1dGYtOFxcJyB9KTsnKTtcbiAgICBlc2xpbnRSYy5saW5lKCcvLyBTdHJpcCBjb21tZW50cywgSlNPTi5wYXJzZSgpIGRvZXNuXFwndCBsaWtlIHRob3NlJyk7XG4gICAgZXNsaW50UmMubGluZSgnY29udGVudHMgPSBjb250ZW50cy5yZXBsYWNlKC9eXFxcXC9cXFxcLy4qJC9tLCBcXCdcXCcpOycpO1xuICAgIGVzbGludFJjLmxpbmUoJ3ZhciBqc29uID0gSlNPTi5wYXJzZShjb250ZW50cyk7Jyk7XG4gICAgZXNsaW50UmMubGluZSgnLy8gUGF0Y2ggdGhlIC5qc29uIGNvbmZpZyB3aXRoIHNvbWV0aGluZyB0aGF0IGNhbiBvbmx5IGJlIHJlcHJlc2VudGVkIGluIEpTJyk7XG4gICAgZXNsaW50UmMubGluZSgnanNvbi5wYXJzZXJPcHRpb25zLnRzY29uZmlnUm9vdERpciA9IF9fZGlybmFtZTsnKTtcbiAgICBlc2xpbnRSYy5saW5lKCdtb2R1bGUuZXhwb3J0cyA9IGpzb247Jyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBQcm9qZWN0cyBpbiB0aGUgd29ya3NwYWNlIHRoYXQgYXJlIGFsc28gZGVwZW5kZW5jaWVzLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGZpbHRlciBieSBkZXBlbmRlbmN5IHR5cGUuXG4gICAqL1xuICBwdWJsaWMgd29ya3NwYWNlRGVwZW5kZW5jaWVzKHR5cGVzPzogRGVwZW5kZW5jeVR5cGVbXSk6IFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMubW9ub3JlcG8uc3VicHJvamVjdHMuZmlsdGVyKChzaWJsaW5nKSA9PlxuICAgICAgdGhpcy5kZXBzLmFsbC5zb21lKChkKSA9PiBkLm5hbWUgPT09IHNpYmxpbmcubmFtZSAmJiAoIXR5cGVzIHx8IHR5cGVzLmluY2x1ZGVzKGQudHlwZSkpKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHNwZWNpYWxpemVkIHJlZmVyZW5jZSB0byB0aGlzIHdvcmtzcGFjZVxuICAgKi9cbiAgcHVibGljIGN1c3RvbWl6ZVJlZmVyZW5jZShyZWZPcHRzPzogUmVmZXJlbmNlT3B0aW9ucyk6IElXb3Jrc3BhY2VSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBvdXRkaXI6IHRoaXMub3V0ZGlyLFxuICAgICAgaXNQcml2YXRlUGFja2FnZTogdGhpcy5pc1ByaXZhdGVQYWNrYWdlLFxuICAgICAgdmVyc2lvblR5cGU6IHJlZk9wdHM/LnZlcnNpb25UeXBlID8/IHRoaXMudmVyc2lvblR5cGUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgd29ya3NwYWNlLmN1c3RvbWl6ZVJlZmVyZW5jZSgpYCBtZXRob2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZlcmVuY2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoYXQgdHlwZSBvZiBkZXBlbmRlbmN5IHRvIHRha2Ugb24gdGhpcyBwYWNrYWdlXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGRlcGVuZGVuY2llcyB3aWxsIGJlIHJlZmVyZW5jZWQgd2l0aCBhIGBeYCwgd2hpY2ggbWVhbnMgdGhhdFxuICAgKiBjb21lIGluc3RhbGwgdGltZSBhIG5ld2VyIHZlcnNpb24gbWF5IGJlIGluc3RhbGxlZC5cbiAgICpcbiAgICogQ2hvb3NlIGEgZGlmZmVyZW50IHJhbmdlIHR5cGUgdG8gdGFrZSwgZm9yIGV4YW1wbGUsIGFuIGBleGFjdGAgZGVwZW5kZW5jeS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2Z1dHVyZS1taW5vcidcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25UeXBlPzogVmVyc2lvblR5cGU7XG59XG5cbmZ1bmN0aW9uIHBhY2thZ2VOYW1lcyh4cz86IEFycmF5PHN0cmluZyB8IElXb3Jrc3BhY2VSZWZlcmVuY2U+KTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICBpZiAoIXhzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4geHMubWFwKCh4KSA9PiAodHlwZW9mIHggPT09ICdzdHJpbmcnID8geCA6IHgubmFtZSkpO1xufVxuXG5mdW5jdGlvbiB3aXRob3V0PEEgZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBBPih4OiBBLCAuLi5rczogS1tdKTogT21pdDxBLCBLPiB7XG4gIGNvbnN0IHJldCA9IHsgLi4ueCB9O1xuICBmb3IgKGNvbnN0IGsgb2Yga3MpIHtcbiAgICBkZWxldGUgcmV0W2tdO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGlzV29ya3NwYWNlUmVmZXJlbmNlKHg6IHVua25vd24pOiB4IGlzIElXb3Jrc3BhY2VSZWZlcmVuY2Uge1xuICByZXR1cm4gdHlwZW9mIHggPT09ICdvYmplY3QnICYmICEheCAmJiAoWydpc1ByaXZhdGVQYWNrYWdlJywgJ3ZlcnNpb25UeXBlJywgJ25hbWUnLCAnb3V0ZGlyJ10gc2F0aXNmaWVzIEFycmF5PGtleW9mIElXb3Jrc3BhY2VSZWZlcmVuY2U+KS5ldmVyeShrID0+ICh4IGFzIGFueSlba10gIT09IHVuZGVmaW5lZCk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
"jsii-pacmak": "^1.132.0",
|
|
55
55
|
"jsii-reflect": "^1.132.0",
|
|
56
56
|
"jsii-rosetta": "~5.9",
|
|
57
|
-
"projen": "^0.99.
|
|
57
|
+
"projen": "^0.99.70",
|
|
58
58
|
"ts-jest": "^29",
|
|
59
59
|
"ts-node": "^10.9.2",
|
|
60
60
|
"typescript": "~5.9"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"constructs": "^10.0.0",
|
|
64
|
-
"projen": ">=0.99.
|
|
64
|
+
"projen": ">=0.99.68 <1.0.0"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"yaml": "^2.9.0"
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"publishConfig": {
|
|
82
82
|
"access": "public"
|
|
83
83
|
},
|
|
84
|
-
"version": "0.
|
|
84
|
+
"version": "0.5.1",
|
|
85
85
|
"packageManager": "yarn@4.13.0",
|
|
86
86
|
"jest": {
|
|
87
87
|
"coverageProvider": "v8",
|