@aws-cdk/integ-runner 2.188.2 → 2.188.3

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.
@@ -206,11 +206,12 @@ class IntegRunner {
206
206
  if (fs.existsSync(this.snapshotDir)) {
207
207
  fs.removeSync(this.snapshotDir);
208
208
  }
209
+ const actualTestSuite = await this.actualTestSuite();
209
210
  // if lookups are enabled then we need to synth again
210
211
  // using dummy context and save that as the snapshot
211
212
  await this.cdk.synthFast({
212
213
  execCmd: this.cdkApp.split(' '),
213
- context: this.getContext(exports.DEFAULT_SYNTH_OPTIONS.context),
214
+ context: this.getContext(actualTestSuite.enableLookups ? exports.DEFAULT_SYNTH_OPTIONS.context : {}),
214
215
  env: exports.DEFAULT_SYNTH_OPTIONS.env,
215
216
  output: path.relative(this.directory, this.snapshotDir),
216
217
  });
@@ -315,4 +316,4 @@ exports.DEFAULT_SYNTH_OPTIONS = {
315
316
  function currentlyRecommendedAwsCdkLibFlags() {
316
317
  return recommendedFlagsFile;
317
318
  }
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW5uZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5YkEsZ0ZBRUM7QUEzYkQsa0RBQWtEO0FBQ2xELDZCQUE2QjtBQUc3Qiw0Q0FBNEY7QUFDNUYsK0JBQStCO0FBQy9CLHlEQUEwRTtBQUUxRSwwRUFBMEU7QUFDMUUsb0NBQW1DO0FBQ25DLHFDQUEwRDtBQUUxRCw2REFBa0U7QUFHbEUsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQWdEckQ7O0dBRUc7QUFDSDs7R0FFRztBQUNILE1BQXNCLFdBQVc7SUFrRS9CLFlBQVksT0FBMkI7UUExQnZDOztXQUVHO1FBQ2dCLGdCQUFXLEdBQXNCO1lBQ2xELFlBQVksRUFBRSxLQUFLO1lBQ25CLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGdCQUFnQixFQUFFLEtBQUs7U0FDeEIsQ0FBQztRQW9CQSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBQSxtQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBRXJFLE1BQU0s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T0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGNka2xhYnMvbm8tbGl0ZXJhbC1wYXJ0aXRpb24gKi9cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IElDZGsgfSBmcm9tICdAYXdzLWNkay9jZGstY2xpLXdyYXBwZXInO1xuaW1wb3J0IHR5cGUgeyBUZXN0Q2FzZSwgRGVmYXVsdENka09wdGlvbnMgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHsgQVZBSUxBQklMSVRZX1pPTkVfRkFMTEJBQ0tfQ09OVEVYVF9LRVksIFRBUkdFVF9QQVJUSVRJT05TIH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IEludGVnVGVzdFN1aXRlLCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZSB9IGZyb20gJy4vaW50ZWctdGVzdC1zdWl0ZSc7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdCB9IGZyb20gJy4vaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0ICogYXMgcmVjb21tZW5kZWRGbGFnc0ZpbGUgZnJvbSAnLi4vcmVjb21tZW5kZWQtZmVhdHVyZS1mbGFncy5qc29uJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBtYWtlRW5naW5lLCB0eXBlIEVuZ2luZU9wdGlvbnMgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgdHlwZSB7IE1hbmlmZXN0VHJhY2UgfSBmcm9tICcuL3ByaXZhdGUvY2xvdWQtYXNzZW1ibHknO1xuaW1wb3J0IHsgQXNzZW1ibHlNYW5pZmVzdFJlYWRlciB9IGZyb20gJy4vcHJpdmF0ZS9jbG91ZC1hc3NlbWJseSc7XG5pbXBvcnQgdHlwZSB7IERlc3RydWN0aXZlQ2hhbmdlIH0gZnJvbSAnLi4vd29ya2Vycy9jb21tb24nO1xuXG5jb25zdCBERVNUUlVDVElWRV9DSEFOR0VTID0gJyEhREVTVFJVQ1RJVkVfQ0hBTkdFUzonO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGFuIGludGVncmF0aW9uIHRlc3QgcnVubmVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdSdW5uZXJPcHRpb25zIGV4dGVuZHMgRW5naW5lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdGVzdCB0byBydW5cbiAgICovXG4gIHJlYWRvbmx5IHRlc3Q6IEludGVnVGVzdDtcblxuICAvKipcbiAgICogVGhlIEFXUyBwcm9maWxlIHRvIHVzZSB3aGVuIGludm9raW5nIHRoZSBDREsgQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcHJvZmlsZSBpcyBwYXNzZWQsIHRoZSBkZWZhdWx0IHByb2ZpbGUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIGF2YWlsYWJsZVxuICAgKiB0byB0aGUgQ0RLIENMSVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogdG1wIGNkay5vdXQgZGlyZWN0b3J5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlyZWN0b3J5IHdpbGwgYmUgYGNkay1pbnRlZy5vdXQuJHt0ZXN0TmFtZX1gXG4gICAqL1xuICByZWFkb25seSBpbnRlZ091dERpcj86IHN0cmluZztcblxuICAvKipcbiAgICogSW5zdGFuY2Ugb2YgdGhlIENESyBUb29sa2l0IEVuZ2luZSB0byB1c2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBiYXNlZCBvbiBgZW5naW5lYCBvcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGNkaz86IElDZGs7XG5cbiAgLyoqXG4gICAqIFNob3cgb3V0cHV0IGZyb20gcnVubmluZyBpbnRlZ3JhdGlvbiB0ZXN0c1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd091dHB1dD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIGRpZmZlcmVudCBjb21wb25lbnRzIG9mIGEgdGVzdCBuYW1lXG4gKi9cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJbnRlZ3JhdGlvbiB0ZXN0IHJ1bm5lclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW50ZWdSdW5uZXIge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgc25hcHNob3Qgd2lsbCBiZSBzdG9yZWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzbmFwc2hvdERpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBpbnN0YW5jZSBvZiB0aGUgQ0RLICBDTElcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGs6IElDZGs7XG5cbiAgLyoqXG4gICAqIFByZXR0eSBuYW1lIG9mIHRoZSB0ZXN0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVzdE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHVzZWQgaW4gdGhlICctLWFwcCcgQ0xJIHBhcmFtZXRlclxuICAgKlxuICAgKiBQYXRoIHRvIHRoZSBpbnRlZyB0ZXN0IHNvdXJjZSBmaWxlLCByZWxhdGl2ZSB0byBgdGhpcy5kaXJlY3RvcnlgLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNka0FwcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB3aGVyZSB0aGUgYGNkay5jb250ZXh0Lmpzb25gIGZpbGVcbiAgICogd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RrQ29udGV4dFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgdGhlIGludGVncmF0aW9uIHRlc3RzIHdpbGwgYmVcbiAgICogZXhlY3V0ZWQgZnJvbVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGVzdCB0byBydW5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSB0ZXN0OiBJbnRlZ1Rlc3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBDREsgQ0xJXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdEFyZ3M6IERlZmF1bHRDZGtPcHRpb25zID0ge1xuICAgIHBhdGhNZXRhZGF0YTogZmFsc2UsXG4gICAgYXNzZXRNZXRhZGF0YTogZmFsc2UsXG4gICAgdmVyc2lvblJlcG9ydGluZzogZmFsc2UsXG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIENESyB3aWxsIGJlIHN5bnRoZWQgdG9cbiAgICpcbiAgICogUmVsYXRpdmUgdG8gY3dkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNka091dERpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvZmlsZSB0byB1c2UgZm9yIHRoZSBDREsgQ0xJIGNhbGxzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICBwcm90ZWN0ZWQgX2Rlc3RydWN0aXZlQ2hhbmdlcz86IERlc3RydWN0aXZlQ2hhbmdlW107XG4gIHByaXZhdGUgbGVnYWN5Q29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHByaXZhdGUgX2V4cGVjdGVkVGVzdFN1aXRlPzogSW50ZWdUZXN0U3VpdGUgfCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZTtcbiAgcHJpdmF0ZSBfYWN0dWFsVGVzdFN1aXRlPzogSW50ZWdUZXN0U3VpdGUgfCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJbnRlZ1J1bm5lck9wdGlvbnMpIHtcbiAgICB0aGlzLnRlc3QgPSBvcHRpb25zLnRlc3Q7XG4gICAgdGhpcy5kaXJlY3RvcnkgPSB0aGlzLnRlc3QuZGlyZWN0b3J5O1xuICAgIHRoaXMudGVzdE5hbWUgPSB0aGlzLnRlc3QudGVzdE5hbWU7XG4gICAgdGhpcy5zbmFwc2hvdERpciA9IHRoaXMudGVzdC5zbmFwc2hvdERpcjtcbiAgICB0aGlzLmNka0NvbnRleHRQYXRoID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCAnY2RrLmNvbnRleHQuanNvbicpO1xuXG4gICAgdGhpcy5jZGsgPSBvcHRpb25zLmNkayA/PyBtYWtlRW5naW5lKG9wdGlvbnMpO1xuICAgIHRoaXMuY2RrT3V0RGlyID0gb3B0aW9ucy5pbnRlZ091dERpciA/PyB0aGlzLnRlc3QudGVtcG9yYXJ5T3V0cHV0RGlyO1xuXG4gICAgY29uc3QgdGVzdFJ1bkNvbW1hbmQgPSB0aGlzLnRlc3QuYXBwQ29tbWFuZDtcbiAgICB0aGlzLmNka0FwcCA9IHRlc3RSdW5Db21tYW5kLnJlcGxhY2UoJ3tmaWxlUGF0aH0nLCBwYXRoLnJlbGF0aXZlKHRoaXMuZGlyZWN0b3J5LCB0aGlzLnRlc3QuZmlsZU5hbWUpKTtcblxuICAgIHRoaXMucHJvZmlsZSA9IG9wdGlvbnMucHJvZmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZXhwZWN0ZWQgKGkuZS4gZXhpc3RpbmcpIHRlc3QgY2FzZXMgZm9yIHRoaXMgaW50ZWdyYXRpb24gdGVzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGV4cGVjdGVkVGVzdHMoKTogUHJvbWlzZTx7IFt0ZXN0TmFtZTogc3RyaW5nXTogVGVzdENhc2UgfSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5leHBlY3RlZFRlc3RTdWl0ZSgpKT8udGVzdFN1aXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbGlzdCBvZiBhY3R1YWwgKGkuZS4gbmV3KSB0ZXN0IGNhc2VzIGZvciB0aGlzIGludGVncmF0aW9uIHRlc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhY3R1YWxUZXN0cygpOiBQcm9taXNlPHsgW3Rlc3ROYW1lOiBzdHJpbmddOiBUZXN0Q2FzZSB9IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmFjdHVhbFRlc3RTdWl0ZSgpKS50ZXN0U3VpdGU7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBuZXcgXCJhY3R1YWxcIiBzbmFwc2hvdCB3aGljaCB3aWxsIGJlIGNvbXBhcmVkIHRvIHRoZVxuICAgKiBleGlzdGluZyBcImV4cGVjdGVkXCIgc25hcHNob3RcbiAgICogVGhpcyB3aWxsIHN5bnRoIGFuZCB0aGVuIGxvYWQgdGhlIGludGVncmF0aW9uIHRlc3QgbWFuaWZlc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZW5lcmF0ZUFjdHVhbFNuYXBzaG90KCk6IFByb21pc2U8SW50ZWdUZXN0U3VpdGUgfCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZT4ge1xuICAgIGF3YWl0IHRoaXMuY2RrLnN5bnRoRmFzdCh7XG4gICAgICBleGVjQ21kOiB0aGlzLmNka0FwcC5zcGxpdCgnICcpLFxuICAgICAgLy8gd2UgZG9uJ3Qga25vdyB0aGUgXCJhY3R1YWxcIiBjb250ZXh0IHlldCAodGhpcyBtZXRob2QgaXMgd2hhdCBnZW5lcmF0ZXMgaXQpIHNvIGp1c3RcbiAgICAgIC8vIHVzZSB0aGUgXCJleHBlY3RlZFwiIGNvbnRleHQuIFRoaXMgaXMgb25seSBydW4gaW4gb3JkZXIgdG8gcmVhZCB0aGUgbWFuaWZlc3RcbiAgICAgIGNvbnRleHQ6IHRoaXMuZ2V0Q29udGV4dCgoYXdhaXQgdGhpcy5leHBlY3RlZFRlc3RTdWl0ZSgpKT8uc3ludGhDb250ZXh0KSxcbiAgICAgIGVudjogREVGQVVMVF9TWU5USF9PUFRJT05TLmVudixcbiAgICAgIG91dHB1dDogcGF0aC5yZWxhdGl2ZSh0aGlzLmRpcmVjdG9yeSwgdGhpcy5jZGtPdXREaXIpLFxuICAgIH0pO1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gYXdhaXQgdGhpcy5sb2FkTWFuaWZlc3QodGhpcy5jZGtPdXREaXIpO1xuICAgIC8vIGFmdGVyIHdlIGxvYWQgdGhlIG1hbmlmZXN0IHJlbW92ZSB0aGUgdG1wIHNuYXBzaG90XG4gICAgLy8gc28gdGhhdCBpdCBkb2Vzbid0IG1lc3MgdXAgdGhlIHJlYWwgc25hcHNob3QgY3JlYXRlZCBsYXRlclxuICAgIHRoaXMuY2xlYW51cCgpO1xuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYSBzbmFwc2hvdCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyB0ZXN0XG4gICAqL1xuICBwdWJsaWMgaGFzU25hcHNob3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZzLmV4aXN0c1N5bmModGhpcy5zbmFwc2hvdERpcik7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlc3Qgc3VpdGUgZnJvbSB0aGUgZXhpc3Rpbmcgc25hcHNob3RcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBleHBlY3RlZFRlc3RTdWl0ZSgpOiBQcm9taXNlPEludGVnVGVzdFN1aXRlIHwgTGVnYWN5SW50ZWdUZXN0U3VpdGUgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuX2V4cGVjdGVkVGVzdFN1aXRlICYmIHRoaXMuaGFzU25hcHNob3QoKSkge1xuICAgICAgdGhpcy5fZXhwZWN0ZWRUZXN0U3VpdGUgPSBhd2FpdCB0aGlzLmxvYWRNYW5pZmVzdCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZXhwZWN0ZWRUZXN0U3VpdGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlc3Qgc3VpdGUgZnJvbSB0aGUgbmV3IFwiYWN0dWFsXCIgc25hcHNob3RcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBhY3R1YWxUZXN0U3VpdGUoKTogUHJvbWlzZTxJbnRlZ1Rlc3RTdWl0ZSB8IExlZ2FjeUludGVnVGVzdFN1aXRlPiB7XG4gICAgaWYgKCF0aGlzLl9hY3R1YWxUZXN0U3VpdGUpIHtcbiAgICAgIHRoaXMuX2FjdHVhbFRlc3RTdWl0ZSA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVBY3R1YWxTbmFwc2hvdCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWN0dWFsVGVzdFN1aXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGludGVnIG1hbmlmZXN0IHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uXG4gICAqIG9uIGhvdyB0byBleGVjdXRlIHRoZSB0ZXN0c1xuICAgKiBGaXJzdCB3ZSB0cnkgYW5kIGxvYWQgdGhlIG1hbmlmZXN0IGZyb20gdGhlIGludGVnIG1hbmlmZXN0IChpLmUuIGludGVnLmpzb24pXG4gICAqIGZyb20gdGhlIGNsb3VkIGFzc2VtYmx5LiBJZiBpdCBkb2Vzbid0IGV4aXN0LCB0aGVuIHdlIGZhbGxiYWNrIHRvIHRoZVxuICAgKiBcImxlZ2FjeSBtb2RlXCIgYW5kIGNyZWF0ZSBhIG1hbmlmZXN0IGZyb20gcHJhZ21hXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZE1hbmlmZXN0KGRpcj86IHN0cmluZyk6IFByb21pc2U8SW50ZWdUZXN0U3VpdGUgfCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0ZXN0U3VpdGUgPSBJbnRlZ1Rlc3RTdWl0ZS5mcm9tUGF0aChkaXIgPz8gdGhpcy5zbmFwc2hvdERpcik7XG4gICAgICByZXR1cm4gdGVzdFN1aXRlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc3QgdGVzdENhc2VzID0gYXdhaXQgTGVnYWN5SW50ZWdUZXN0U3VpdGUuZnJvbUxlZ2FjeSh7XG4gICAgICAgIGNkazogdGhpcy5jZGssXG4gICAgICAgIHRlc3ROYW1lOiB0aGlzLnRlc3Qubm9ybWFsaXplZFRlc3ROYW1lLFxuICAgICAgICBpbnRlZ1NvdXJjZUZpbGVQYXRoOiB0aGlzLnRlc3QuZmlsZU5hbWUsXG4gICAgICAgIGxpc3RPcHRpb25zOiB7XG4gICAgICAgICAgLi4udGhpcy5kZWZhdWx0QXJncyxcbiAgICAgICAgICBhbGw6IHRydWUsXG4gICAgICAgICAgYXBwOiB0aGlzLmNka0FwcCxcbiAgICAgICAgICBwcm9maWxlOiB0aGlzLnByb2ZpbGUsXG4gICAgICAgICAgb3V0cHV0OiBwYXRoLnJlbGF0aXZlKHRoaXMuZGlyZWN0b3J5LCB0aGlzLmNka091dERpciksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMubGVnYWN5Q29udGV4dCA9IExlZ2FjeUludGVnVGVzdFN1aXRlLmdldFByYWdtYUNvbnRleHQodGhpcy50ZXN0LmZpbGVOYW1lKTtcbiAgICAgIHJldHVybiB0ZXN0Q2FzZXM7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFudXAoKTogdm9pZCB7XG4gICAgY29uc3QgY2RrT3V0UGF0aCA9IHRoaXMuY2RrT3V0RGlyO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKGNka091dFBhdGgpKSB7XG4gICAgICBmcy5yZW1vdmVTeW5jKGNka091dFBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGVyZSBhcmUgYW55IGRlc3RydWN0aXZlIGNoYW5nZXMgdG8gYSBzdGFjayB0aGVuIHRoaXMgd2lsbCByZWNvcmRcbiAgICogdGhvc2UgaW4gdGhlIG1hbmlmZXN0Lmpzb24gZmlsZVxuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJUcmFjZURhdGEoKTogTWFuaWZlc3RUcmFjZSB7XG4gICAgY29uc3QgdHJhY2VEYXRhOiBNYW5pZmVzdFRyYWNlID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGRlc3RydWN0aXZlQ2hhbmdlcyA9IHRoaXMuX2Rlc3RydWN0aXZlQ2hhbmdlcyA/PyBbXTtcbiAgICBkZXN0cnVjdGl2ZUNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xuICAgICAgY29uc3QgdHJhY2UgPSB0cmFjZURhdGEuZ2V0KGNoYW5nZS5zdGFja05hbWUpO1xuICAgICAgaWYgKHRyYWNlKSB7XG4gICAgICAgIHRyYWNlLnNldChjaGFuZ2UubG9naWNhbElkLCBgJHtERVNUUlVDVElWRV9DSEFOR0VTfSAke2NoYW5nZS5pbXBhY3R9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFjZURhdGEuc2V0KGNoYW5nZS5zdGFja05hbWUsIG5ldyBNYXAoW1xuICAgICAgICAgIFtjaGFuZ2UubG9naWNhbElkLCBgJHtERVNUUlVDVElWRV9DSEFOR0VTfSAke2NoYW5nZS5pbXBhY3R9YF0sXG4gICAgICAgIF0pKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdHJhY2VEYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIGNhc2VzIHdoZXJlIHdlIGRvIG5vdCB3YW50IHRvIHJldGFpbiB0aGUgYXNzZXRzLFxuICAgKiBmb3IgZXhhbXBsZSwgaWYgdGhlIGFzc2V0cyBhcmUgdmVyeSBsYXJnZS5cbiAgICpcbiAgICogU2luY2UgaXQgaXMgcG9zc2libGUgdG8gZGlzYWJsZSB0aGUgdXBkYXRlIHdvcmtmbG93IGZvciBpbmRpdmlkdWFsIHRlc3RcbiAgICogY2FzZXMsIHRoaXMgbmVlZHMgdG8gZmlyc3QgZ2V0IGEgbGlzdCBvZiBzdGFja3MgdGhhdCBoYXZlIHRoZSB1cGRhdGUgd29ya2Zsb3dcbiAgICogZGlzYWJsZWQgYW5kIHRoZW4gZGVsZXRlIGFzc2V0cyB0aGF0IHJlbGF0ZSB0byB0aGF0IHN0YWNrLiBJdCBkb2VzIHRoYXRcbiAgICogYnkgcmVhZGluZyB0aGUgYXNzZXQgbWFuaWZlc3QgZm9yIHRoZSBzdGFjayBhbmQgZGVsZXRpbmcgdGhlIGFzc2V0IHNvdXJjZVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIHJlbW92ZUFzc2V0c0Zyb21TbmFwc2hvdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGFja3MgPSAoYXdhaXQgdGhpcy5hY3R1YWxUZXN0U3VpdGUoKSkuZ2V0U3RhY2tzV2l0aG91dFVwZGF0ZVdvcmtmbG93KCkgPz8gW107XG4gICAgY29uc3QgbWFuaWZlc3QgPSBBc3NlbWJseU1hbmlmZXN0UmVhZGVyLmZyb21QYXRoKHRoaXMuc25hcHNob3REaXIpO1xuICAgIGNvbnN0IGFzc2V0cyA9IGZsYXR0ZW4oc3RhY2tzLm1hcChzdGFjayA9PiB7XG4gICAgICByZXR1cm4gbWFuaWZlc3QuZ2V0QXNzZXRMb2NhdGlvbnNGb3JTdGFjayhzdGFjaykgPz8gW107XG4gICAgfSkpO1xuXG4gICAgYXNzZXRzLmZvckVhY2goYXNzZXQgPT4ge1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBwYXRoLmpvaW4odGhpcy5zbmFwc2hvdERpciwgYXNzZXQpO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoZmlsZU5hbWUpKSB7XG4gICAgICAgIGlmIChmcy5sc3RhdFN5bmMoZmlsZU5hbWUpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKGZpbGVOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmcy51bmxpbmtTeW5jKGZpbGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgYXNzZXQgY2FjaGUgKC5jYWNoZS8pIGZpbGVzIGZyb20gdGhlIHNuYXBzaG90LlxuICAgKiBUaGVzZSBhcmUgYSBjYWNoZSBvZiB0aGUgYXNzZXQgemlwcywgYnV0IHdlIGFyZSBmaW5lIHdpdGhcbiAgICogcmUtemlwcGluZyBvbiBkZXBsb3lcbiAgICovXG4gIHByb3RlY3RlZCByZW1vdmVBc3NldHNDYWNoZUZyb21TbmFwc2hvdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKHRoaXMuc25hcHNob3REaXIpO1xuICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguam9pbih0aGlzLnNuYXBzaG90RGlyLCBmaWxlKTtcbiAgICAgIGlmIChmcy5sc3RhdFN5bmMoZmlsZU5hbWUpLmlzRGlyZWN0b3J5KCkgJiYgZmlsZSA9PT0gJy5jYWNoZScpIHtcbiAgICAgICAgZnMuZW1wdHlEaXJTeW5jKGZpbGVOYW1lKTtcbiAgICAgICAgZnMucm1kaXJTeW5jKGZpbGVOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIG5ldyBzbmFwc2hvdC5cbiAgICpcbiAgICogSWYgbG9va3VwcyBhcmUgZW5hYmxlZCwgdGhlbiB3ZSBuZWVkIGNyZWF0ZSB0aGUgc25hcHNob3QgYnkgc3ludGgnaW5nIGFnYWluXG4gICAqIHdpdGggdGhlIGR1bW15IGNvbnRleHQgc28gdGhhdCBlYWNoIHRpbWUgdGhlIHRlc3QgaXMgcnVuIG9uIGRpZmZlcmVudCBtYWNoaW5lc1xuICAgKiAoYW5kIHdpdGggZGlmZmVyZW50IGNvbnRleHQvZW52KSB0aGUgZGlmZiB3aWxsIG5vdCBjaGFuZ2UuXG4gICAqXG4gICAqIElmIGxvb2t1cHMgYXJlIGRpc2FibGVkICh3aGljaCBtZWFucyB0aGUgc3RhY2sgaXMgZW52IGFnbm9zdGljKSB0aGVuIGp1c3QgY29weVxuICAgKiB0aGUgYXNzZW1ibHkgdGhhdCB3YXMgb3V0cHV0IGJ5IHRoZSBkZXBsb3ltZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlU25hcHNob3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmModGhpcy5zbmFwc2hvdERpcikpIHtcbiAgICAgIGZzLnJlbW92ZVN5bmModGhpcy5zbmFwc2hvdERpcik7XG4gICAgfVxuXG4gICAgLy8gaWYgbG9va3VwcyBhcmUgZW5hYmxlZCB0aGVuIHdlIG5lZWQgdG8gc3ludGggYWdhaW5cbiAgICAvLyB1c2luZyBkdW1teSBjb250ZXh0IGFuZCBzYXZlIHRoYXQgYXMgdGhlIHNuYXBzaG90XG4gICAgYXdhaXQgdGhpcy5jZGsuc3ludGhGYXN0KHtcbiAgICAgIGV4ZWNDbWQ6IHRoaXMuY2RrQXBwLnNwbGl0KCcgJyksXG4gICAgICBjb250ZXh0OiB0aGlzLmdldENvbnRleHQoREVGQVVMVF9TWU5USF9PUFRJT05TLmNvbnRleHQpLFxuICAgICAgZW52OiBERUZBVUxUX1NZTlRIX09QVElPTlMuZW52LFxuICAgICAgb3V0cHV0OiBwYXRoLnJlbGF0aXZlKHRoaXMuZGlyZWN0b3J5LCB0aGlzLnNuYXBzaG90RGlyKSxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMuY2xlYW51cFNuYXBzaG90KCk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBzb21lIGNsZWFudXAgc3RlcHMgYWZ0ZXIgdGhlIHNuYXBzaG90IGlzIGNyZWF0ZWRcbiAgICogQW55dGltZSB0aGUgc25hcHNob3QgbmVlZHMgdG8gYmUgbW9kaWZpZWQgYWZ0ZXIgY3JlYXRpb25cbiAgICogdGhlIGxvZ2ljIHNob3VsZCBsaXZlIGhlcmUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNsZWFudXBTbmFwc2hvdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0aGlzLnNuYXBzaG90RGlyKSkge1xuICAgICAgYXdhaXQgdGhpcy5yZW1vdmVBc3NldHNGcm9tU25hcHNob3QoKTtcbiAgICAgIHRoaXMucmVtb3ZlQXNzZXRzQ2FjaGVGcm9tU25hcHNob3QoKTtcbiAgICAgIGNvbnN0IGFzc2VtYmx5ID0gQXNzZW1ibHlNYW5pZmVzdFJlYWRlci5mcm9tUGF0aCh0aGlzLnNuYXBzaG90RGlyKTtcbiAgICAgIGFzc2VtYmx5LmNsZWFuTWFuaWZlc3QoKTtcbiAgICAgIGFzc2VtYmx5LnJlY29yZFRyYWNlKHRoaXMucmVuZGVyVHJhY2VEYXRhKCkpO1xuICAgIH1cblxuICAgIC8vIGlmIHRoaXMgaXMgYSBsZWdhY3kgdGVzdCB0aGVuIGNyZWF0ZSBhbiBpbnRlZyBtYW5pZmVzdFxuICAgIC8vIGluIHRoZSBzbmFwc2hvdCBkaXJlY3Rvcnkgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIHRoZVxuICAgIC8vIHVwZGF0ZSB3b3JrZmxvdy4gU2F2ZSBhbnkgbGVnYWN5Q29udGV4dCBhcyB3ZWxsIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWRcbiAgICAvLyB0aGUgbmV4dCB0aW1lXG4gICAgY29uc3QgYWN0dWFsVGVzdFN1aXRlID0gYXdhaXQgdGhpcy5hY3R1YWxUZXN0U3VpdGUoKTtcbiAgICBpZiAoYWN0dWFsVGVzdFN1aXRlLnR5cGUgPT09ICdsZWdhY3ktdGVzdC1zdWl0ZScpIHtcbiAgICAgIChhY3R1YWxUZXN0U3VpdGUgYXMgTGVnYWN5SW50ZWdUZXN0U3VpdGUpLnNhdmVNYW5pZmVzdCh0aGlzLnNuYXBzaG90RGlyLCB0aGlzLmxlZ2FjeUNvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb250ZXh0KGFkZGl0aW9uYWxDb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jdXJyZW50bHlSZWNvbW1lbmRlZEF3c0Nka0xpYkZsYWdzKCksXG4gICAgICAuLi50aGlzLmxlZ2FjeUNvbnRleHQsXG4gICAgICAuLi5hZGRpdGlvbmFsQ29udGV4dCxcblxuICAgICAgLy8gV2Ugb3JpZ2luYWxseSBoYWQgUExBTk5FRCB0byBzZXQgdGhpcyB0byBbJ2F3cycsICdhd3MtY24nXSwgYnV0IGR1ZSB0byBhIHByb2dyYW1taW5nIG1pc3Rha2VcbiAgICAgIC8vIGl0IHdhcyBzZXQgdG8gZXZlcnl0aGluZy4gSW4gdGhpcyBQUiwgc2V0IGl0IHRvIGV2ZXJ5dGhpbmcgdG8gbm90IG1lc3MgdXAgYWxsIHRoZSBzbmFwc2hvdHMuXG4gICAgICBbVEFSR0VUX1BBUlRJVElPTlNdOiB1bmRlZmluZWQsXG5cbiAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0gVEhFIEZVVFVSRSBMSVZFUyBCRUxPVy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIFJlc3RyaWN0aW5nIHRvIHRoZXNlIHRhcmdldCBwYXJ0aXRpb25zIG1ha2VzIG1vc3Qgc2VydmljZSBwcmluY2lwYWxzIHN5bnRoZXNpemUgdG9cbiAgICAgIC8vIGBzZXJ2aWNlLiR7VVJMX1NVRkZJWH1gLCB3aGljaCBpcyB0ZWNobmljYWxseSAqaW5jb3JyZWN0KiAoaXQncyBvbmx5IGBhbWF6b25hd3MuY29tYFxuICAgICAgLy8gb3IgYGFtYXpvbmF3cy5jb20uY25gLCBuZXZlciBVcmxTdWZmaXggZm9yIGFueSBvZiB0aGUgcmVzdHJpY3RlZCByZWdpb25zKSBidXQgaXQncyB3aGF0XG4gICAgICAvLyBtb3N0IGV4aXN0aW5nIGludGVnIHRlc3RzIGNvbnRhaW4sIGFuZCB3ZSB3YW50IHRvIGRpc3R1cmIgYXMgZmV3IGFzIHBvc3NpYmxlLlxuICAgICAgLy8gW1RBUkdFVF9QQVJUSVRJT05TXTogWydhd3MnLCAnYXdzLWNuJ10sXG4gICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tIEVORCBPRiBUSEUgRlVUVVJFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICB9O1xuICB9XG59XG5cbi8vIERlZmF1bHQgY29udGV4dCB3ZSBydW4gYWxsIGludGVnIHRlc3RzIHdpdGgsIHNvIHRoZXkgZG9uJ3QgZGVwZW5kIG9uIHRoZVxuLy8gYWNjb3VudCBvZiB0aGUgZXhlcmNpc2luZyB1c2VyLlxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1lOVEhfT1BUSU9OUyA9IHtcbiAgY29udGV4dDoge1xuICAgIFtBVkFJTEFCSUxJVFlfWk9ORV9GQUxMQkFDS19DT05URVhUX0tFWV06IFsndGVzdC1yZWdpb24tMWEnLCAndGVzdC1yZWdpb24tMWInLCAndGVzdC1yZWdpb24tMWMnXSxcbiAgICAnYXZhaWxhYmlsaXR5LXpvbmVzOmFjY291bnQ9MTIzNDU2Nzg6cmVnaW9uPXRlc3QtcmVnaW9uJzogWyd0ZXN0LXJlZ2lvbi0xYScsICd0ZXN0LXJlZ2lvbi0xYicsICd0ZXN0LXJlZ2lvbi0xYyddLFxuICAgICdzc206YWNjb3VudD0xMjM0NTY3ODpwYXJhbWV0ZXJOYW1lPS9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuLWFtaS1odm0teDg2XzY0LWdwMjpyZWdpb249dGVzdC1yZWdpb24nOiAnYW1pLTEyMzQnLFxuICAgICdzc206YWNjb3VudD0xMjM0NTY3ODpwYXJhbWV0ZXJOYW1lPS9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMi1hbWktaHZtLXg4Nl82NC1ncDI6cmVnaW9uPXRlc3QtcmVnaW9uJzogJ2FtaS0xMjM0JyxcbiAgICAnc3NtOmFjY291bnQ9MTIzNDU2Nzg6cGFyYW1ldGVyTmFtZT0vYXdzL3NlcnZpY2UvZWNzL29wdGltaXplZC1hbWkvYW1hem9uLWxpbnV4L3JlY29tbWVuZGVkOnJlZ2lvbj10ZXN0LXJlZ2lvbic6ICd7XCJpbWFnZV9pZFwiOiBcImFtaS0xMjM0XCJ9JyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHN0eWxpc3RpYy9tYXgtbGVuXG4gICAgJ2FtaTphY2NvdW50PTEyMzQ1Njc4OmZpbHRlcnMuaW1hZ2UtdHlwZS4wPW1hY2hpbmU6ZmlsdGVycy5uYW1lLjA9YW16bi1hbWktdnBjLW5hdC0qOmZpbHRlcnMuc3RhdGUuMD1hdmFpbGFibGU6b3duZXJzLjA9YW1hem9uOnJlZ2lvbj10ZXN0LXJlZ2lvbic6ICdhbWktMTIzNCcsXG4gICAgJ3ZwYy1wcm92aWRlcjphY2NvdW50PTEyMzQ1Njc4OmZpbHRlci5pc0RlZmF1bHQ9dHJ1ZTpyZWdpb249dGVzdC1yZWdpb246cmV0dXJuQXN5bW1ldHJpY1N1Ym5ldHM9dHJ1ZSc6IHtcbiAgICAgIHZwY0lkOiAndnBjLTYwOTAwOTA1JyxcbiAgICAgIHN1Ym5ldEdyb3VwczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1B1YmxpYycsXG4gICAgICAgICAgbmFtZTogJ1B1YmxpYycsXG4gICAgICAgICAgc3VibmV0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdWJuZXRJZDogJ3N1Ym5ldC1lMTk0NTVjYScsXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6ICd1cy1lYXN0LTFhJyxcbiAgICAgICAgICAgICAgcm91dGVUYWJsZUlkOiAncnRiLWUxOTQ1NWNhJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN1Ym5ldElkOiAnc3VibmV0LWUwYzI0Nzk3JyxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogJ3VzLWVhc3QtMWInLFxuICAgICAgICAgICAgICByb3V0ZVRhYmxlSWQ6ICdydGItZTBjMjQ3OTcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3VibmV0SWQ6ICdzdWJuZXQtY2NkNzczOTUnLFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiAndXMtZWFzdC0xYycsXG4gICAgICAgICAgICAgIHJvdXRlVGFibGVJZDogJ3J0Yi1jY2Q3NzM5NScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0sXG4gIGVudjoge1xuICAgIENES19JTlRFR19BQ0NPVU5UOiAnMTIzNDU2NzgnLFxuICAgIENES19JTlRFR19SRUdJT046ICd0ZXN0LXJlZ2lvbicsXG4gICAgQ0RLX0lOVEVHX0hPU1RFRF9aT05FX0lEOiAnWjIzQUJDNFhZWkwwNUInLFxuICAgIENES19JTlRFR19IT1NURURfWk9ORV9OQU1FOiAnZXhhbXBsZS5jb20nLFxuICAgIENES19JTlRFR19ET01BSU5fTkFNRTogJyouZXhhbXBsZS5jb20nLFxuICAgIENES19JTlRFR19DRVJUX0FSTjogJ2Fybjphd3M6YWNtOnRlc3QtcmVnaW9uOjEyMzQ1Njc4OmNlcnRpZmljYXRlLzg2NDY4MjA5LWEyNzItNTk1ZC1iODMxLTBlZmI2NDIxMjY1eicsXG4gICAgQ0RLX0lOVEVHX1NVQk5FVF9JRDogJ3N1Ym5ldC0wZGZmMWEzOTlkOGY2ZjkyYycsXG4gIH0sXG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgY3VycmVudGx5IHJlY29tbWVuZGVkIGZsYWdzIGZvciBgYXdzLWNkay1saWJgLlxuICpcbiAqIFRoZXNlIGhhdmUgYmVlbiBidWlsdCBpbnRvIHRoZSBDTEkgYXQgYnVpbGQgdGltZS4gSWYgdGhpcyBldmVyIGdldHMgY2hhbmdlZFxuICogYmFjayB0byBhIGR5bmFtaWMgbG9hZCwgcmVtZW1iZXIgdGhhdCB0aGlzIHNvdXJjZSBmaWxlIG1heSBiZSBidW5kbGVkIGludG9cbiAqIGEgSmF2YVNjcmlwdCBidW5kbGUsIGFuZCBgX19kaXJuYW1lYCBtaWdodCBub3QgcG9pbnQgd2hlcmUgeW91IHRoaW5rIGl0IGRvZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXJyZW50bHlSZWNvbW1lbmRlZEF3c0Nka0xpYkZsYWdzKCkge1xuICByZXR1cm4gcmVjb21tZW5kZWRGbGFnc0ZpbGU7XG59XG4iXX0=
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW5uZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyYkEsZ0ZBRUM7QUE3YkQsa0RBQWtEO0FBQ2xELDZCQUE2QjtBQUc3Qiw0Q0FBNEY7QUFDNUYsK0JBQStCO0FBQy9CLHlEQUEwRTtBQUUxRSwwRUFBMEU7QUFDMUUsb0NBQW1DO0FBQ25DLHFDQUEwRDtBQUUxRCw2REFBa0U7QUFHbEUsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQWdEckQ7O0dBRUc7QUFDSDs7R0FFRztBQUNILE1BQXNCLFdBQVc7SUFrRS9CLFlBQVksT0FBMkI7UUExQnZDOztXQUVHO1FBQ2dCLGdCQUFXLEdBQXNCO1lBQ2xELFlBQVksRUFBRSxLQUFLO1lBQ25CLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGdCQUFnQixFQUFFLEtBQUs7U0FDeEIsQ0FBQztRQW9CQSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBQSxtQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBRXJFLE1BQU0s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QyxrQkFBa0IsRUFBRSxtRkFBbUY7UUFDdkcsbUJBQW1CLEVBQUUsMEJBQTBCO0tBQ2hEO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILFNBQWdCLGtDQUFrQztJQUNoRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAY2RrbGFicy9uby1saXRlcmFsLXBhcnRpdGlvbiAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgSUNkayB9IGZyb20gJ0Bhd3MtY2RrL2Nkay1jbGktd3JhcHBlcic7XG5pbXBvcnQgdHlwZSB7IFRlc3RDYXNlLCBEZWZhdWx0Q2RrT3B0aW9ucyB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBBVkFJTEFCSUxJVFlfWk9ORV9GQUxMQkFDS19DT05URVhUX0tFWSwgVEFSR0VUX1BBUlRJVElPTlMgfSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHsgSW50ZWdUZXN0U3VpdGUsIExlZ2FjeUludGVnVGVzdFN1aXRlIH0gZnJvbSAnLi9pbnRlZy10ZXN0LXN1aXRlJztcbmltcG9ydCB0eXBlIHsgSW50ZWdUZXN0IH0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0cyc7XG5pbXBvcnQgKiBhcyByZWNvbW1lbmRlZEZsYWdzRmlsZSBmcm9tICcuLi9yZWNvbW1lbmRlZC1mZWF0dXJlLWZsYWdzLmpzb24nO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IG1ha2VFbmdpbmUsIHR5cGUgRW5naW5lT3B0aW9ucyB9IGZyb20gJy4vZW5naW5lJztcbmltcG9ydCB0eXBlIHsgTWFuaWZlc3RUcmFjZSB9IGZyb20gJy4vcHJpdmF0ZS9jbG91ZC1hc3NlbWJseSc7XG5pbXBvcnQgeyBBc3NlbWJseU1hbmlmZXN0UmVhZGVyIH0gZnJvbSAnLi9wcml2YXRlL2Nsb3VkLWFzc2VtYmx5JztcbmltcG9ydCB0eXBlIHsgRGVzdHJ1Y3RpdmVDaGFuZ2UgfSBmcm9tICcuLi93b3JrZXJzL2NvbW1vbic7XG5cbmNvbnN0IERFU1RSVUNUSVZFX0NIQU5HRVMgPSAnISFERVNUUlVDVElWRV9DSEFOR0VTOic7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gaW50ZWdyYXRpb24gdGVzdCBydW5uZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1J1bm5lck9wdGlvbnMgZXh0ZW5kcyBFbmdpbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZXN0IHRvIHJ1blxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdDogSW50ZWdUZXN0O1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIHdoZW4gaW52b2tpbmcgdGhlIENESyBDTElcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9maWxlIGlzIHBhc3NlZCwgdGhlIGRlZmF1bHQgcHJvZmlsZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgYXZhaWxhYmxlXG4gICAqIHRvIHRoZSBDREsgQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAgICovXG4gIHJlYWRvbmx5IGVudj86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiB0bXAgY2RrLm91dCBkaXJlY3RvcnlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXJlY3Rvcnkgd2lsbCBiZSBgY2RrLWludGVnLm91dC4ke3Rlc3ROYW1lfWBcbiAgICovXG4gIHJlYWRvbmx5IGludGVnT3V0RGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiB0aGUgQ0RLIFRvb2xraXQgRW5naW5lIHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJhc2VkIG9uIGBlbmdpbmVgIG9wdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgY2RrPzogSUNkaztcblxuICAvKipcbiAgICogU2hvdyBvdXRwdXQgZnJvbSBydW5uaW5nIGludGVncmF0aW9uIHRlc3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzaG93T3V0cHV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgZGlmZmVyZW50IGNvbXBvbmVudHMgb2YgYSB0ZXN0IG5hbWVcbiAqL1xuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEludGVncmF0aW9uIHRlc3QgcnVubmVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlZ1J1bm5lciB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBzbmFwc2hvdCB3aWxsIGJlIHN0b3JlZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNuYXBzaG90RGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGluc3RhbmNlIG9mIHRoZSBDREsgIENMSVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNkazogSUNkaztcblxuICAvKipcbiAgICogUHJldHR5IG5hbWUgb2YgdGhlIHRlc3RcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0ZXN0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdXNlZCBpbiB0aGUgJy0tYXBwJyBDTEkgcGFyYW1ldGVyXG4gICAqXG4gICAqIFBhdGggdG8gdGhlIGludGVnIHRlc3Qgc291cmNlIGZpbGUsIHJlbGF0aXZlIHRvIGB0aGlzLmRpcmVjdG9yeWAuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RrQXBwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHdoZXJlIHRoZSBgY2RrLmNvbnRleHQuanNvbmAgZmlsZVxuICAgKiB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjZGtDb250ZXh0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBkaXJlY3RvcnkgdGhhdCB0aGUgaW50ZWdyYXRpb24gdGVzdHMgd2lsbCBiZVxuICAgKiBleGVjdXRlZCBmcm9tXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXN0IHRvIHJ1blxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRlc3Q6IEludGVnVGVzdDtcblxuICAvKipcbiAgICogRGVmYXVsdCBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIENESyBDTElcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0QXJnczogRGVmYXVsdENka09wdGlvbnMgPSB7XG4gICAgcGF0aE1ldGFkYXRhOiBmYWxzZSxcbiAgICBhc3NldE1ldGFkYXRhOiBmYWxzZSxcbiAgICB2ZXJzaW9uUmVwb3J0aW5nOiBmYWxzZSxcbiAgfTtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgQ0RLIHdpbGwgYmUgc3ludGhlZCB0b1xuICAgKlxuICAgKiBSZWxhdGl2ZSB0byBjd2QuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RrT3V0RGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9maWxlIHRvIHVzZSBmb3IgdGhlIENESyBDTEkgY2FsbHNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfZGVzdHJ1Y3RpdmVDaGFuZ2VzPzogRGVzdHJ1Y3RpdmVDaGFuZ2VbXTtcbiAgcHJpdmF0ZSBsZWdhY3lDb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJpdmF0ZSBfZXhwZWN0ZWRUZXN0U3VpdGU/OiBJbnRlZ1Rlc3RTdWl0ZSB8IExlZ2FjeUludGVnVGVzdFN1aXRlO1xuICBwcml2YXRlIF9hY3R1YWxUZXN0U3VpdGU/OiBJbnRlZ1Rlc3RTdWl0ZSB8IExlZ2FjeUludGVnVGVzdFN1aXRlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEludGVnUnVubmVyT3B0aW9ucykge1xuICAgIHRoaXMudGVzdCA9IG9wdGlvbnMudGVzdDtcbiAgICB0aGlzLmRpcmVjdG9yeSA9IHRoaXMudGVzdC5kaXJlY3Rvcnk7XG4gICAgdGhpcy50ZXN0TmFtZSA9IHRoaXMudGVzdC50ZXN0TmFtZTtcbiAgICB0aGlzLnNuYXBzaG90RGlyID0gdGhpcy50ZXN0LnNuYXBzaG90RGlyO1xuICAgIHRoaXMuY2RrQ29udGV4dFBhdGggPSBwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksICdjZGsuY29udGV4dC5qc29uJyk7XG5cbiAgICB0aGlzLmNkayA9IG9wdGlvbnMuY2RrID8/IG1ha2VFbmdpbmUob3B0aW9ucyk7XG4gICAgdGhpcy5jZGtPdXREaXIgPSBvcHRpb25zLmludGVnT3V0RGlyID8/IHRoaXMudGVzdC50ZW1wb3JhcnlPdXRwdXREaXI7XG5cbiAgICBjb25zdCB0ZXN0UnVuQ29tbWFuZCA9IHRoaXMudGVzdC5hcHBDb21tYW5kO1xuICAgIHRoaXMuY2RrQXBwID0gdGVzdFJ1bkNvbW1hbmQucmVwbGFjZSgne2ZpbGVQYXRofScsIHBhdGgucmVsYXRpdmUodGhpcy5kaXJlY3RvcnksIHRoaXMudGVzdC5maWxlTmFtZSkpO1xuXG4gICAgdGhpcy5wcm9maWxlID0gb3B0aW9ucy5wcm9maWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbGlzdCBvZiBleHBlY3RlZCAoaS5lLiBleGlzdGluZykgdGVzdCBjYXNlcyBmb3IgdGhpcyBpbnRlZ3JhdGlvbiB0ZXN0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZXhwZWN0ZWRUZXN0cygpOiBQcm9taXNlPHsgW3Rlc3ROYW1lOiBzdHJpbmddOiBUZXN0Q2FzZSB9IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmV4cGVjdGVkVGVzdFN1aXRlKCkpPy50ZXN0U3VpdGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsaXN0IG9mIGFjdHVhbCAoaS5lLiBuZXcpIHRlc3QgY2FzZXMgZm9yIHRoaXMgaW50ZWdyYXRpb24gdGVzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFjdHVhbFRlc3RzKCk6IFByb21pc2U8eyBbdGVzdE5hbWU6IHN0cmluZ106IFRlc3RDYXNlIH0gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuYWN0dWFsVGVzdFN1aXRlKCkpLnRlc3RTdWl0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG5ldyBcImFjdHVhbFwiIHNuYXBzaG90IHdoaWNoIHdpbGwgYmUgY29tcGFyZWQgdG8gdGhlXG4gICAqIGV4aXN0aW5nIFwiZXhwZWN0ZWRcIiBzbmFwc2hvdFxuICAgKiBUaGlzIHdpbGwgc3ludGggYW5kIHRoZW4gbG9hZCB0aGUgaW50ZWdyYXRpb24gdGVzdCBtYW5pZmVzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQWN0dWFsU25hcHNob3QoKTogUHJvbWlzZTxJbnRlZ1Rlc3RTdWl0ZSB8IExlZ2FjeUludGVnVGVzdFN1aXRlPiB7XG4gICAgYXdhaXQgdGhpcy5jZGsuc3ludGhGYXN0KHtcbiAgICAgIGV4ZWNDbWQ6IHRoaXMuY2RrQXBwLnNwbGl0KCcgJyksXG4gICAgICAvLyB3ZSBkb24ndCBrbm93IHRoZSBcImFjdHVhbFwiIGNvbnRleHQgeWV0ICh0aGlzIG1ldGhvZCBpcyB3aGF0IGdlbmVyYXRlcyBpdCkgc28ganVzdFxuICAgICAgLy8gdXNlIHRoZSBcImV4cGVjdGVkXCIgY29udGV4dC4gVGhpcyBpcyBvbmx5IHJ1biBpbiBvcmRlciB0byByZWFkIHRoZSBtYW5pZmVzdFxuICAgICAgY29udGV4dDogdGhpcy5nZXRDb250ZXh0KChhd2FpdCB0aGlzLmV4cGVjdGVkVGVzdFN1aXRlKCkpPy5zeW50aENvbnRleHQpLFxuICAgICAgZW52OiBERUZBVUxUX1NZTlRIX09QVElPTlMuZW52LFxuICAgICAgb3V0cHV0OiBwYXRoLnJlbGF0aXZlKHRoaXMuZGlyZWN0b3J5LCB0aGlzLmNka091dERpciksXG4gICAgfSk7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCB0aGlzLmxvYWRNYW5pZmVzdCh0aGlzLmNka091dERpcik7XG4gICAgLy8gYWZ0ZXIgd2UgbG9hZCB0aGUgbWFuaWZlc3QgcmVtb3ZlIHRoZSB0bXAgc25hcHNob3RcbiAgICAvLyBzbyB0aGF0IGl0IGRvZXNuJ3QgbWVzcyB1cCB0aGUgcmVhbCBzbmFwc2hvdCBjcmVhdGVkIGxhdGVyXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgcmV0dXJuIG1hbmlmZXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhIHNuYXBzaG90IGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIHRlc3RcbiAgICovXG4gIHB1YmxpYyBoYXNTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZnMuZXhpc3RzU3luYyh0aGlzLnNuYXBzaG90RGlyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGVzdCBzdWl0ZSBmcm9tIHRoZSBleGlzdGluZyBzbmFwc2hvdFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4cGVjdGVkVGVzdFN1aXRlKCk6IFByb21pc2U8SW50ZWdUZXN0U3VpdGUgfCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5fZXhwZWN0ZWRUZXN0U3VpdGUgJiYgdGhpcy5oYXNTbmFwc2hvdCgpKSB7XG4gICAgICB0aGlzLl9leHBlY3RlZFRlc3RTdWl0ZSA9IGF3YWl0IHRoaXMubG9hZE1hbmlmZXN0KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9leHBlY3RlZFRlc3RTdWl0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGVzdCBzdWl0ZSBmcm9tIHRoZSBuZXcgXCJhY3R1YWxcIiBzbmFwc2hvdFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGFjdHVhbFRlc3RTdWl0ZSgpOiBQcm9taXNlPEludGVnVGVzdFN1aXRlIHwgTGVnYWN5SW50ZWdUZXN0U3VpdGU+IHtcbiAgICBpZiAoIXRoaXMuX2FjdHVhbFRlc3RTdWl0ZSkge1xuICAgICAgdGhpcy5fYWN0dWFsVGVzdFN1aXRlID0gYXdhaXQgdGhpcy5nZW5lcmF0ZUFjdHVhbFNuYXBzaG90KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hY3R1YWxUZXN0U3VpdGU7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgaW50ZWcgbWFuaWZlc3Qgd2hpY2ggY29udGFpbnMgaW5mb3JtYXRpb25cbiAgICogb24gaG93IHRvIGV4ZWN1dGUgdGhlIHRlc3RzXG4gICAqIEZpcnN0IHdlIHRyeSBhbmQgbG9hZCB0aGUgbWFuaWZlc3QgZnJvbSB0aGUgaW50ZWcgbWFuaWZlc3QgKGkuZS4gaW50ZWcuanNvbilcbiAgICogZnJvbSB0aGUgY2xvdWQgYXNzZW1ibHkuIElmIGl0IGRvZXNuJ3QgZXhpc3QsIHRoZW4gd2UgZmFsbGJhY2sgdG8gdGhlXG4gICAqIFwibGVnYWN5IG1vZGVcIiBhbmQgY3JlYXRlIGEgbWFuaWZlc3QgZnJvbSBwcmFnbWFcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkTWFuaWZlc3QoZGlyPzogc3RyaW5nKTogUHJvbWlzZTxJbnRlZ1Rlc3RTdWl0ZSB8IExlZ2FjeUludGVnVGVzdFN1aXRlPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRlc3RTdWl0ZSA9IEludGVnVGVzdFN1aXRlLmZyb21QYXRoKGRpciA/PyB0aGlzLnNuYXBzaG90RGlyKTtcbiAgICAgIHJldHVybiB0ZXN0U3VpdGU7XG4gICAgfSBjYXRjaCB7XG4gICAgICBjb25zdCB0ZXN0Q2FzZXMgPSBhd2FpdCBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZS5mcm9tTGVnYWN5KHtcbiAgICAgICAgY2RrOiB0aGlzLmNkayxcbiAgICAgICAgdGVzdE5hbWU6IHRoaXMudGVzdC5ub3JtYWxpemVkVGVzdE5hbWUsXG4gICAgICAgIGludGVnU291cmNlRmlsZVBhdGg6IHRoaXMudGVzdC5maWxlTmFtZSxcbiAgICAgICAgbGlzdE9wdGlvbnM6IHtcbiAgICAgICAgICAuLi50aGlzLmRlZmF1bHRBcmdzLFxuICAgICAgICAgIGFsbDogdHJ1ZSxcbiAgICAgICAgICBhcHA6IHRoaXMuY2RrQXBwLFxuICAgICAgICAgIHByb2ZpbGU6IHRoaXMucHJvZmlsZSxcbiAgICAgICAgICBvdXRwdXQ6IHBhdGgucmVsYXRpdmUodGhpcy5kaXJlY3RvcnksIHRoaXMuY2RrT3V0RGlyKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5sZWdhY3lDb250ZXh0ID0gTGVnYWN5SW50ZWdUZXN0U3VpdGUuZ2V0UHJhZ21hQ29udGV4dCh0aGlzLnRlc3QuZmlsZU5hbWUpO1xuICAgICAgcmV0dXJuIHRlc3RDYXNlcztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cCgpOiB2b2lkIHtcbiAgICBjb25zdCBjZGtPdXRQYXRoID0gdGhpcy5jZGtPdXREaXI7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoY2RrT3V0UGF0aCkpIHtcbiAgICAgIGZzLnJlbW92ZVN5bmMoY2RrT3V0UGF0aCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZXJlIGFyZSBhbnkgZGVzdHJ1Y3RpdmUgY2hhbmdlcyB0byBhIHN0YWNrIHRoZW4gdGhpcyB3aWxsIHJlY29yZFxuICAgKiB0aG9zZSBpbiB0aGUgbWFuaWZlc3QuanNvbiBmaWxlXG4gICAqL1xuICBwcml2YXRlIHJlbmRlclRyYWNlRGF0YSgpOiBNYW5pZmVzdFRyYWNlIHtcbiAgICBjb25zdCB0cmFjZURhdGE6IE1hbmlmZXN0VHJhY2UgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgZGVzdHJ1Y3RpdmVDaGFuZ2VzID0gdGhpcy5fZGVzdHJ1Y3RpdmVDaGFuZ2VzID8/IFtdO1xuICAgIGRlc3RydWN0aXZlQ2hhbmdlcy5mb3JFYWNoKGNoYW5nZSA9PiB7XG4gICAgICBjb25zdCB0cmFjZSA9IHRyYWNlRGF0YS5nZXQoY2hhbmdlLnN0YWNrTmFtZSk7XG4gICAgICBpZiAodHJhY2UpIHtcbiAgICAgICAgdHJhY2Uuc2V0KGNoYW5nZS5sb2dpY2FsSWQsIGAke0RFU1RSVUNUSVZFX0NIQU5HRVN9ICR7Y2hhbmdlLmltcGFjdH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNlRGF0YS5zZXQoY2hhbmdlLnN0YWNrTmFtZSwgbmV3IE1hcChbXG4gICAgICAgICAgW2NoYW5nZS5sb2dpY2FsSWQsIGAke0RFU1RSVUNUSVZFX0NIQU5HRVN9ICR7Y2hhbmdlLmltcGFjdH1gXSxcbiAgICAgICAgXSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0cmFjZURhdGE7XG4gIH1cblxuICAvKipcbiAgICogSW4gY2FzZXMgd2hlcmUgd2UgZG8gbm90IHdhbnQgdG8gcmV0YWluIHRoZSBhc3NldHMsXG4gICAqIGZvciBleGFtcGxlLCBpZiB0aGUgYXNzZXRzIGFyZSB2ZXJ5IGxhcmdlLlxuICAgKlxuICAgKiBTaW5jZSBpdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSB1cGRhdGUgd29ya2Zsb3cgZm9yIGluZGl2aWR1YWwgdGVzdFxuICAgKiBjYXNlcywgdGhpcyBuZWVkcyB0byBmaXJzdCBnZXQgYSBsaXN0IG9mIHN0YWNrcyB0aGF0IGhhdmUgdGhlIHVwZGF0ZSB3b3JrZmxvd1xuICAgKiBkaXNhYmxlZCBhbmQgdGhlbiBkZWxldGUgYXNzZXRzIHRoYXQgcmVsYXRlIHRvIHRoYXQgc3RhY2suIEl0IGRvZXMgdGhhdFxuICAgKiBieSByZWFkaW5nIHRoZSBhc3NldCBtYW5pZmVzdCBmb3IgdGhlIHN0YWNrIGFuZCBkZWxldGluZyB0aGUgYXNzZXQgc291cmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmVtb3ZlQXNzZXRzRnJvbVNuYXBzaG90KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0YWNrcyA9IChhd2FpdCB0aGlzLmFjdHVhbFRlc3RTdWl0ZSgpKS5nZXRTdGFja3NXaXRob3V0VXBkYXRlV29ya2Zsb3coKSA/PyBbXTtcbiAgICBjb25zdCBtYW5pZmVzdCA9IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbVBhdGgodGhpcy5zbmFwc2hvdERpcik7XG4gICAgY29uc3QgYXNzZXRzID0gZmxhdHRlbihzdGFja3MubWFwKHN0YWNrID0+IHtcbiAgICAgIHJldHVybiBtYW5pZmVzdC5nZXRBc3NldExvY2F0aW9uc0ZvclN0YWNrKHN0YWNrKSA/PyBbXTtcbiAgICB9KSk7XG5cbiAgICBhc3NldHMuZm9yRWFjaChhc3NldCA9PiB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguam9pbih0aGlzLnNuYXBzaG90RGlyLCBhc3NldCk7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhmaWxlTmFtZSkpIHtcbiAgICAgICAgaWYgKGZzLmxzdGF0U3luYyhmaWxlTmFtZSkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmMoZmlsZU5hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZzLnVubGlua1N5bmMoZmlsZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBhc3NldCBjYWNoZSAoLmNhY2hlLykgZmlsZXMgZnJvbSB0aGUgc25hcHNob3QuXG4gICAqIFRoZXNlIGFyZSBhIGNhY2hlIG9mIHRoZSBhc3NldCB6aXBzLCBidXQgd2UgYXJlIGZpbmUgd2l0aFxuICAgKiByZS16aXBwaW5nIG9uIGRlcGxveVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlbW92ZUFzc2V0c0NhY2hlRnJvbVNuYXBzaG90KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmModGhpcy5zbmFwc2hvdERpcik7XG4gICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5qb2luKHRoaXMuc25hcHNob3REaXIsIGZpbGUpO1xuICAgICAgaWYgKGZzLmxzdGF0U3luYyhmaWxlTmFtZSkuaXNEaXJlY3RvcnkoKSAmJiBmaWxlID09PSAnLmNhY2hlJykge1xuICAgICAgICBmcy5lbXB0eURpclN5bmMoZmlsZU5hbWUpO1xuICAgICAgICBmcy5ybWRpclN5bmMoZmlsZU5hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgbmV3IHNuYXBzaG90LlxuICAgKlxuICAgKiBJZiBsb29rdXBzIGFyZSBlbmFibGVkLCB0aGVuIHdlIG5lZWQgY3JlYXRlIHRoZSBzbmFwc2hvdCBieSBzeW50aCdpbmcgYWdhaW5cbiAgICogd2l0aCB0aGUgZHVtbXkgY29udGV4dCBzbyB0aGF0IGVhY2ggdGltZSB0aGUgdGVzdCBpcyBydW4gb24gZGlmZmVyZW50IG1hY2hpbmVzXG4gICAqIChhbmQgd2l0aCBkaWZmZXJlbnQgY29udGV4dC9lbnYpIHRoZSBkaWZmIHdpbGwgbm90IGNoYW5nZS5cbiAgICpcbiAgICogSWYgbG9va3VwcyBhcmUgZGlzYWJsZWQgKHdoaWNoIG1lYW5zIHRoZSBzdGFjayBpcyBlbnYgYWdub3N0aWMpIHRoZW4ganVzdCBjb3B5XG4gICAqIHRoZSBhc3NlbWJseSB0aGF0IHdhcyBvdXRwdXQgYnkgdGhlIGRlcGxveW1lbnRcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjcmVhdGVTbmFwc2hvdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0aGlzLnNuYXBzaG90RGlyKSkge1xuICAgICAgZnMucmVtb3ZlU3luYyh0aGlzLnNuYXBzaG90RGlyKTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3R1YWxUZXN0U3VpdGUgPSBhd2FpdCB0aGlzLmFjdHVhbFRlc3RTdWl0ZSgpO1xuXG4gICAgLy8gaWYgbG9va3VwcyBhcmUgZW5hYmxlZCB0aGVuIHdlIG5lZWQgdG8gc3ludGggYWdhaW5cbiAgICAvLyB1c2luZyBkdW1teSBjb250ZXh0IGFuZCBzYXZlIHRoYXQgYXMgdGhlIHNuYXBzaG90XG4gICAgYXdhaXQgdGhpcy5jZGsuc3ludGhGYXN0KHtcbiAgICAgIGV4ZWNDbWQ6IHRoaXMuY2RrQXBwLnNwbGl0KCcgJyksXG4gICAgICBjb250ZXh0OiB0aGlzLmdldENvbnRleHQoYWN0dWFsVGVzdFN1aXRlLmVuYWJsZUxvb2t1cHMgPyBERUZBVUxUX1NZTlRIX09QVElPTlMuY29udGV4dCA6IHt9KSxcbiAgICAgIGVudjogREVGQVVMVF9TWU5USF9PUFRJT05TLmVudixcbiAgICAgIG91dHB1dDogcGF0aC5yZWxhdGl2ZSh0aGlzLmRpcmVjdG9yeSwgdGhpcy5zbmFwc2hvdERpciksXG4gICAgfSk7XG5cbiAgICBhd2FpdCB0aGlzLmNsZWFudXBTbmFwc2hvdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gc29tZSBjbGVhbnVwIHN0ZXBzIGFmdGVyIHRoZSBzbmFwc2hvdCBpcyBjcmVhdGVkXG4gICAqIEFueXRpbWUgdGhlIHNuYXBzaG90IG5lZWRzIHRvIGJlIG1vZGlmaWVkIGFmdGVyIGNyZWF0aW9uXG4gICAqIHRoZSBsb2dpYyBzaG91bGQgbGl2ZSBoZXJlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjbGVhbnVwU25hcHNob3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmModGhpcy5zbmFwc2hvdERpcikpIHtcbiAgICAgIGF3YWl0IHRoaXMucmVtb3ZlQXNzZXRzRnJvbVNuYXBzaG90KCk7XG4gICAgICB0aGlzLnJlbW92ZUFzc2V0c0NhY2hlRnJvbVNuYXBzaG90KCk7XG4gICAgICBjb25zdCBhc3NlbWJseSA9IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbVBhdGgodGhpcy5zbmFwc2hvdERpcik7XG4gICAgICBhc3NlbWJseS5jbGVhbk1hbmlmZXN0KCk7XG4gICAgICBhc3NlbWJseS5yZWNvcmRUcmFjZSh0aGlzLnJlbmRlclRyYWNlRGF0YSgpKTtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGlzIGlzIGEgbGVnYWN5IHRlc3QgdGhlbiBjcmVhdGUgYW4gaW50ZWcgbWFuaWZlc3RcbiAgICAvLyBpbiB0aGUgc25hcHNob3QgZGlyZWN0b3J5IHdoaWNoIGNhbiBiZSB1c2VkIGZvciB0aGVcbiAgICAvLyB1cGRhdGUgd29ya2Zsb3cuIFNhdmUgYW55IGxlZ2FjeUNvbnRleHQgYXMgd2VsbCBzbyB0aGF0IGl0IGNhbiBiZSByZWFkXG4gICAgLy8gdGhlIG5leHQgdGltZVxuICAgIGNvbnN0IGFjdHVhbFRlc3RTdWl0ZSA9IGF3YWl0IHRoaXMuYWN0dWFsVGVzdFN1aXRlKCk7XG4gICAgaWYgKGFjdHVhbFRlc3RTdWl0ZS50eXBlID09PSAnbGVnYWN5LXRlc3Qtc3VpdGUnKSB7XG4gICAgICAoYWN0dWFsVGVzdFN1aXRlIGFzIExlZ2FjeUludGVnVGVzdFN1aXRlKS5zYXZlTWFuaWZlc3QodGhpcy5zbmFwc2hvdERpciwgdGhpcy5sZWdhY3lDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udGV4dChhZGRpdGlvbmFsQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3VycmVudGx5UmVjb21tZW5kZWRBd3NDZGtMaWJGbGFncygpLFxuICAgICAgLi4udGhpcy5sZWdhY3lDb250ZXh0LFxuICAgICAgLi4uYWRkaXRpb25hbENvbnRleHQsXG5cbiAgICAgIC8vIFdlIG9yaWdpbmFsbHkgaGFkIFBMQU5ORUQgdG8gc2V0IHRoaXMgdG8gWydhd3MnLCAnYXdzLWNuJ10sIGJ1dCBkdWUgdG8gYSBwcm9ncmFtbWluZyBtaXN0YWtlXG4gICAgICAvLyBpdCB3YXMgc2V0IHRvIGV2ZXJ5dGhpbmcuIEluIHRoaXMgUFIsIHNldCBpdCB0byBldmVyeXRoaW5nIHRvIG5vdCBtZXNzIHVwIGFsbCB0aGUgc25hcHNob3RzLlxuICAgICAgW1RBUkdFVF9QQVJUSVRJT05TXTogdW5kZWZpbmVkLFxuXG4gICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tIFRIRSBGVVRVUkUgTElWRVMgQkVMT1ctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvLyBSZXN0cmljdGluZyB0byB0aGVzZSB0YXJnZXQgcGFydGl0aW9ucyBtYWtlcyBtb3N0IHNlcnZpY2UgcHJpbmNpcGFscyBzeW50aGVzaXplIHRvXG4gICAgICAvLyBgc2VydmljZS4ke1VSTF9TVUZGSVh9YCwgd2hpY2ggaXMgdGVjaG5pY2FsbHkgKmluY29ycmVjdCogKGl0J3Mgb25seSBgYW1hem9uYXdzLmNvbWBcbiAgICAgIC8vIG9yIGBhbWF6b25hd3MuY29tLmNuYCwgbmV2ZXIgVXJsU3VmZml4IGZvciBhbnkgb2YgdGhlIHJlc3RyaWN0ZWQgcmVnaW9ucykgYnV0IGl0J3Mgd2hhdFxuICAgICAgLy8gbW9zdCBleGlzdGluZyBpbnRlZyB0ZXN0cyBjb250YWluLCBhbmQgd2Ugd2FudCB0byBkaXN0dXJiIGFzIGZldyBhcyBwb3NzaWJsZS5cbiAgICAgIC8vIFtUQVJHRVRfUEFSVElUSU9OU106IFsnYXdzJywgJ2F3cy1jbiddLFxuICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLSBFTkQgT0YgVEhFIEZVVFVSRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgfTtcbiAgfVxufVxuXG4vLyBEZWZhdWx0IGNvbnRleHQgd2UgcnVuIGFsbCBpbnRlZyB0ZXN0cyB3aXRoLCBzbyB0aGV5IGRvbid0IGRlcGVuZCBvbiB0aGVcbi8vIGFjY291bnQgb2YgdGhlIGV4ZXJjaXNpbmcgdXNlci5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NZTlRIX09QVElPTlMgPSB7XG4gIGNvbnRleHQ6IHtcbiAgICBbQVZBSUxBQklMSVRZX1pPTkVfRkFMTEJBQ0tfQ09OVEVYVF9LRVldOiBbJ3Rlc3QtcmVnaW9uLTFhJywgJ3Rlc3QtcmVnaW9uLTFiJywgJ3Rlc3QtcmVnaW9uLTFjJ10sXG4gICAgJ2F2YWlsYWJpbGl0eS16b25lczphY2NvdW50PTEyMzQ1Njc4OnJlZ2lvbj10ZXN0LXJlZ2lvbic6IFsndGVzdC1yZWdpb24tMWEnLCAndGVzdC1yZWdpb24tMWInLCAndGVzdC1yZWdpb24tMWMnXSxcbiAgICAnc3NtOmFjY291bnQ9MTIzNDU2Nzg6cGFyYW1ldGVyTmFtZT0vYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bi1hbWktaHZtLXg4Nl82NC1ncDI6cmVnaW9uPXRlc3QtcmVnaW9uJzogJ2FtaS0xMjM0JyxcbiAgICAnc3NtOmFjY291bnQ9MTIzNDU2Nzg6cGFyYW1ldGVyTmFtZT0vYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjItYW1pLWh2bS14ODZfNjQtZ3AyOnJlZ2lvbj10ZXN0LXJlZ2lvbic6ICdhbWktMTIzNCcsXG4gICAgJ3NzbTphY2NvdW50PTEyMzQ1Njc4OnBhcmFtZXRlck5hbWU9L2F3cy9zZXJ2aWNlL2Vjcy9vcHRpbWl6ZWQtYW1pL2FtYXpvbi1saW51eC9yZWNvbW1lbmRlZDpyZWdpb249dGVzdC1yZWdpb24nOiAne1wiaW1hZ2VfaWRcIjogXCJhbWktMTIzNFwifScsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBzdHlsaXN0aWMvbWF4LWxlblxuICAgICdhbWk6YWNjb3VudD0xMjM0NTY3ODpmaWx0ZXJzLmltYWdlLXR5cGUuMD1tYWNoaW5lOmZpbHRlcnMubmFtZS4wPWFtem4tYW1pLXZwYy1uYXQtKjpmaWx0ZXJzLnN0YXRlLjA9YXZhaWxhYmxlOm93bmVycy4wPWFtYXpvbjpyZWdpb249dGVzdC1yZWdpb24nOiAnYW1pLTEyMzQnLFxuICAgICd2cGMtcHJvdmlkZXI6YWNjb3VudD0xMjM0NTY3ODpmaWx0ZXIuaXNEZWZhdWx0PXRydWU6cmVnaW9uPXRlc3QtcmVnaW9uOnJldHVybkFzeW1tZXRyaWNTdWJuZXRzPXRydWUnOiB7XG4gICAgICB2cGNJZDogJ3ZwYy02MDkwMDkwNScsXG4gICAgICBzdWJuZXRHcm91cHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdQdWJsaWMnLFxuICAgICAgICAgIG5hbWU6ICdQdWJsaWMnLFxuICAgICAgICAgIHN1Ym5ldHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3VibmV0SWQ6ICdzdWJuZXQtZTE5NDU1Y2EnLFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiAndXMtZWFzdC0xYScsXG4gICAgICAgICAgICAgIHJvdXRlVGFibGVJZDogJ3J0Yi1lMTk0NTVjYScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdWJuZXRJZDogJ3N1Ym5ldC1lMGMyNDc5NycsXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6ICd1cy1lYXN0LTFiJyxcbiAgICAgICAgICAgICAgcm91dGVUYWJsZUlkOiAncnRiLWUwYzI0Nzk3JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN1Ym5ldElkOiAnc3VibmV0LWNjZDc3Mzk1JyxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogJ3VzLWVhc3QtMWMnLFxuICAgICAgICAgICAgICByb3V0ZVRhYmxlSWQ6ICdydGItY2NkNzczOTUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBlbnY6IHtcbiAgICBDREtfSU5URUdfQUNDT1VOVDogJzEyMzQ1Njc4JyxcbiAgICBDREtfSU5URUdfUkVHSU9OOiAndGVzdC1yZWdpb24nLFxuICAgIENES19JTlRFR19IT1NURURfWk9ORV9JRDogJ1oyM0FCQzRYWVpMMDVCJyxcbiAgICBDREtfSU5URUdfSE9TVEVEX1pPTkVfTkFNRTogJ2V4YW1wbGUuY29tJyxcbiAgICBDREtfSU5URUdfRE9NQUlOX05BTUU6ICcqLmV4YW1wbGUuY29tJyxcbiAgICBDREtfSU5URUdfQ0VSVF9BUk46ICdhcm46YXdzOmFjbTp0ZXN0LXJlZ2lvbjoxMjM0NTY3ODpjZXJ0aWZpY2F0ZS84NjQ2ODIwOS1hMjcyLTU5NWQtYjgzMS0wZWZiNjQyMTI2NXonLFxuICAgIENES19JTlRFR19TVUJORVRfSUQ6ICdzdWJuZXQtMGRmZjFhMzk5ZDhmNmY5MmMnLFxuICB9LFxufTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGN1cnJlbnRseSByZWNvbW1lbmRlZCBmbGFncyBmb3IgYGF3cy1jZGstbGliYC5cbiAqXG4gKiBUaGVzZSBoYXZlIGJlZW4gYnVpbHQgaW50byB0aGUgQ0xJIGF0IGJ1aWxkIHRpbWUuIElmIHRoaXMgZXZlciBnZXRzIGNoYW5nZWRcbiAqIGJhY2sgdG8gYSBkeW5hbWljIGxvYWQsIHJlbWVtYmVyIHRoYXQgdGhpcyBzb3VyY2UgZmlsZSBtYXkgYmUgYnVuZGxlZCBpbnRvXG4gKiBhIEphdmFTY3JpcHQgYnVuZGxlLCBhbmQgYF9fZGlybmFtZWAgbWlnaHQgbm90IHBvaW50IHdoZXJlIHlvdSB0aGluayBpdCBkb2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudGx5UmVjb21tZW5kZWRBd3NDZGtMaWJGbGFncygpIHtcbiAgcmV0dXJuIHJlY29tbWVuZGVkRmxhZ3NGaWxlO1xufVxuIl19
@@ -4786,7 +4786,7 @@ var require_semver2 = __commonJS({
4786
4786
  // ../cloud-assembly-schema/cli-version.json
4787
4787
  var require_cli_version = __commonJS({
4788
4788
  "../cloud-assembly-schema/cli-version.json"(exports2, module2) {
4789
- module2.exports = { version: "2.1020.1" };
4789
+ module2.exports = { version: "2.1020.2" };
4790
4790
  }
4791
4791
  });
4792
4792
 
@@ -295278,21 +295278,31 @@ var init_cc_api_provider = __esm({
295278
295278
  */
295279
295279
  async listResources(cc, typeName, propertyMatch, expectedMatchCount) {
295280
295280
  try {
295281
- const result2 = await cc.listResources({
295282
- TypeName: typeName
295283
- });
295284
- const found = (result2.ResourceDescriptions ?? []).map(foundResourceFromCcApi).filter((r3) => {
295285
- return Object.entries(propertyMatch).every(([propPath, expected]) => {
295286
- const actual = findJsonValue(r3.properties, propPath);
295287
- return propertyMatchesFilter(actual, expected);
295281
+ const found = [];
295282
+ let nextToken = void 0;
295283
+ do {
295284
+ const result2 = await cc.listResources({
295285
+ TypeName: typeName,
295286
+ MaxResults: 100,
295287
+ ...nextToken ? { NextToken: nextToken } : {}
295288
295288
  });
295289
- });
295289
+ found.push(
295290
+ ...(result2.ResourceDescriptions ?? []).map(foundResourceFromCcApi).filter((r3) => {
295291
+ return Object.entries(propertyMatch).every(([propPath, expected]) => {
295292
+ const actual = findJsonValue(r3.properties, propPath);
295293
+ return propertyMatchesFilter(actual, expected);
295294
+ });
295295
+ })
295296
+ );
295297
+ nextToken = result2.NextToken;
295298
+ if ((expectedMatchCount === "at-most-one" || expectedMatchCount === "exactly-one") && found.length > 1) {
295299
+ const atLeast = nextToken ? "at least " : "";
295300
+ throw new ContextProviderError(`Found ${atLeast}${found.length} resources matching ${JSON.stringify(propertyMatch)}; expected ${expectedMatchCountText(expectedMatchCount)}. Please narrow the search criteria`);
295301
+ }
295302
+ } while (nextToken);
295290
295303
  if ((expectedMatchCount === "at-least-one" || expectedMatchCount === "exactly-one") && found.length === 0) {
295291
295304
  throw new NoResultsFoundError(`Could not find any resources matching ${JSON.stringify(propertyMatch)}; expected ${expectedMatchCountText(expectedMatchCount)}.`);
295292
295305
  }
295293
- if ((expectedMatchCount === "at-most-one" || expectedMatchCount === "exactly-one") && found.length > 1) {
295294
- throw new ContextProviderError(`Found ${found.length} resources matching ${JSON.stringify(propertyMatch)}; expected ${expectedMatchCountText(expectedMatchCount)}. Please narrow the search criteria`);
295295
- }
295296
295306
  return found;
295297
295307
  } catch (err) {
295298
295308
  if (!ContextProviderError.isContextProviderError(err)) {
@@ -322687,9 +322697,10 @@ var init_runner_base = __esm({
322687
322697
  if (fs31.existsSync(this.snapshotDir)) {
322688
322698
  fs31.removeSync(this.snapshotDir);
322689
322699
  }
322700
+ const actualTestSuite = await this.actualTestSuite();
322690
322701
  await this.cdk.synthFast({
322691
322702
  execCmd: this.cdkApp.split(" "),
322692
- context: this.getContext(DEFAULT_SYNTH_OPTIONS.context),
322703
+ context: this.getContext(actualTestSuite.enableLookups ? DEFAULT_SYNTH_OPTIONS.context : {}),
322693
322704
  env: DEFAULT_SYNTH_OPTIONS.env,
322694
322705
  output: path29.relative(this.directory, this.snapshotDir)
322695
322706
  });
package/package.json CHANGED
@@ -66,12 +66,12 @@
66
66
  "@aws-cdk/aws-service-spec": "^0.1.84",
67
67
  "@aws-cdk/cdk-assets-lib": "1.0.0",
68
68
  "@aws-cdk/cdk-cli-wrapper": "0.0.0",
69
- "@aws-cdk/cloud-assembly-schema": ">=45.0.0",
69
+ "@aws-cdk/cloud-assembly-schema": ">=45.1.0",
70
70
  "@aws-cdk/cloudformation-diff": "2.182.0",
71
71
  "@aws-cdk/cx-api": "^2.202.0",
72
- "@aws-cdk/toolkit-lib": "1.2.3",
72
+ "@aws-cdk/toolkit-lib": "1.2.4",
73
73
  "@aws-sdk/client-cloudformation": "^3",
74
- "aws-cdk": "2.1020.1",
74
+ "aws-cdk": "2.1020.2",
75
75
  "chalk": "^4",
76
76
  "chokidar": "^3",
77
77
  "fs-extra": "^9",
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "dependencies": {
82
82
  "@aws-cdk/aws-service-spec": "0.1.84",
83
- "aws-cdk": "2.1020.1"
83
+ "aws-cdk": "2.1020.2"
84
84
  },
85
85
  "keywords": [
86
86
  "aws",
@@ -95,7 +95,7 @@
95
95
  "publishConfig": {
96
96
  "access": "public"
97
97
  },
98
- "version": "2.188.2",
98
+ "version": "2.188.3",
99
99
  "types": "lib/index.d.ts",
100
100
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
101
101
  "optionalDependencies": {