aws-delivlib 14.15.83 → 14.15.85

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.
@@ -82,11 +82,10 @@ class Repository {
82
82
  * Pack the repository to produce the artifacts.
83
83
  */
84
84
  pack(command) {
85
- var _a;
86
85
  const installCommand = 'yarn install --frozen-lockfile';
87
86
  console.log(`Installing | ${installCommand}`);
88
87
  this._shell(installCommand);
89
- const dist = this.isJsii ? (_a = this.manifest.jsii.outdir) !== null && _a !== void 0 ? _a : 'dist' : 'dist';
88
+ const dist = this.isJsii ? this.manifest.jsii.outdir ?? 'dist' : 'dist';
90
89
  const outdir = path.join(this.repoDir, dist);
91
90
  console.log(`Packing | ${command}`);
92
91
  // crapy: https://github.com/projen/projen/pull/1631
@@ -109,7 +108,7 @@ class Repository {
109
108
  }
110
109
  exports.Repository = Repository;
111
110
  function findLatestTag(repoDir, prefix) {
112
- const tags = (0, child_process_1.execSync)(`git tag -l --sort=-creatordate "${prefix !== null && prefix !== void 0 ? prefix : ''}*"`, { cwd: repoDir }).toString();
111
+ const tags = (0, child_process_1.execSync)(`git tag -l --sort=-creatordate "${prefix ?? ''}*"`, { cwd: repoDir }).toString();
113
112
  return tags.split(os.EOL)[0].trim();
114
113
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBeUM7QUFDekMsdUNBQXlCO0FBQ3pCLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsNkRBQTZEO0FBQzdELDRFQUFpRTtBQXlFakU7O0dBRUc7QUFDSCxNQUFhLFVBQVU7SUFFckI7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFpQztRQUMzRCxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFvQztRQUVqRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxFQUFFLEdBQUcsSUFBSSx1Q0FBYyxFQUFFLENBQUM7UUFFaEMsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQzdCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTNELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxPQUFPLENBQUMsSUFBSSxTQUFTLE9BQU8sRUFBRSxD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REFBcUQ7Z0JBQ3JELHFCQUFxQjtnQkFDckIsU0FBUzthQUNWO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFFbkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFlO1FBQzVCLElBQUEsd0JBQVEsRUFBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0NBRUY7QUFsR0QsZ0NBa0dDO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBZSxFQUFFLE1BQWU7SUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBUSxFQUFDLG1DQUFtQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgU2VjcmV0c01hbmFnZXIgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgUmVwb3NpdG9yeWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeVByb3BzIHtcbiAgLyoqXG4gICAqIExvY2FsIGRpcmVjdG9yeSB3aGVyZSB0aGUgcmVwb3NpdG9yeSB3YXMgY2xvbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0Rpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb2R1Y2VkIGJ5IHRoaXMgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBvZiB0aGUgYXJ0aWZhY3QuXG4gICAqL1xuICByZWFkb25seSBsYW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSBjb250YWluaW5nIHRoZSBhcnRpZmFjdC5cbiAgICovXG4gIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBSZXBvc2l0b3J5LmZyb21HaXRIdWJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeUZyb21HaXRIdWJPcHRpb25zIHtcblxuICAvKipcbiAgICogUmVwb3NpdG9yeSBzbHVnIChlLmcgY2RrOHMtdGVhbS9jZGs4cy1jb3JlKVxuICAgKi9cbiAgcmVhZG9ubHkgc2x1Zzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvc2l0b3J5IHRhZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBsYXRlc3QgdGFnIGJhc2VkIG9uIGNyZWF0aW9uIGRhdGUuXG4gICAqL1xuICByZWFkb25seSB0YWc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgKiBQcmVmaXggZm9yIGRldGVjdGluZyB0aGUgbGF0ZXN0IHRhZyBvZiB0aGUgcmVwby4gT25seSBhcHBsaWVzIGlmIGB0YWdgIGlzbid0IHNwZWNpZmllZC5cbiAgICAqIFRoaXMgaXMgdXNlZnVsIGZvciByZXBvc2l0b3JpZXMgdGhhdCBwcm9kdWNlIG11bHRpcGxlIHBhY2thZ2VzLCBhbmQgaGVuY2UgbXVsdGlwbGUgdGFnc1xuICAgICogZm9yIGV4YW1wbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9jZGs4cy10ZWFtL2NkazhzLXBsdXMvdGFncy5cbiAgICAqL1xuICByZWFkb25seSB0YWdQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiBhbiBBV1Mgc2VjcmV0cyBtYW5hZ2VyIHNlY3JldCBjb250YWluaW5nIGEgR2l0SHViIHRva2VuLlxuICAgKiBSZXF1aXJlZCBmb3IgcHJpdmF0ZSByZXBvc2l0b3JpZXMuIFJlY29tbWVuZGVkIGZvciBwdWJsaWMgb25lcywgdG8gYXZvaWQgdGhyb3RsbGluZyBpc3N1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHJlcG9zaXRvcnkgaXMgY2xvbmVkIHdpdGhvdXQgY3JlZGVudGlhbHMuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJUb2tlblNlY3JldEFybj86IHN0cmluZztcblxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBSZXBvc2l0b3J5LmZyb21EaXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeUZyb21EaXJPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBvZiB0aGUgcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9EaXI6IHN0cmluZztcblxufVxuXG4vKipcbiAqIFJlcG9zaXRvcnkgY29udGFpbmluZyBhIG5vZGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlcG9zaXRvcnkge1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByZXBvc2l0b3J5IGZyb20gYSBsb2NhbCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21EaXIob3B0aW9uczogUmVwb3NpdG9yeUZyb21EaXJPcHRpb25zKTogUHJvbWlzZTxSZXBvc2l0b3J5PiB7XG4gICAgcmV0dXJuIG5ldyBSZXBvc2l0b3J5KG9wdGlvbnMucmVwb0Rpcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVwb3NpdG9yeSBmcm9tIGEgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21HaXRIdWIob3B0aW9uczogUmVwb3NpdG9yeUZyb21HaXRIdWJPcHRpb25zKTogUHJvbWlzZTxSZXBvc2l0b3J5PiB7XG5cbiAgICBjb25zdCB3b3JrZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnd29yaycpKTtcbiAgICBjb25zdCBzbSA9IG5ldyBTZWNyZXRzTWFuYWdlcigpO1xuXG4gICAgbGV0IHRva2VuID0gdW5kZWZpbmVkO1xuICAgIGlmIChvcHRpb25zLmdpdGh1YlRva2VuU2VjcmV0QXJuKSB7XG4gICAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzbS5nZXRTZWNyZXRWYWx1ZSh7IFNlY3JldElkOiBvcHRpb25zLmdpdGh1YlRva2VuU2VjcmV0QXJuIH0pO1xuICAgICAgdG9rZW4gPSBzZWNyZXQuU2VjcmV0U3RyaW5nO1xuICAgIH1cbiAgICBjb25zdCByZXBvRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKHdvcmtkaXIsICdyZXBvJykpO1xuXG4gICAgY29uc29sZS5sb2coYENsb25pbmcgJHtvcHRpb25zLnNsdWd9IGludG8gJHtyZXBvRGlyfWApO1xuICAgIGV4ZWNTeW5jKGBnaXQgY2xvbmUgaHR0cHM6Ly8ke3Rva2VuID8gYCR7dG9rZW59QGAgOiAnJ31naXRodWIuY29tLyR7b3B0aW9ucy5zbHVnfS5naXQgJHtyZXBvRGlyfWApO1xuXG4gICAgY29uc3QgbGF0ZXN0VGFnID0gZmluZExhdGVzdFRhZyhyZXBvRGlyLCBvcHRpb25zLnRhZ1ByZWZpeCk7XG4gICAgZXhlY1N5bmMoYGdpdCBjaGVja291dCAke2xhdGVzdFRhZ31gLCB7IGN3ZDogcmVwb0RpciB9KTtcblxuICAgIHJldHVybiBuZXcgUmVwb3NpdG9yeShyZXBvRGlyKTtcblxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0pzaWk6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFuaWZlc3Q6IGFueTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZXBvRGlyOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4ocmVwb0RpciwgJ3BhY2thZ2UuanNvbicpO1xuXG4gICAgdGhpcy5tYW5pZmVzdCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG5cbiAgICBjb25zdCBpc1Byb2plbiA9IGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHJlcG9EaXIsICcucHJvamVuJykpO1xuICAgIGNvbnN0IGlzWWFybiA9IGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHJlcG9EaXIsICd5YXJuLmxvY2snKSk7XG5cbiAgICBpZiAoIWlzUHJvamVuKSB7XG4gICAgICAvLyB0aGlzIG1ha2VzIHBhY2tpbmcgbXVjaCBzaW1wbGVyIHNpbmNlIHByb2plbiBzdGFuZHJhcmRpemVzIGl0LlxuICAgICAgLy8gZm9yIG5vdyBpdCB3aWxsIHN1ZmZpY2UsIHJlLWV2YWx1YXRlIGlmIGEgdXNlLWNhc2UgYXJyaXNlcy5cbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSBwcm9qZW4gbWFuYWdlZCByZXBvc2l0b3JpZXMgYXJlIHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzWWFybikge1xuICAgICAgLy8gdGhlIHByb2plbiB2ZXJzaW9uIHdlIHVzZSBoYXMgdG8gbWF0Y2ggdGhlIG9uZSBpbiB0aGUgcmVwbyBzaW5jZSBvdGhlcndpc2VcbiAgICAgIC8vIHN5bnRoZXNpcyBtYXkgcmVzdWx0IGluIGEgZGlmZi4gc28gd2UgdXNlIGFuZCBlbmZvcmNlIGEgeWFybi5sb2NrIGZpbGVcbiAgICAgIC8vIHRvIG1ha2UgaXQgc2ltcGxlciBhbmQgbm90IGhhdmUgdG8gd29ycnkgYWJvdXQgb3RoZXIgcGFja2FnZSBtYW5hZ2Vycy5cbiAgICAgIC8vIGZvciBub3cgaXQgd2lsbCBzdWZmaWNlLCByZS1ldmFsdWF0ZSBpZiBhIHVzZS1jYXNlIGFycmlzZXMuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgeWFybiBtYW5hZ2VkIHJlcG9zaXRvcmllcyBhcmUgc3VwcG9ydGVkIGF0IHRoaXMgdGltZScpO1xuICAgIH1cblxuICAgIHRoaXMuaXNKc2lpID0gISF0aGlzLm1hbmlmZXN0LmpzaWk7XG4gIH1cblxuICAvKipcbiAgICogUGFjayB0aGUgcmVwb3NpdG9yeSB0byBwcm9kdWNlIHRoZSBhcnRpZmFjdHMuXG4gICAqL1xuICBwdWJsaWMgcGFjayhjb21tYW5kOiBzdHJpbmcpOiBBcnRpZmFjdFtdIHtcblxuICAgIGNvbnN0IGluc3RhbGxDb21tYW5kID0gJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSc7XG4gICAgY29uc29sZS5sb2coYEluc3RhbGxpbmcgfCAke2luc3RhbGxDb21tYW5kfWApO1xuICAgIHRoaXMuX3NoZWxsKGluc3RhbGxDb21tYW5kKTtcblxuICAgIGNvbnN0IGRpc3QgPSB0aGlzLmlzSnNpaSA/IHRoaXMubWFuaWZlc3QuanNpaS5vdXRkaXIgPz8gJ2Rpc3QnIDogJ2Rpc3QnO1xuICAgIGNvbnN0IG91dGRpciA9IHBhdGguam9pbih0aGlzLnJlcG9EaXIsIGRpc3QpO1xuXG4gICAgY29uc29sZS5sb2coYFBhY2tpbmcgfCAke2NvbW1hbmR9YCk7XG5cbiAgICAvLyBjcmFweTogaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vcHVsbC8xNjMxXG4gICAgdGhpcy5fc2hlbGwodGhpcy5pc0pzaWkgPyBgdW5zZXQgQ0kgJiYgJHtjb21tYW5kfWAgOiBjb21tYW5kKTtcblxuICAgIGNvbnN0IGFydGlmYWN0czogQXJ0aWZhY3RbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGFuZyBvZiBmcy5yZWFkZGlyU3luYyhvdXRkaXIpKSB7XG4gICAgICBjb25zdCBsYW5nRGlyID0gcGF0aC5qb2luKG91dGRpciwgbGFuZyk7XG4gICAgICBpZiAoIWZzLmxzdGF0U3luYyhsYW5nRGlyKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIC8vIGRpc3QgZm9sZGVyIG1heSBjb250YWluIGZpbGVzIHN1Y2ggYXMgY2hhbmdlbG9nLm1kXG4gICAgICAgIC8vIHNvIHdlIGlnbm9yZSB0aGVzZVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGFydGlmYWN0cy5wdXNoKHsgbGFuZywgZGlyZWN0b3J5OiBwYXRoLmpvaW4ob3V0ZGlyLCBsYW5nKSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJ0aWZhY3RzO1xuXG4gIH1cblxuICBwcml2YXRlIF9zaGVsbChjb21tYW5kOiBzdHJpbmcpIHtcbiAgICBleGVjU3luYyhjb21tYW5kLCB7IGN3ZDogdGhpcy5yZXBvRGlyLCBzdGRpbzogWydpZ25vcmUnLCAnaW5oZXJpdCcsICdpbmhlcml0J10gfSk7XG4gIH1cblxufVxuXG5mdW5jdGlvbiBmaW5kTGF0ZXN0VGFnKHJlcG9EaXI6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKSB7XG4gIGNvbnN0IHRhZ3MgPSBleGVjU3luYyhgZ2l0IHRhZyAtbCAtLXNvcnQ9LWNyZWF0b3JkYXRlIFwiJHtwcmVmaXggPz8gJyd9KlwiYCwgeyBjd2Q6IHJlcG9EaXIgfSkudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHRhZ3Muc3BsaXQob3MuRU9MKVswXS50cmltKCk7XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBeUM7QUFDekMsdUNBQXlCO0FBQ3pCLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsNkRBQTZEO0FBQzdELDRFQUFpRTtBQXlFakU7O0dBRUc7QUFDSCxNQUFhLFVBQVU7SUFFckI7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFpQztRQUMzRCxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFvQztRQUVqRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxFQUFFLEdBQUcsSUFBSSx1Q0FBYyxFQUFFLENBQUM7UUFFaEMsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQzdCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTNELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxPQUFPLENBQUMsSUFBSSxTQUFTLE9BQU8sRUFBRSxD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QkFDckQscUJBQXFCO2dCQUNyQixTQUFTO2FBQ1Y7WUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUVuQixDQUFDO0lBRU8sTUFBTSxDQUFDLE9BQWU7UUFDNUIsSUFBQSx3QkFBUSxFQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FFRjtBQWxHRCxnQ0FrR0M7QUFFRCxTQUFTLGFBQWEsQ0FBQyxPQUFlLEVBQUUsTUFBZTtJQUNyRCxNQUFNLElBQUksR0FBRyxJQUFBLHdCQUFRLEVBQUMsbUNBQW1DLE1BQU0sSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgU2VjcmV0c01hbmFnZXIgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgUmVwb3NpdG9yeWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeVByb3BzIHtcbiAgLyoqXG4gICAqIExvY2FsIGRpcmVjdG9yeSB3aGVyZSB0aGUgcmVwb3NpdG9yeSB3YXMgY2xvbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0Rpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb2R1Y2VkIGJ5IHRoaXMgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBvZiB0aGUgYXJ0aWZhY3QuXG4gICAqL1xuICByZWFkb25seSBsYW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSBjb250YWluaW5nIHRoZSBhcnRpZmFjdC5cbiAgICovXG4gIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBSZXBvc2l0b3J5LmZyb21HaXRIdWJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeUZyb21HaXRIdWJPcHRpb25zIHtcblxuICAvKipcbiAgICogUmVwb3NpdG9yeSBzbHVnIChlLmcgY2RrOHMtdGVhbS9jZGs4cy1jb3JlKVxuICAgKi9cbiAgcmVhZG9ubHkgc2x1Zzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvc2l0b3J5IHRhZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBsYXRlc3QgdGFnIGJhc2VkIG9uIGNyZWF0aW9uIGRhdGUuXG4gICAqL1xuICByZWFkb25seSB0YWc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgKiBQcmVmaXggZm9yIGRldGVjdGluZyB0aGUgbGF0ZXN0IHRhZyBvZiB0aGUgcmVwby4gT25seSBhcHBsaWVzIGlmIGB0YWdgIGlzbid0IHNwZWNpZmllZC5cbiAgICAqIFRoaXMgaXMgdXNlZnVsIGZvciByZXBvc2l0b3JpZXMgdGhhdCBwcm9kdWNlIG11bHRpcGxlIHBhY2thZ2VzLCBhbmQgaGVuY2UgbXVsdGlwbGUgdGFnc1xuICAgICogZm9yIGV4YW1wbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9jZGs4cy10ZWFtL2NkazhzLXBsdXMvdGFncy5cbiAgICAqL1xuICByZWFkb25seSB0YWdQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiBhbiBBV1Mgc2VjcmV0cyBtYW5hZ2VyIHNlY3JldCBjb250YWluaW5nIGEgR2l0SHViIHRva2VuLlxuICAgKiBSZXF1aXJlZCBmb3IgcHJpdmF0ZSByZXBvc2l0b3JpZXMuIFJlY29tbWVuZGVkIGZvciBwdWJsaWMgb25lcywgdG8gYXZvaWQgdGhyb3RsbGluZyBpc3N1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHJlcG9zaXRvcnkgaXMgY2xvbmVkIHdpdGhvdXQgY3JlZGVudGlhbHMuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJUb2tlblNlY3JldEFybj86IHN0cmluZztcblxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBSZXBvc2l0b3J5LmZyb21EaXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3NpdG9yeUZyb21EaXJPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBvZiB0aGUgcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9EaXI6IHN0cmluZztcblxufVxuXG4vKipcbiAqIFJlcG9zaXRvcnkgY29udGFpbmluZyBhIG5vZGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlcG9zaXRvcnkge1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByZXBvc2l0b3J5IGZyb20gYSBsb2NhbCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21EaXIob3B0aW9uczogUmVwb3NpdG9yeUZyb21EaXJPcHRpb25zKTogUHJvbWlzZTxSZXBvc2l0b3J5PiB7XG4gICAgcmV0dXJuIG5ldyBSZXBvc2l0b3J5KG9wdGlvbnMucmVwb0Rpcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVwb3NpdG9yeSBmcm9tIGEgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21HaXRIdWIob3B0aW9uczogUmVwb3NpdG9yeUZyb21HaXRIdWJPcHRpb25zKTogUHJvbWlzZTxSZXBvc2l0b3J5PiB7XG5cbiAgICBjb25zdCB3b3JrZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnd29yaycpKTtcbiAgICBjb25zdCBzbSA9IG5ldyBTZWNyZXRzTWFuYWdlcigpO1xuXG4gICAgbGV0IHRva2VuID0gdW5kZWZpbmVkO1xuICAgIGlmIChvcHRpb25zLmdpdGh1YlRva2VuU2VjcmV0QXJuKSB7XG4gICAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzbS5nZXRTZWNyZXRWYWx1ZSh7IFNlY3JldElkOiBvcHRpb25zLmdpdGh1YlRva2VuU2VjcmV0QXJuIH0pO1xuICAgICAgdG9rZW4gPSBzZWNyZXQuU2VjcmV0U3RyaW5nO1xuICAgIH1cbiAgICBjb25zdCByZXBvRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKHdvcmtkaXIsICdyZXBvJykpO1xuXG4gICAgY29uc29sZS5sb2coYENsb25pbmcgJHtvcHRpb25zLnNsdWd9IGludG8gJHtyZXBvRGlyfWApO1xuICAgIGV4ZWNTeW5jKGBnaXQgY2xvbmUgaHR0cHM6Ly8ke3Rva2VuID8gYCR7dG9rZW59QGAgOiAnJ31naXRodWIuY29tLyR7b3B0aW9ucy5zbHVnfS5naXQgJHtyZXBvRGlyfWApO1xuXG4gICAgY29uc3QgbGF0ZXN0VGFnID0gZmluZExhdGVzdFRhZyhyZXBvRGlyLCBvcHRpb25zLnRhZ1ByZWZpeCk7XG4gICAgZXhlY1N5bmMoYGdpdCBjaGVja291dCAke2xhdGVzdFRhZ31gLCB7IGN3ZDogcmVwb0RpciB9KTtcblxuICAgIHJldHVybiBuZXcgUmVwb3NpdG9yeShyZXBvRGlyKTtcblxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0pzaWk6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFuaWZlc3Q6IGFueTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZXBvRGlyOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4ocmVwb0RpciwgJ3BhY2thZ2UuanNvbicpO1xuXG4gICAgdGhpcy5tYW5pZmVzdCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG5cbiAgICBjb25zdCBpc1Byb2plbiA9IGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHJlcG9EaXIsICcucHJvamVuJykpO1xuICAgIGNvbnN0IGlzWWFybiA9IGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHJlcG9EaXIsICd5YXJuLmxvY2snKSk7XG5cbiAgICBpZiAoIWlzUHJvamVuKSB7XG4gICAgICAvLyB0aGlzIG1ha2VzIHBhY2tpbmcgbXVjaCBzaW1wbGVyIHNpbmNlIHByb2plbiBzdGFuZHJhcmRpemVzIGl0LlxuICAgICAgLy8gZm9yIG5vdyBpdCB3aWxsIHN1ZmZpY2UsIHJlLWV2YWx1YXRlIGlmIGEgdXNlLWNhc2UgYXJyaXNlcy5cbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSBwcm9qZW4gbWFuYWdlZCByZXBvc2l0b3JpZXMgYXJlIHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzWWFybikge1xuICAgICAgLy8gdGhlIHByb2plbiB2ZXJzaW9uIHdlIHVzZSBoYXMgdG8gbWF0Y2ggdGhlIG9uZSBpbiB0aGUgcmVwbyBzaW5jZSBvdGhlcndpc2VcbiAgICAgIC8vIHN5bnRoZXNpcyBtYXkgcmVzdWx0IGluIGEgZGlmZi4gc28gd2UgdXNlIGFuZCBlbmZvcmNlIGEgeWFybi5sb2NrIGZpbGVcbiAgICAgIC8vIHRvIG1ha2UgaXQgc2ltcGxlciBhbmQgbm90IGhhdmUgdG8gd29ycnkgYWJvdXQgb3RoZXIgcGFja2FnZSBtYW5hZ2Vycy5cbiAgICAgIC8vIGZvciBub3cgaXQgd2lsbCBzdWZmaWNlLCByZS1ldmFsdWF0ZSBpZiBhIHVzZS1jYXNlIGFycmlzZXMuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgeWFybiBtYW5hZ2VkIHJlcG9zaXRvcmllcyBhcmUgc3VwcG9ydGVkIGF0IHRoaXMgdGltZScpO1xuICAgIH1cblxuICAgIHRoaXMuaXNKc2lpID0gISF0aGlzLm1hbmlmZXN0LmpzaWk7XG4gIH1cblxuICAvKipcbiAgICogUGFjayB0aGUgcmVwb3NpdG9yeSB0byBwcm9kdWNlIHRoZSBhcnRpZmFjdHMuXG4gICAqL1xuICBwdWJsaWMgcGFjayhjb21tYW5kOiBzdHJpbmcpOiBBcnRpZmFjdFtdIHtcblxuICAgIGNvbnN0IGluc3RhbGxDb21tYW5kID0gJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSc7XG4gICAgY29uc29sZS5sb2coYEluc3RhbGxpbmcgfCAke2luc3RhbGxDb21tYW5kfWApO1xuICAgIHRoaXMuX3NoZWxsKGluc3RhbGxDb21tYW5kKTtcblxuICAgIGNvbnN0IGRpc3QgPSB0aGlzLmlzSnNpaSA/IHRoaXMubWFuaWZlc3QuanNpaS5vdXRkaXIgPz8gJ2Rpc3QnIDogJ2Rpc3QnO1xuICAgIGNvbnN0IG91dGRpciA9IHBhdGguam9pbih0aGlzLnJlcG9EaXIsIGRpc3QpO1xuXG4gICAgY29uc29sZS5sb2coYFBhY2tpbmcgfCAke2NvbW1hbmR9YCk7XG5cbiAgICAvLyBjcmFweTogaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vcHVsbC8xNjMxXG4gICAgdGhpcy5fc2hlbGwodGhpcy5pc0pzaWkgPyBgdW5zZXQgQ0kgJiYgJHtjb21tYW5kfWAgOiBjb21tYW5kKTtcblxuICAgIGNvbnN0IGFydGlmYWN0czogQXJ0aWZhY3RbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGFuZyBvZiBmcy5yZWFkZGlyU3luYyhvdXRkaXIpKSB7XG4gICAgICBjb25zdCBsYW5nRGlyID0gcGF0aC5qb2luKG91dGRpciwgbGFuZyk7XG4gICAgICBpZiAoIWZzLmxzdGF0U3luYyhsYW5nRGlyKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIC8vIGRpc3QgZm9sZGVyIG1heSBjb250YWluIGZpbGVzIHN1Y2ggYXMgY2hhbmdlbG9nLm1kXG4gICAgICAgIC8vIHNvIHdlIGlnbm9yZSB0aGVzZVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGFydGlmYWN0cy5wdXNoKHsgbGFuZywgZGlyZWN0b3J5OiBwYXRoLmpvaW4ob3V0ZGlyLCBsYW5nKSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJ0aWZhY3RzO1xuXG4gIH1cblxuICBwcml2YXRlIF9zaGVsbChjb21tYW5kOiBzdHJpbmcpIHtcbiAgICBleGVjU3luYyhjb21tYW5kLCB7IGN3ZDogdGhpcy5yZXBvRGlyLCBzdGRpbzogWydpZ25vcmUnLCAnaW5oZXJpdCcsICdpbmhlcml0J10gfSk7XG4gIH1cblxufVxuXG5mdW5jdGlvbiBmaW5kTGF0ZXN0VGFnKHJlcG9EaXI6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKSB7XG4gIGNvbnN0IHRhZ3MgPSBleGVjU3luYyhgZ2l0IHRhZyAtbCAtLXNvcnQ9LWNyZWF0b3JkYXRlIFwiJHtwcmVmaXggPz8gJyd9KlwiYCwgeyBjd2Q6IHJlcG9EaXIgfSkudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHRhZ3Muc3BsaXQob3MuRU9MKVswXS50cmltKCk7XG59XG4iXX0=