cdk8s-cli 2.200.62 → 2.200.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/plugins/validation.js +1 -1
- package/lib/util.js +1 -1
- package/package.json +4 -4
|
@@ -236,4 +236,4 @@ function red(s) {
|
|
|
236
236
|
function bright(s) {
|
|
237
237
|
return `\x1b[1m${s}`;
|
|
238
238
|
}
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLGlDQUE4QjtBQUM5QiwyQ0FBNkI7QUFLN0I7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQWdCNUI7SUFFRTs7T0FFRztJQUNhLFNBQTRCO0lBRTVDOztPQUVHO0lBQ2EsR0FBVztJQUUzQjs7T0FFRztJQUNhLE9BQWU7SUFFL0I7O09BRUc7SUFDYSxXQUFnRSxFQUFFO0lBRWxGOztPQUVHO0lBQ2EsTUFBZ0I7UUFwQmhCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBSzVCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFLWCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBS2YsYUFBUSxHQUFSLFFBQVEsQ0FBMEQ7UUFLbEUsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFlBQW9CO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxD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UUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRixNQUFNLFNBQVMsR0FBaUQsRUFBRSxDQUFDO1FBQ25FLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MscUJBQXFCLEtBQUssUUFBUSxDQUFDLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztTQUMvSTtRQUNELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUcsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwRDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBRW5CLENBQUM7Q0FFRjtBQTFDRCw0Q0EwQ0M7QUFjRCxTQUFTLEtBQUssQ0FBQyxDQUFTO0lBQ3RCLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUMsQ0FBUztJQUNwQixPQUFPLFdBQVcsQ0FBQyxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLENBQVM7SUFDdkIsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyB0YWJsZSB9IGZyb20gJ3RhYmxlJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCc7XG5pbXBvcnQgeyBQbHVnaW5NYW5hZ2VyIH0gZnJvbSAnLi9fbWFuYWdlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7IFN5bnRoZXNpemVkQXBwIH0gZnJvbSAnLi4vdXRpbCc7XG5cbi8qKlxuICogQ29udGV4dCBhdmFpbGFibGUgdG8gcGx1Z2lucyBkdXJpbmcgdmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Db250ZXh0IHtcblxuICAvKipcbiAgICogUmVwb3J0IGVtaXR0ZWQgYnkgdGhlIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIFBsdWdpbnMgc2hvdWxkIGludGVyYWN0IHdpdGggdGhpcyBvYmplY3QgdG8gZ2VuZXJhdGUgdGhlIHJlcG9ydC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXBvcnQ6IFZhbGlkYXRpb25SZXBvcnQ7XG5cbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgdGhlIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIFBsdWdpbnMgc2hvdWxkIGludGVyYWN0IHdpdGggdGhpcyBvYmplY3QgdG8gbG9nIG1lc3NhZ2VzIGR1cmluZyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvZ2dlcjogVmFsaWRhdGlvbkxvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIG1hbmlmZXN0cyB0byB2YWxpZGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFuaWZlc3RzOiByZWFkb25seSBzdHJpbmdbXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBOb2RlSlMgcGFja2FnZSBuYW1lIG9mIHRoZSBwbHVnaW4gcnVubmluZyB0aGUgdmFsaWRhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcGtnOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgTm9kZUpTIHBhY2thZ2UgdGhhdCBydW5zIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgbWV0YWRhdGEgb2YgcmVzb3VyY2VzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IHtyZWFkb25seSBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhfSA9IHt9LFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHN5bnRoIGNvbW1hbmQgd2FzIGV4ZWN1dGVkIHdpdGggLS1zdGRvdXQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN0ZG91dD86IGJvb2xlYW4pIHtcblxuICAgIHRoaXMucmVwb3J0ID0gbmV3IFZhbGlkYXRpb25SZXBvcnQodGhpcy5wa2csIHRoaXMudmVyc2lvbiwgdGhpcy5tZXRhZGF0YSA/PyB7fSwgc3Rkb3V0ID8/IGZhbHNlKTtcbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBWYWxpZGF0aW9uTG9nZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgcGFyc2VNYW5pZmVzdChtYW5pZmVzdFBhdGg6IHN0cmluZyk6IGFueVtdIHtcbiAgICBjb25zdCBwYXJzZWQgPSB5YW1sLnBhcnNlQWxsRG9jdW1lbnRzKGZzLnJlYWRGaWxlU3luYyhtYW5pZmVzdFBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpO1xuICAgIGNvbnN0IHJlc291cmNlcyA9IEFycmF5LmlzQXJyYXkocGFyc2VkKSA/IHBhcnNlZCA6IFtwYXJzZWRdO1xuICAgIHJldHVybiByZXNvdXJjZXMubWFwKHIgPT4gci50b0pTKCkpO1xuICB9XG59XG5cbi8qKlxuICogTG9nZ2VyIGF2YWlsYWJsZSB0byBwbHVnaW5zIGR1cmluZyB2YWxpZGF0aW9uLiBVc2UgdGhpcyBpbnN0ZWFkIG9mIGBjb25zb2xlLmxvZ2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uTG9nZ2VyIHtcblxuICAvKipcbiAgICogTG9nIGEgbWVzc2FnZS5cbiAgICovXG4gIHB1YmxpYyBsb2cobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb250cmFjdCBiZXR3ZWVuIGNkazhzIGFuZCB0aGlyZC1wYXJ0aWVzIGxvb2tpbmcgdG8gaW1wbGVtZW50IHZhbGlkYXRpb24gcGx1Z2lucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uIHtcblxuICAvKipcbiAgICogUnVuIHRoZSB2YWxpZGF0aW9uIGxvZ2ljLlxuICAgKlxuICAgKiAtIFVzZSBgY29udGV4dC5tYW5pZmVzdHNgIHRvIHJldHJpZXZlIHRoZSBsaXN0IG9mIG1hbmlmZXN0cyB0byB2YWxpZGF0ZS5cbiAgICogLSBVc2UgYGNvbnRleHQucmVwb3J0YCB0byBhY2Nlc3MgYW5kIGJ1aWxkIHRoZSByZXN1bHRpbmcgcmVwb3J0LlxuICAgKlxuICAgKiBNYWtlIHN1cmUgdG8gY2FsbCBgY29udGV4dC5yZXBvcnQucGFzcygpYCBvciBgY29udGV4dC5yZXBvcnQuZmFpbCgpYCBiZWZvcmUgcmV0dXJuaW5nLCBvdGhlcndpc2UgdGhlIHZhbGlkYXRpb24gaXMgY29uc2lkZXJlZCBpbmNvbXBsZXRlLlxuICAgKi9cbiAgdmFsaWRhdGUoY29udGV4dDogVmFsaWRhdGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xuXG59XG5cbi8qKlxuICogUmVzb3VyY2UgdmlvbGF0aW5nIGEgc3BlY2lmaWMgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uVmlvbGF0aW5nUmVzb3VyY2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYXRpb25zIGluIGl0cyBjb25maWcgdGhhdCBwb3NlIHRoZSB2aW9sYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb25zOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG1hbmlmZXN0IHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IG1hbmlmZXN0UGF0aDogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQ29uc3RydWN0IHZpb2xhdGluZyBhIHNwZWNpZmljIHJ1bGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblZpb2xhdGluZ0NvbnN0cnVjdCBleHRlbmRzIFZhbGlkYXRpb25WaW9sYXRpbmdSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3QgcGF0aCBhcyBkZWZpbmVkIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdFBhdGg/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBWaW9sYXRpb24gcHJvZHVjZWQgYnkgdGhlIHZhbGlkYXRpb24gcGx1Z2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpb24ge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiB0byByZXNvbHZlIHRoZSB2aW9sYXRpb24uXG4gICAqL1xuICByZWFkb25seSByZWNvbW1lbmRhdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgdG8gZml4IHRoZSByZWNvbW1lbmRhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZpeDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2VzIHZpb2xhdGluZyB0aGlzIHJ1bGUuXG4gICAqL1xuICByZWFkb25seSB2aW9sYXRpbmdSZXNvdXJjZXM6IHJlYWRvbmx5IFZhbGlkYXRpb25WaW9sYXRpbmdSZXNvdXJjZVtdO1xuXG59XG5cbi8qKlxuICogVmFsaWRhdGlvbiBwcm9kdWNlZCBieSB0aGUgdmFsaWRhdGlvbiBwbHVnaW4sIGluIGNvbnN0cnVjdCB0ZXJtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uVmlvbGF0aW9uQ29uc3RydWN0QXdhcmUgZXh0ZW5kcyBPbWl0PFZhbGlkYXRpb25WaW9sYXRpb24sICd2aW9sYXRpbmdSZXNvdXJjZXMnPiB7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3RzIHZpb2xhdGluZyB0aGlzIHJ1bGUuXG4gICAqL1xuICByZWFkb25seSB2aW9sYXRpbmdDb25zdHJ1Y3RzOiByZWFkb25seSBWYWxpZGF0aW9uVmlvbGF0aW5nQ29uc3RydWN0W107XG59XG5cbi8vIHdlIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGFuIGVudW0gc28gdGhhdFxuLy8gcGx1Z2lucyBkb24ndCBoYXZlIHRvIGltcG9ydCB0aGUgY2xpIGF0IHJ1bnRpbWUuXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uUmVwb3J0U3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ2ZhaWx1cmUnO1xuXG4vKipcbiAqIFN1bW1hcnkgb2YgdGhlIHJlcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uUmVwb3J0U3VtbWFyeSB7XG5cbiAgcmVhZG9ubHkgc3RhdHVzOiBWYWxpZGF0aW9uUmVwb3J0U3RhdHVzO1xuXG4gIHJlYWRvbmx5IHBsdWdpbjogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICByZWFkb25seSBtZXRhZGF0YT86IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbn1cblxuLyoqXG4gKiBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZXBvcnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlcG9ydEpzb24ge1xuXG4gIC8qKlxuICAgKiBSZXBvcnQgdGl0bGUuXG4gICAqL1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHZpb2xhdGlvbnMgaW4gdGhlIHJlcnBvdC5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGlvbnM6IHJlYWRvbmx5IFZhbGlkYXRpb25WaW9sYXRpb25Db25zdHJ1Y3RBd2FyZVtdO1xuXG4gIC8qKlxuICAgKiBSZXBvcnQgc3VtbWFyeS5cbiAgICovXG4gIHJlYWRvbmx5IHN1bW1hcnk6IFZhbGlkYXRpb25SZXBvcnRTdW1tYXJ5O1xuXG59XG5cbi8qKlxuICogVGhlIHJlcG9ydCBlbWl0dGVkIGJ5IHRoZSBwbHVnaW4gYWZ0ZXIgZXZhbHVhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25SZXBvcnQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmlvbGF0aW9uczogVmFsaWRhdGlvblZpb2xhdGlvbkNvbnN0cnVjdEF3YXJlW10gPSBbXTtcblxuICBwcml2YXRlIF9zdW1tYXJ5PzogVmFsaWRhdGlvblJlcG9ydFN1bW1hcnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwa2c6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhOiB7cmVhZG9ubHkgW2tleTogc3RyaW5nXTogUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YX0sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGRvdXQ6IGJvb2xlYW4pIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB2aW9sYXRpb24gdG8gdGhlIHJlcG9ydC5cbiAgICovXG4gIHB1YmxpYyBhZGRWaW9sYXRpb24odmlvbGF0aW9uOiBWYWxpZGF0aW9uVmlvbGF0aW9uKSB7XG4gICAgaWYgKHRoaXMuX3N1bW1hcnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVmlvbGF0aW9ucyBjYW5ub3QgYmUgYWRkZWQgdG8gcmVwb3J0IGFmdGVyIGl0cyBzdWJtaXR0ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aW9sYXRpbmdDb25zdHJ1Y3RzOiBWYWxpZGF0aW9uVmlvbGF0aW5nQ29uc3RydWN0W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcmVzb3VyY2Ugb2YgdmlvbGF0aW9uLnZpb2xhdGluZ1Jlc291cmNlcykge1xuICAgICAgY29uc3QgY29uc3RydWN0UGF0aCA9IHRoaXMubWV0YWRhdGFbcmVzb3VyY2UucmVzb3VyY2VOYW1lXT8ucGF0aDtcbiAgICAgIHZpb2xhdGluZ0NvbnN0cnVjdHMucHVzaCh7XG4gICAgICAgIC4uLnJlc291cmNlLFxuXG4gICAgICAgIC8vIGF1Z21lbnQgd2l0aCBjb25zdHJ1Y3QgbWV0YWRhdGFcbiAgICAgICAgY29uc3RydWN0UGF0aDogY29uc3RydWN0UGF0aCxcblxuICAgICAgICAvLyBpZiBzeW50aCBpcyBleGVjdXRlZCB3aXRoIC0tc3Rkb3V0LCB0aGUgbWFuaWZlc3QgcGF0aFxuICAgICAgICAvLyBoZXJlIGlzIHRlbXBvcmFyeSBhbmQgd2lsbCBiZSBkZWxldGVkIG9uY2UgdGhlIGNvbW1hbmQgZmluaXNoZXMuXG4gICAgICAgIG1hbmlmZXN0UGF0aDogdGhpcy5zdGRvdXQgPyAnU1RET1VUJyA6IHJlc291cmNlLm1hbmlmZXN0UGF0aCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudmlvbGF0aW9ucy5wdXNoKHtcbiAgICAgIHJ1bGVOYW1lOiB2aW9sYXRpb24ucnVsZU5hbWUsXG4gICAgICByZWNvbW1lbmRhdGlvbjogdmlvbGF0aW9uLnJlY29tbWVuZGF0aW9uLFxuICAgICAgdmlvbGF0aW5nQ29uc3RydWN0czogdmlvbGF0aW5nQ29uc3RydWN0cyxcbiAgICAgIGZpeDogdmlvbGF0aW9uLmZpeCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJtaXQgdGhlIHJlcG9ydCB3aXRoIGEgc3RhdHVzIGFuZCBhZGRpdGlvbmFsIG1ldGFkYXRhLlxuICAgKi9cbiAgcHVibGljIHN1Ym1pdChzdGF0dXM6IFZhbGlkYXRpb25SZXBvcnRTdGF0dXMsIG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuX3N1bW1hcnkgPSB7IHN0YXR1cywgcGx1Z2luOiB0aGlzLnBrZywgdmVyc2lvbjogdGhpcy52ZXJzaW9uLCBtZXRhZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSByZXBvcnQgd2FzIHN1Y2Nlc3NmdWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzdWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fc3VtbWFyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZGV0ZXJtaW5lIHJlcG9ydCBzdGF0dXM6IFJlcG9ydCBpcyBpbmNvbXBsZXRlLiBDYWxsIFxcJ3JlcG9ydC5zdWJtaXRcXCcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3N1bW1hcnkuc3RhdHVzID09PSAnc3VjY2Vzcyc7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSByZXBvcnQgdG8gYSB3ZWxsIGZvcm1hdHRlZCB0YWJsZSBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcblxuICAgIGNvbnN0IGpzb24gPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IG91dHB1dCA9IFtqc29uLnRpdGxlXTtcblxuICAgIG91dHB1dC5wdXNoKCctJy5yZXBlYXQoanNvbi50aXRsZS5sZW5ndGgpKTtcbiAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgb3V0cHV0LnB1c2goJyhTdW1tYXJ5KScpO1xuICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICBvdXRwdXQucHVzaCh0YWJsZShbXG4gICAgICBbJ1N0YXR1cycsIGpzb24uc3VtbWFyeS5zdGF0dXNdLFxuICAgICAgWydQbHVnaW4nLCBqc29uLnN1bW1hcnkucGx1Z2luXSxcbiAgICAgIFsnVmVyc2lvbicsIGpzb24uc3VtbWFyeS52ZXJzaW9uXSxcbiAgICAgIC4uLk9iamVjdC5lbnRyaWVzKGpzb24uc3VtbWFyeS5tZXRhZGF0YSA/PyB7fSksXG4gICAgXSkpO1xuXG4gICAgaWYgKGpzb24udmlvbGF0aW9ucykge1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2goJyhWaW9sYXRpb25zKScpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHZpb2xhdGlvbiBvZiBqc29uLnZpb2xhdGlvbnMpIHtcbiAgICAgIGNvbnN0IG9jY3VycmVuY2VzID0gdmlvbGF0aW9uLnZpb2xhdGluZ0NvbnN0cnVjdHMuZmxhdE1hcChjID0+IGMubG9jYXRpb25zKS5sZW5ndGg7XG4gICAgICBjb25zdCB0aXRsZSA9IHJlc2V0KHJlZChicmlnaHQoYCR7dmlvbGF0aW9uLnJ1bGVOYW1lfSAoJHtvY2N1cnJlbmNlc30gb2NjdXJyZW5jZXMpYCkpKTtcbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIG91dHB1dC5wdXNoKHRpdGxlKTtcbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIG91dHB1dC5wdXNoKCcgIE9jY3VycmVuY2VzOicpO1xuICAgICAgZm9yIChjb25zdCBjb25zdHJ1Y3Qgb2YgdmlvbGF0aW9uLnZpb2xhdGluZ0NvbnN0cnVjdHMpIHtcbiAgICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgICBvdXRwdXQucHVzaChgICAgIC0gQ29uc3RydWN0IFBhdGg6ICR7Y29uc3RydWN0LmNvbnN0cnVjdFBhdGggPz8gJ04vQSd9YCk7XG4gICAgICAgIG91dHB1dC5wdXNoKGAgICAgLSBNYW5pZmVzdCBQYXRoOiAke2NvbnN0cnVjdC5tYW5pZmVzdFBhdGh9YCk7XG4gICAgICAgIG91dHB1dC5wdXNoKGAgICAgLSBSZXNvdXJjZSBOYW1lOiAke2NvbnN0cnVjdC5yZXNvdXJjZU5hbWV9YCk7XG4gICAgICAgIGlmIChjb25zdHJ1Y3QubG9jYXRpb25zKSB7XG4gICAgICAgICAgb3V0cHV0LnB1c2goJyAgICAtIExvY2F0aW9uczonKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGxvY2F0aW9uIG9mIGNvbnN0cnVjdC5sb2NhdGlvbnMpIHtcbiAgICAgICAgICAgIG91dHB1dC5wdXNoKGAgICAgICA+ICR7bG9jYXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICBvdXRwdXQucHVzaChgICBSZWNvbW1lbmRhdGlvbjogJHt2aW9sYXRpb24ucmVjb21tZW5kYXRpb259YCk7XG4gICAgICBvdXRwdXQucHVzaChgICBIb3cgdG8gZml4OiAke3Zpb2xhdGlvbi5maXh9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dC5qb2luKG9zLkVPTCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIHJlcG9ydCBpbnRvIGEgSlNPTiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IFZhbGlkYXRpb25SZXBvcnRKc29uIHtcbiAgICBpZiAoIXRoaXMuX3N1bW1hcnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVybWluZSByZXBvcnQgcmVzdWx0OiBSZXBvcnQgaXMgaW5jb21wbGV0ZS4gQ2FsbCBcXCdyZXBvcnQuc3VibWl0XFwnJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogYFZhbGlkYXRpb24gUmVwb3J0ICgke3RoaXMucGtnfUAke3RoaXMudmVyc2lvbn0pYCxcbiAgICAgIHZpb2xhdGlvbnM6IHRoaXMudmlvbGF0aW9ucyxcbiAgICAgIHN1bW1hcnk6IHRoaXMuX3N1bW1hcnksXG4gICAgfTtcbiAgfVxuXG59XG5cbi8qKlxuICogVXRpbGl5IGNsYXNzIGZvciBsb2FkaW5nIHZhbGlkYXRpb24gcGx1Z2lucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25QbHVnaW4ge1xuXG4gIC8qKlxuICAgKiBMb2FkIHRoZSB2YWxpZGF0aW9uIHBsdWdpbiBhbmQgY3JlYXRlIHRoZSBuZWNlc3NhcnkgY29udGV4dCBmb3IgaXRzIGV4ZWN1dGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9hZChcbiAgICB2YWxpZGF0aW9uOiBWYWxpZGF0aW9uQ29uZmlnLFxuICAgIGFwcDogU3ludGhlc2l6ZWRBcHAsXG4gICAgc3Rkb3V0OiBib29sZWFuLFxuICAgIHBsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIpOiB7IHBsdWdpbjogVmFsaWRhdGlvbjsgY29udGV4dDogVmFsaWRhdGlvbkNvbnRleHQgfSB7XG5cbiAgICBjb25zdCBwbHVnaW4gPSBwbHVnaW5NYW5hZ2VyLmxvYWQoe1xuICAgICAgcGtnOiB2YWxpZGF0aW9uLnBhY2thZ2UsXG4gICAgICB2ZXJzaW9uOiB2YWxpZGF0aW9uLnZlcnNpb24sXG4gICAgICBjbGFzczogdmFsaWRhdGlvbi5jbGFzcyxcbiAgICAgIHByb3BlcnRpZXM6IHZhbGlkYXRpb24ucHJvcGVydGllcyxcbiAgICAgIGluc3RhbGxFbnY6IHZhbGlkYXRpb24uaW5zdGFsbEVudixcbiAgICB9KTtcblxuICAgIGlmICh0eXBlb2YoKHBsdWdpbi5pbnN0YW5jZSBhcyBhbnkpLnZhbGlkYXRlKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnN0YW5jZSBvZiBjbGFzcyAnJHt2YWxpZGF0aW9uLmNsYXNzfScgZnJvbSBwYWNrYWdlICcke3ZhbGlkYXRpb24ucGFja2FnZX1AJHt2YWxpZGF0aW9uLnZlcnNpb259JyBpcyBub3QgYSB2YWxpZGF0aW9uIHBsdWdpbi4gQXJlIHlvdSBzdXJlIHlvdSBzcGVjaWZpZWQgdGhlIGNvcnJlY3QgY2xhc3M/YCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YWRhdGEgPSBhcHAuY29uc3RydWN0TWV0YWRhdGEgPyB0aGlzLmxvYWRDb25zdHJ1Y3RNZXRhZGF0YShhcHAuY29uc3RydWN0TWV0YWRhdGEpIDoge307XG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBWYWxpZGF0aW9uQ29udGV4dChhcHAubWFuaWZlc3RzLCBwbHVnaW4ucGFja2FnZS5wa2csIHBsdWdpbi5wYWNrYWdlLnZlcnNpb24sIG1ldGFkYXRhLCBzdGRvdXQpO1xuICAgIHJldHVybiB7IHBsdWdpbjogcGx1Z2luLmluc3RhbmNlIGFzIFZhbGlkYXRpb24sIGNvbnRleHQgfTtcblxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbG9hZENvbnN0cnVjdE1ldGFkYXRhKGNvbnN0cnVjdE1ldGFkYXRhUGF0aDogc3RyaW5nKTogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhIH0ge1xuICAgIGNvbnN0IGNvbnRlbnRzID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY29uc3RydWN0TWV0YWRhdGFQYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKTtcbiAgICBjb25zdCByZXNvdXJjZXM6IHsgW2tleTogc3RyaW5nXTogUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB9ID0ge307XG4gICAgaWYgKGNvbnRlbnRzLnZlcnNpb24gIT09ICcxLjAuMCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB2ZXJzaW9uIG9mIGNvbnN0cnVjdCBtZXRhZGF0YSBhdCAke2NvbnN0cnVjdE1ldGFkYXRhUGF0aH06ICR7Y29udGVudHMudmVyc2lvbn0uIFN1cHBvcnRlZCB2ZXJzaW9ucyBhcmU6IFsxLjAuMF1gKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbbmFtZSwgbWV0YWRhdGFdIG9mIE9iamVjdC5lbnRyaWVzKGNvbnRlbnRzLnJlc291cmNlcykpIHtcbiAgICAgIHJlc291cmNlc1tuYW1lXSA9IHsgcGF0aDogKG1ldGFkYXRhIGFzIGFueSkucGF0aCB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzb3VyY2VzO1xuXG4gIH1cblxufVxuXG4vKipcbiAqIENvbnN0cnVjdCByZWxhdGVkIG1ldGFkYXRhIG9uIHJlc291cmNlcy5cbiAqL1xuaW50ZXJmYWNlIFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGEge1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgY29uc3RydWN0IGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxufVxuXG5mdW5jdGlvbiByZXNldChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGAke3N9XFx4MWJbMG1gO1xufVxuXG5mdW5jdGlvbiByZWQoczogc3RyaW5nKSB7XG4gIHJldHVybiBgXFx4MWJbMzFtJHtzfWA7XG59XG5cbmZ1bmN0aW9uIGJyaWdodChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBcXHgxYlsxbSR7c31gO1xufSJdfQ==
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLGlDQUE4QjtBQUM5QiwyQ0FBNkI7QUFLN0I7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQWdCNUI7SUFFRTs7T0FFRztJQUNhLFNBQTRCO0lBRTVDOztPQUVHO0lBQ2EsR0FBVztJQUUzQjs7T0FFRztJQUNhLE9BQWU7SUFFL0I7O09BRUc7SUFDYSxXQUFrRSxFQUFFO0lBRXBGOztPQUVHO0lBQ2EsTUFBZ0I7UUFwQmhCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBSzVCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFLWCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBS2YsYUFBUSxHQUFSLFFBQVEsQ0FBNEQ7UUFLcEUsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFlBQW9CO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxD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UUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRixNQUFNLFNBQVMsR0FBaUQsRUFBRSxDQUFDO1FBQ25FLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MscUJBQXFCLEtBQUssUUFBUSxDQUFDLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztTQUMvSTtRQUNELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUcsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwRDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBRW5CLENBQUM7Q0FFRjtBQTFDRCw0Q0EwQ0M7QUFjRCxTQUFTLEtBQUssQ0FBQyxDQUFTO0lBQ3RCLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUMsQ0FBUztJQUNwQixPQUFPLFdBQVcsQ0FBQyxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLENBQVM7SUFDdkIsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyB0YWJsZSB9IGZyb20gJ3RhYmxlJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCc7XG5pbXBvcnQgeyBQbHVnaW5NYW5hZ2VyIH0gZnJvbSAnLi9fbWFuYWdlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7IFN5bnRoZXNpemVkQXBwIH0gZnJvbSAnLi4vdXRpbCc7XG5cbi8qKlxuICogQ29udGV4dCBhdmFpbGFibGUgdG8gcGx1Z2lucyBkdXJpbmcgdmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Db250ZXh0IHtcblxuICAvKipcbiAgICogUmVwb3J0IGVtaXR0ZWQgYnkgdGhlIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIFBsdWdpbnMgc2hvdWxkIGludGVyYWN0IHdpdGggdGhpcyBvYmplY3QgdG8gZ2VuZXJhdGUgdGhlIHJlcG9ydC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXBvcnQ6IFZhbGlkYXRpb25SZXBvcnQ7XG5cbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgdGhlIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIFBsdWdpbnMgc2hvdWxkIGludGVyYWN0IHdpdGggdGhpcyBvYmplY3QgdG8gbG9nIG1lc3NhZ2VzIGR1cmluZyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvZ2dlcjogVmFsaWRhdGlvbkxvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIG1hbmlmZXN0cyB0byB2YWxpZGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFuaWZlc3RzOiByZWFkb25seSBzdHJpbmdbXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBOb2RlSlMgcGFja2FnZSBuYW1lIG9mIHRoZSBwbHVnaW4gcnVubmluZyB0aGUgdmFsaWRhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcGtnOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgTm9kZUpTIHBhY2thZ2UgdGhhdCBydW5zIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgbWV0YWRhdGEgb2YgcmVzb3VyY2VzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB9ID0ge30sXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc3ludGggY29tbWFuZCB3YXMgZXhlY3V0ZWQgd2l0aCAtLXN0ZG91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3Rkb3V0PzogYm9vbGVhbikge1xuXG4gICAgdGhpcy5yZXBvcnQgPSBuZXcgVmFsaWRhdGlvblJlcG9ydCh0aGlzLnBrZywgdGhpcy52ZXJzaW9uLCB0aGlzLm1ldGFkYXRhID8/IHt9LCBzdGRvdXQgPz8gZmFsc2UpO1xuICAgIHRoaXMubG9nZ2VyID0gbmV3IFZhbGlkYXRpb25Mb2dnZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZU1hbmlmZXN0KG1hbmlmZXN0UGF0aDogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2VBbGxEb2N1bWVudHMoZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShwYXJzZWQpID8gcGFyc2VkIDogW3BhcnNlZF07XG4gICAgcmV0dXJuIHJlc291cmNlcy5tYXAociA9PiByLnRvSlMoKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2dnZXIgYXZhaWxhYmxlIHRvIHBsdWdpbnMgZHVyaW5nIHZhbGlkYXRpb24uIFVzZSB0aGlzIGluc3RlYWQgb2YgYGNvbnNvbGUubG9nYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Mb2dnZXIge1xuXG4gIC8qKlxuICAgKiBMb2cgYSBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyYWN0IGJldHdlZW4gY2RrOHMgYW5kIHRoaXJkLXBhcnRpZXMgbG9va2luZyB0byBpbXBsZW1lbnQgdmFsaWRhdGlvbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuXG4gIC8qKlxuICAgKiBSdW4gdGhlIHZhbGlkYXRpb24gbG9naWMuXG4gICAqXG4gICAqIC0gVXNlIGBjb250ZXh0Lm1hbmlmZXN0c2AgdG8gcmV0cmlldmUgdGhlIGxpc3Qgb2YgbWFuaWZlc3RzIHRvIHZhbGlkYXRlLlxuICAgKiAtIFVzZSBgY29udGV4dC5yZXBvcnRgIHRvIGFjY2VzcyBhbmQgYnVpbGQgdGhlIHJlc3VsdGluZyByZXBvcnQuXG4gICAqXG4gICAqIE1ha2Ugc3VyZSB0byBjYWxsIGBjb250ZXh0LnJlcG9ydC5wYXNzKClgIG9yIGBjb250ZXh0LnJlcG9ydC5mYWlsKClgIGJlZm9yZSByZXR1cm5pbmcsIG90aGVyd2lzZSB0aGUgdmFsaWRhdGlvbiBpcyBjb25zaWRlcmVkIGluY29tcGxldGUuXG4gICAqL1xuICB2YWxpZGF0ZShjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG5cbn1cblxuLyoqXG4gKiBSZXNvdXJjZSB2aW9sYXRpbmcgYSBzcGVjaWZpYyBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpbmdSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbnMgaW4gaXRzIGNvbmZpZyB0aGF0IHBvc2UgdGhlIHZpb2xhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFuaWZlc3QgdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RQYXRoOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdmlvbGF0aW5nIGEgc3BlY2lmaWMgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uVmlvbGF0aW5nQ29uc3RydWN0IGV4dGVuZHMgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlIHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdCBwYXRoIGFzIGRlZmluZWQgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aD86IHN0cmluZztcblxufVxuXG4vKipcbiAqIFZpb2xhdGlvbiBwcm9kdWNlZCBieSB0aGUgdmFsaWRhdGlvbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblZpb2xhdGlvbiB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIHRvIHJlc29sdmUgdGhlIHZpb2xhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBmaXggdGhlIHJlY29tbWVuZGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZXMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ1Jlc291cmNlczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlW107XG5cbn1cblxuLyoqXG4gKiBWYWxpZGF0aW9uIHByb2R1Y2VkIGJ5IHRoZSB2YWxpZGF0aW9uIHBsdWdpbiwgaW4gY29uc3RydWN0IHRlcm1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpb25Db25zdHJ1Y3RBd2FyZSBleHRlbmRzIE9taXQ8VmFsaWRhdGlvblZpb2xhdGlvbiwgJ3Zpb2xhdGluZ1Jlc291cmNlcyc+IHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdHMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ0NvbnN0cnVjdHM6IHJlYWRvbmx5IFZhbGlkYXRpb25WaW9sYXRpbmdDb25zdHJ1Y3RbXTtcbn1cblxuLy8gd2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2UgYW4gZW51bSBzbyB0aGF0XG4vLyBwbHVnaW5zIGRvbid0IGhhdmUgdG8gaW1wb3J0IHRoZSBjbGkgYXQgcnVudGltZS5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXBvcnRTdGF0dXMgPSAnc3VjY2VzcycgfCAnZmFpbHVyZSc7XG5cbi8qKlxuICogU3VtbWFyeSBvZiB0aGUgcmVwb3J0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25SZXBvcnRTdW1tYXJ5IHtcblxuICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25SZXBvcnRTdGF0dXM7XG5cbiAgcmVhZG9ubHkgcGx1Z2luOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxufVxuXG4vKipcbiAqIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uUmVwb3J0SnNvbiB7XG5cbiAgLyoqXG4gICAqIFJlcG9ydCB0aXRsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdmlvbGF0aW9ucyBpbiB0aGUgcmVycG90LlxuICAgKi9cbiAgcmVhZG9ubHkgdmlvbGF0aW9uczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGlvbkNvbnN0cnVjdEF3YXJlW107XG5cbiAgLyoqXG4gICAqIFJlcG9ydCBzdW1tYXJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VtbWFyeTogVmFsaWRhdGlvblJlcG9ydFN1bW1hcnk7XG5cbn1cblxuLyoqXG4gKiBUaGUgcmVwb3J0IGVtaXR0ZWQgYnkgdGhlIHBsdWdpbiBhZnRlciBldmFsdWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblJlcG9ydCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2aW9sYXRpb25zOiBWYWxpZGF0aW9uVmlvbGF0aW9uQ29uc3RydWN0QXdhcmVbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3N1bW1hcnk/OiBWYWxpZGF0aW9uUmVwb3J0U3VtbWFyeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBrZzogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGE6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB9LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Rkb3V0OiBib29sZWFuKSB7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdmlvbGF0aW9uIHRvIHRoZSByZXBvcnQuXG4gICAqL1xuICBwdWJsaWMgYWRkVmlvbGF0aW9uKHZpb2xhdGlvbjogVmFsaWRhdGlvblZpb2xhdGlvbikge1xuICAgIGlmICh0aGlzLl9zdW1tYXJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Zpb2xhdGlvbnMgY2Fubm90IGJlIGFkZGVkIHRvIHJlcG9ydCBhZnRlciBpdHMgc3VibWl0dGVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdmlvbGF0aW5nQ29uc3RydWN0czogVmFsaWRhdGlvblZpb2xhdGluZ0NvbnN0cnVjdFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHJlc291cmNlIG9mIHZpb2xhdGlvbi52aW9sYXRpbmdSZXNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdFBhdGggPSB0aGlzLm1ldGFkYXRhW3Jlc291cmNlLnJlc291cmNlTmFtZV0/LnBhdGg7XG4gICAgICB2aW9sYXRpbmdDb25zdHJ1Y3RzLnB1c2goe1xuICAgICAgICAuLi5yZXNvdXJjZSxcblxuICAgICAgICAvLyBhdWdtZW50IHdpdGggY29uc3RydWN0IG1ldGFkYXRhXG4gICAgICAgIGNvbnN0cnVjdFBhdGg6IGNvbnN0cnVjdFBhdGgsXG5cbiAgICAgICAgLy8gaWYgc3ludGggaXMgZXhlY3V0ZWQgd2l0aCAtLXN0ZG91dCwgdGhlIG1hbmlmZXN0IHBhdGhcbiAgICAgICAgLy8gaGVyZSBpcyB0ZW1wb3JhcnkgYW5kIHdpbGwgYmUgZGVsZXRlZCBvbmNlIHRoZSBjb21tYW5kIGZpbmlzaGVzLlxuICAgICAgICBtYW5pZmVzdFBhdGg6IHRoaXMuc3Rkb3V0ID8gJ1NURE9VVCcgOiByZXNvdXJjZS5tYW5pZmVzdFBhdGgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnZpb2xhdGlvbnMucHVzaCh7XG4gICAgICBydWxlTmFtZTogdmlvbGF0aW9uLnJ1bGVOYW1lLFxuICAgICAgcmVjb21tZW5kYXRpb246IHZpb2xhdGlvbi5yZWNvbW1lbmRhdGlvbixcbiAgICAgIHZpb2xhdGluZ0NvbnN0cnVjdHM6IHZpb2xhdGluZ0NvbnN0cnVjdHMsXG4gICAgICBmaXg6IHZpb2xhdGlvbi5maXgsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3VibWl0IHRoZSByZXBvcnQgd2l0aCBhIHN0YXR1cyBhbmQgYWRkaXRpb25hbCBtZXRhZGF0YS5cbiAgICovXG4gIHB1YmxpYyBzdWJtaXQoc3RhdHVzOiBWYWxpZGF0aW9uUmVwb3J0U3RhdHVzLCBtZXRhZGF0YT86IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLl9zdW1tYXJ5ID0geyBzdGF0dXMsIHBsdWdpbjogdGhpcy5wa2csIHZlcnNpb246IHRoaXMudmVyc2lvbiwgbWV0YWRhdGEgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcmVwb3J0IHdhcyBzdWNjZXNzZnVsbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3VjY2VzcygpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX3N1bW1hcnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVybWluZSByZXBvcnQgc3RhdHVzOiBSZXBvcnQgaXMgaW5jb21wbGV0ZS4gQ2FsbCBcXCdyZXBvcnQuc3VibWl0XFwnJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdW1tYXJ5LnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgcmVwb3J0IHRvIGEgd2VsbCBmb3JtYXR0ZWQgdGFibGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG5cbiAgICBjb25zdCBqc29uID0gdGhpcy50b0pzb24oKTtcbiAgICBjb25zdCBvdXRwdXQgPSBbanNvbi50aXRsZV07XG5cbiAgICBvdXRwdXQucHVzaCgnLScucmVwZWF0KGpzb24udGl0bGUubGVuZ3RoKSk7XG4gICAgb3V0cHV0LnB1c2goJycpO1xuICAgIG91dHB1dC5wdXNoKCcoU3VtbWFyeSknKTtcbiAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgb3V0cHV0LnB1c2godGFibGUoW1xuICAgICAgWydTdGF0dXMnLCBqc29uLnN1bW1hcnkuc3RhdHVzXSxcbiAgICAgIFsnUGx1Z2luJywganNvbi5zdW1tYXJ5LnBsdWdpbl0sXG4gICAgICBbJ1ZlcnNpb24nLCBqc29uLnN1bW1hcnkudmVyc2lvbl0sXG4gICAgICAuLi5PYmplY3QuZW50cmllcyhqc29uLnN1bW1hcnkubWV0YWRhdGEgPz8ge30pLFxuICAgIF0pKTtcblxuICAgIGlmIChqc29uLnZpb2xhdGlvbnMpIHtcbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIG91dHB1dC5wdXNoKCcoVmlvbGF0aW9ucyknKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCB2aW9sYXRpb24gb2YganNvbi52aW9sYXRpb25zKSB7XG4gICAgICBjb25zdCBvY2N1cnJlbmNlcyA9IHZpb2xhdGlvbi52aW9sYXRpbmdDb25zdHJ1Y3RzLmZsYXRNYXAoYyA9PiBjLmxvY2F0aW9ucykubGVuZ3RoO1xuICAgICAgY29uc3QgdGl0bGUgPSByZXNldChyZWQoYnJpZ2h0KGAke3Zpb2xhdGlvbi5ydWxlTmFtZX0gKCR7b2NjdXJyZW5jZXN9IG9jY3VycmVuY2VzKWApKSk7XG4gICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICBvdXRwdXQucHVzaCh0aXRsZSk7XG4gICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICBvdXRwdXQucHVzaCgnICBPY2N1cnJlbmNlczonKTtcbiAgICAgIGZvciAoY29uc3QgY29uc3RydWN0IG9mIHZpb2xhdGlvbi52aW9sYXRpbmdDb25zdHJ1Y3RzKSB7XG4gICAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgICAgb3V0cHV0LnB1c2goYCAgICAtIENvbnN0cnVjdCBQYXRoOiAke2NvbnN0cnVjdC5jb25zdHJ1Y3RQYXRoID8/ICdOL0EnfWApO1xuICAgICAgICBvdXRwdXQucHVzaChgICAgIC0gTWFuaWZlc3QgUGF0aDogJHtjb25zdHJ1Y3QubWFuaWZlc3RQYXRofWApO1xuICAgICAgICBvdXRwdXQucHVzaChgICAgIC0gUmVzb3VyY2UgTmFtZTogJHtjb25zdHJ1Y3QucmVzb3VyY2VOYW1lfWApO1xuICAgICAgICBpZiAoY29uc3RydWN0LmxvY2F0aW9ucykge1xuICAgICAgICAgIG91dHB1dC5wdXNoKCcgICAgLSBMb2NhdGlvbnM6Jyk7XG4gICAgICAgICAgZm9yIChjb25zdCBsb2NhdGlvbiBvZiBjb25zdHJ1Y3QubG9jYXRpb25zKSB7XG4gICAgICAgICAgICBvdXRwdXQucHVzaChgICAgICAgPiAke2xvY2F0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2goYCAgUmVjb21tZW5kYXRpb246ICR7dmlvbGF0aW9uLnJlY29tbWVuZGF0aW9ufWApO1xuICAgICAgb3V0cHV0LnB1c2goYCAgSG93IHRvIGZpeDogJHt2aW9sYXRpb24uZml4fWApO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQuam9pbihvcy5FT0wpO1xuXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSByZXBvcnQgaW50byBhIEpTT04gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHRvSnNvbigpOiBWYWxpZGF0aW9uUmVwb3J0SnNvbiB7XG4gICAgaWYgKCF0aGlzLl9zdW1tYXJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlcm1pbmUgcmVwb3J0IHJlc3VsdDogUmVwb3J0IGlzIGluY29tcGxldGUuIENhbGwgXFwncmVwb3J0LnN1Ym1pdFxcJycpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IGBWYWxpZGF0aW9uIFJlcG9ydCAoJHt0aGlzLnBrZ31AJHt0aGlzLnZlcnNpb259KWAsXG4gICAgICB2aW9sYXRpb25zOiB0aGlzLnZpb2xhdGlvbnMsXG4gICAgICBzdW1tYXJ5OiB0aGlzLl9zdW1tYXJ5LFxuICAgIH07XG4gIH1cblxufVxuXG4vKipcbiAqIFV0aWxpeSBjbGFzcyBmb3IgbG9hZGluZyB2YWxpZGF0aW9uIHBsdWdpbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uUGx1Z2luIHtcblxuICAvKipcbiAgICogTG9hZCB0aGUgdmFsaWRhdGlvbiBwbHVnaW4gYW5kIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5IGNvbnRleHQgZm9yIGl0cyBleGVjdXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxvYWQoXG4gICAgdmFsaWRhdGlvbjogVmFsaWRhdGlvbkNvbmZpZyxcbiAgICBhcHA6IFN5bnRoZXNpemVkQXBwLFxuICAgIHN0ZG91dDogYm9vbGVhbixcbiAgICBwbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyKTogeyBwbHVnaW46IFZhbGlkYXRpb247IGNvbnRleHQ6IFZhbGlkYXRpb25Db250ZXh0IH0ge1xuXG4gICAgY29uc3QgcGx1Z2luID0gcGx1Z2luTWFuYWdlci5sb2FkKHtcbiAgICAgIHBrZzogdmFsaWRhdGlvbi5wYWNrYWdlLFxuICAgICAgdmVyc2lvbjogdmFsaWRhdGlvbi52ZXJzaW9uLFxuICAgICAgY2xhc3M6IHZhbGlkYXRpb24uY2xhc3MsXG4gICAgICBwcm9wZXJ0aWVzOiB2YWxpZGF0aW9uLnByb3BlcnRpZXMsXG4gICAgICBpbnN0YWxsRW52OiB2YWxpZGF0aW9uLmluc3RhbGxFbnYsXG4gICAgfSk7XG5cbiAgICBpZiAodHlwZW9mKChwbHVnaW4uaW5zdGFuY2UgYXMgYW55KS52YWxpZGF0ZSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5zdGFuY2Ugb2YgY2xhc3MgJyR7dmFsaWRhdGlvbi5jbGFzc30nIGZyb20gcGFja2FnZSAnJHt2YWxpZGF0aW9uLnBhY2thZ2V9QCR7dmFsaWRhdGlvbi52ZXJzaW9ufScgaXMgbm90IGEgdmFsaWRhdGlvbiBwbHVnaW4uIEFyZSB5b3Ugc3VyZSB5b3Ugc3BlY2lmaWVkIHRoZSBjb3JyZWN0IGNsYXNzP2ApO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhID0gYXBwLmNvbnN0cnVjdE1ldGFkYXRhID8gdGhpcy5sb2FkQ29uc3RydWN0TWV0YWRhdGEoYXBwLmNvbnN0cnVjdE1ldGFkYXRhKSA6IHt9O1xuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgVmFsaWRhdGlvbkNvbnRleHQoYXBwLm1hbmlmZXN0cywgcGx1Z2luLnBhY2thZ2UucGtnLCBwbHVnaW4ucGFja2FnZS52ZXJzaW9uLCBtZXRhZGF0YSwgc3Rkb3V0KTtcbiAgICByZXR1cm4geyBwbHVnaW46IHBsdWdpbi5pbnN0YW5jZSBhcyBWYWxpZGF0aW9uLCBjb250ZXh0IH07XG5cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGxvYWRDb25zdHJ1Y3RNZXRhZGF0YShjb25zdHJ1Y3RNZXRhZGF0YVBhdGg6IHN0cmluZyk6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB9IHtcbiAgICBjb25zdCBjb250ZW50cyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGNvbnN0cnVjdE1ldGFkYXRhUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG4gICAgY29uc3QgcmVzb3VyY2VzOiB7IFtrZXk6IHN0cmluZ106IFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGEgfSA9IHt9O1xuICAgIGlmIChjb250ZW50cy52ZXJzaW9uICE9PSAnMS4wLjAnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdmVyc2lvbiBvZiBjb25zdHJ1Y3QgbWV0YWRhdGEgYXQgJHtjb25zdHJ1Y3RNZXRhZGF0YVBhdGh9OiAke2NvbnRlbnRzLnZlcnNpb259LiBTdXBwb3J0ZWQgdmVyc2lvbnMgYXJlOiBbMS4wLjBdYCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgW25hbWUsIG1ldGFkYXRhXSBvZiBPYmplY3QuZW50cmllcyhjb250ZW50cy5yZXNvdXJjZXMpKSB7XG4gICAgICByZXNvdXJjZXNbbmFtZV0gPSB7IHBhdGg6IChtZXRhZGF0YSBhcyBhbnkpLnBhdGggfTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlcztcblxuICB9XG5cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgcmVsYXRlZCBtZXRhZGF0YSBvbiByZXNvdXJjZXMuXG4gKi9cbmludGVyZmFjZSBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhIHtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIGNvbnN0cnVjdCBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbn1cblxuZnVuY3Rpb24gcmVzZXQoczogc3RyaW5nKSB7XG4gIHJldHVybiBgJHtzfVxceDFiWzBtYDtcbn1cblxuZnVuY3Rpb24gcmVkKHM6IHN0cmluZykge1xuICByZXR1cm4gYFxceDFiWzMxbSR7c31gO1xufVxuXG5mdW5jdGlvbiBicmlnaHQoczogc3RyaW5nKSB7XG4gIHJldHVybiBgXFx4MWJbMW0ke3N9YDtcbn0iXX0=
|
package/lib/util.js
CHANGED
|
@@ -298,4 +298,4 @@ function crdsArePresent(imprts) {
|
|
|
298
298
|
return (imprts ?? []).some(imprt => (!isK8sImport(imprt) && !isHelmImport(imprt)));
|
|
299
299
|
}
|
|
300
300
|
exports.crdsArePresent = crdsArePresent;
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQW9EO0FBQ3BELG1DQUEwRDtBQUMxRCwyQkFBMEM7QUFDMUMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDZCQUE0QjtBQUM1Qiw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBRTdCLGdEQUFvRDtBQUVwRCxxREFBeUc7QUFHNUYsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRTFCLEtBQUssVUFBVSxLQUFLLENBQUMsT0FBZSxFQUFFLE9BQWlCLEVBQUUsRUFBRSxVQUF3QixFQUFHO0lBQzNGLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDcEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFLLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDakMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcs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LFNBQWdCLGNBQWMsQ0FBQyxNQUE0QjtJQUN6RCxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFGRCx3Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNwYXduLCBTcGF3bk9wdGlvbnMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IEJpbmFyeVRvVGV4dEVuY29kaW5nLCBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGV4aXN0c1N5bmMsIHByb21pc2VzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJ3VybCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgSW1wb3J0U3BlYywgVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IG1hdGNoQ3Jkc0RldlVybCB9IGZyb20gJy4vaW1wb3J0L2NyZHMtZGV2JztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL3BsdWdpbnMvX21hbmFnZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvblBsdWdpbiwgVmFsaWRhdGlvbkNvbnRleHQsIFZhbGlkYXRpb25SZXBvcnQsIFZhbGlkYXRpb24gfSBmcm9tICcuL3BsdWdpbnMvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTYWZlUmV2aXZlciB9IGZyb20gJy4vcmV2aXZlcic7XG5cbmV4cG9ydCBjb25zdCBQUkVGSVhfREVMSU0gPSAnOj0nO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hlbGwocHJvZ3JhbTogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSA9IFtdLCBvcHRpb25zOiBTcGF3bk9wdGlvbnMgPSB7IH0pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjb21tYW5kID0gYFwiJHtwcm9ncmFtfSAke2FyZ3Muam9pbignICcpfVwiIGF0ICR7cGF0aC5yZXNvbHZlKG9wdGlvbnMuY3dkPy50b1N0cmluZygpID8/ICcuJyl9YDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaywga28pID0+IHtcbiAgICBjb25zdCBjaGlsZCA9IHNwYXduKHByb2dyYW0sIGFyZ3MsIHsgc3RkaW86IFsnaW5oZXJpdCcsICdwaXBlJywgJ2luaGVyaXQnXSwgLi4ub3B0aW9ucyB9KTtcbiAgICBjb25zdCBkYXRhID0gbmV3IEFycmF5PEJ1ZmZlcj4oKTtcbiAgICBjaGlsZC5zdGRvdXQ/Lm9uKCdkYXRhJywgY2h1bmsgPT4gZGF0YS5wdXNoKGNodW5rKSk7XG5cbiAgICBjaGlsZC5vbmNlKCdlcnJvcicsIGVyciA9PiBrbyhuZXcgRXJyb3IoYGNvbW1hbmQgJHtjb21tYW5kfSBmYWlsZWQ6ICR7ZXJyfWApKSk7XG4gICAgY2hpbGQub25jZSgnZXhpdCcsIGNvZGUgPT4ge1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG9rKEJ1ZmZlci5jb25jYXQoZGF0YSkudG9TdHJpbmcoJ3V0Zi04JykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgY29tbWFuZCAke2NvbW1hbmR9IHJldHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlICR7Y29kZX1gKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWtkdGVtcChjbG9zdXJlOiAoZGlyOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgY29uc3Qgd29ya2RpciA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrOHMtJykpO1xuICB0cnkge1xuICAgIGF3YWl0IGNsb3N1cmUod29ya2Rpcik7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZnMucmVtb3ZlKHdvcmtkaXIpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzeW50aEFwcChjb21tYW5kOiBzdHJpbmcsIG91dGRpcjogc3RyaW5nLCBzdGRvdXQ6IGJvb2xlYW4sIG1ldGFkYXRhOiBib29sZWFuKTogUHJvbWlzZTxTeW50aGVzaXplZEFwcD4ge1xuICBpZiAoIXN0ZG91dCkge1xuICAgIGNvbnNvbGUubG9nKCdTeW50aGVzaXppbmcgYXBwbGljYXRpb24nKTtcbiAgfVxuICBhd2FpdCBzaGVsbChjb21tYW5kLCBbXSwge1xuICAgIHNoZWxsOiB0cnVlLFxuICAgIGVudjoge1xuICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICBDREs4U19PVVRESVI6IG91dGRpcixcbiAgICAgIC8vIHJlY29yZCBtZXRhZGF0YSBzbyB0aGF0IHRoZSB2YWxpZGF0aW9uIHJlcG9ydFxuICAgICAgLy8gaGFzIGNvbnRydWN0IGF3YXJlIGNvbnRleHQuXG4gICAgICBDREs4U19SRUNPUkRfQ09OU1RSVUNUX01FVEFEQVRBOiBwcm9jZXNzLmVudi5DREs4U19SRUNPUkRfQ09OU1RSVUNUX01FVEFEQVRBID8/IChtZXRhZGF0YSA/ICd0cnVlJyA6ICdmYWxzZScpLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmICghYXdhaXQgZnMucGF0aEV4aXN0cyhvdXRkaXIpKSB7XG4gICAgY29uc29sZS5lcnJvcihgRVJST1I6IHN5bnRoZXNpcyBmYWlsZWQsIGFwcCBleHBlY3RlZCB0byBjcmVhdGUgXCIke291dGRpcn1cImApO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuICBjb25zdCB5YW1sRmlsZXMgPSBhd2FpdCBmaW5kTWFuaWZlc3RzKG91dGRpcik7XG4gIGlmICh5YW1sRmlsZXM/Lmxlbmd0aCkge1xuICAgIGlmICghc3Rkb3V0KSB7XG4gICAgICBmb3IgKGNvbnN0IHlhbWxGaWxlIG9mIHlhbWxGaWxlcykge1xuICAgICAgICBjb25zb2xlLmxvZyhgICAtICR7eWFtbEZpbGV9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghZm91bmQpIHtcbiAgICBjb25zb2xlLmVycm9yKCdObyBtYW5pZmVzdHMgc3ludGhlc2l6ZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnN0cnVjdE1ldGFkYXRhID0gZmluZENvbnN0cnVjdE1ldGFkYXRhKG91dGRpcik7XG5cbiAgcmV0dXJuIHsgbWFuaWZlc3RzOiB5YW1sRmlsZXMsIGNvbnN0cnVjdE1ldGFkYXRhIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUFwcChcbiAgYXBwOiBTeW50aGVzaXplZEFwcCxcbiAgc3Rkb3V0OiBib29sZWFuLFxuICB2YWxpZGF0aW9uczogVmFsaWRhdGlvbkNvbmZpZ1tdLFxuICBwbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyLFxuICByZXBvcnRzRmlsZT86IHN0cmluZykge1xuXG4gIGNvbnN0IHZhbGlkYXRvcnM6IHsgcGx1Z2luOiBWYWxpZGF0aW9uOyBjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dH1bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9ucykge1xuICAgIGNvbnN0IHsgcGx1Z2luLCBjb250ZXh0IH0gPSBWYWxpZGF0aW9uUGx1Z2luLmxvYWQodmFsaWRhdGlvbiwgYXBwLCBzdGRvdXQsIHBsdWdpbk1hbmFnZXIpO1xuICAgIHZhbGlkYXRvcnMucHVzaCh7IHBsdWdpbiwgY29udGV4dCB9KTtcbiAgfVxuXG4gIGNvbnN0IHJlcG9ydHM6IFZhbGlkYXRpb25SZXBvcnRbXSA9IFtdO1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG5cbiAgY29uc29sZS5sb2coJ1BlcmZvcm1pbmcgdmFsaWRhdGlvbnMnKTtcblxuICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgYXdhaXQgdmFsaWRhdG9yLnBsdWdpbi52YWxpZGF0ZSh2YWxpZGF0b3IuY29udGV4dCk7XG4gICAgY29uc3QgcmVwb3J0ID0gdmFsaWRhdG9yLmNvbnRleHQucmVwb3J0O1xuICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIHJlcG9ydC5zdWNjZXNzO1xuICAgIHJlcG9ydHMucHVzaChyZXBvcnQpO1xuICB9XG5cbiAgY29uc29sZS5sb2coJ1ZhbGlkYXRpb25zIGZpbmlzaGVkJyk7XG5cbiAgLy8gbm93IHdlIGNhbiBwcmludCB0aGVtLiB3ZSBkb24ndCBpbmNyZW1lbnRhbGx5IHByaW50XG4gIC8vIHNvIHRvIG5vdCBjbHV0dGVyIHRoZSB0ZXJtaW5hbCBpbiBjYXNlIG9mIGVycm9ycy5cbiAgZm9yIChjb25zdCByZXBvcnQgb2YgcmVwb3J0cykge1xuICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICBjb25zb2xlLmxvZyhyZXBvcnQudG9TdHJpbmcoKSk7XG4gICAgY29uc29sZS5sb2coJycpO1xuICB9XG5cbiAgaWYgKHJlcG9ydHNGaWxlKSB7XG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyhyZXBvcnRzRmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHdyaXRlIHZhbGlkYXRpb24gcmVwb3J0cyBmaWxlLiBBbHJlYWR5IGV4aXN0czogJHtyZXBvcnRzRmlsZX1gKTtcbiAgICB9XG4gICAgLy8gd3JpdGUgdGhlIHJlcG9ydHMgaW4gSlNPTiB0byBhIGZpbGVcbiAgICBmcy53cml0ZUZpbGVTeW5jKHJlcG9ydHNGaWxlLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICByZXBvcnRzOiByZXBvcnRzLm1hcChyID0+IHIudG9Kc29uKCkpLFxuICAgIH0sIG51bGwsIDIpKTtcbiAgfVxuXG4gIC8vIGV4aXQgd2l0aCBmYWlsdXJlIGlmIGFueSByZXBvcnQgcmVzdWx0ZWQgaW4gYSBmYWlsdXJlXG4gIGlmICghc3VjY2Vzcykge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1ZhbGlkYXRpb24gZmFpbGVkLiBTZWUgYWJvdmUgcmVwb3J0cyBmb3IgZGV0YWlscycpO1xuICAgIHByb2Nlc3MuZXhpdCgyKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdWYWxpZGF0aW9ucyBlbmRlZCBzdWNjZXNmdWxseScpO1xuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYWZlUGFyc2VKc29uKHRleHQ6IHN0cmluZywgcmV2aXZlcjogU2FmZVJldml2ZXIpOiBhbnkge1xuICBjb25zdCBqc29uID0gSlNPTi5wYXJzZSh0ZXh0KTtcbiAgcmV2aXZlci5zYW5pdGl6ZShqc29uKTtcbiAgcmV0dXJuIGpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYWZlUGFyc2VZYW1sKHRleHQ6IHN0cmluZywgcmV2aXZlcjogU2FmZVJldml2ZXIpOiBhbnlbXSB7XG5cbiAgLy8gcGFyc2VBbGxEb2N1bWVudHMgZG9lc250IGFjY2VwdCBhIHJldml2ZXJcbiAgLy8gc28gd2UgZmlyc3QgcGFyc2Ugbm9ybWFsbHkgYW5kIHRoYW4gdHJhbnNmb3JtXG4gIC8vIHRvIEpTIHVzaW5nIHRoZSByZXZpdmVyLlxuICBjb25zdCBwYXJzZWQgPSB5YW1sLnBhcnNlQWxsRG9jdW1lbnRzKHRleHQpO1xuICBjb25zdCBkb2NzID0gW107XG4gIGZvciAoY29uc3QgZG9jIG9mIHBhcnNlZCkge1xuICAgIGNvbnN0IGpzb24gPSBkb2MudG9KUygpO1xuICAgIHJldml2ZXIuc2FuaXRpemUoanNvbik7XG4gICAgZG9jcy5wdXNoKGpzb24pO1xuICB9XG4gIHJldHVybiBkb2NzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bmxvYWQodXJsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuXG4gIGxldCBjbGllbnQ6IHR5cGVvZiBodHRwIHwgdHlwZW9mIGh0dHBzO1xuICBjb25zdCBwcm90byA9IHBhcnNlKHVybCkucHJvdG9jb2w7XG5cbiAgaWYgKCFwcm90byB8fCBwcm90byA9PT0gJ2ZpbGU6Jykge1xuICAgIHJldHVybiBmcy5yZWFkRmlsZSh1cmwsICd1dGYtOCcpO1xuICB9XG5cbiAgc3dpdGNoIChwcm90bykge1xuICAgIGNhc2UgJ2h0dHBzOic6XG4gICAgICBjbGllbnQgPSBodHRwcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaHR0cDonOlxuICAgICAgY2xpZW50ID0gaHR0cDtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5zdXBwb3J0ZWQgcHJvdG9jb2wgJHtwcm90b31gKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcmVxID0gY2xpZW50LmdldCh1cmwsIHJlcyA9PiB7XG4gICAgICBzd2l0Y2ggKHJlcy5zdGF0dXNDb2RlKSB7XG4gICAgICAgIGNhc2UgMjAwOiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBBcnJheTxCdWZmZXI+KCk7XG4gICAgICAgICAgcmVzLm9uKCdkYXRhJywgY2h1bmsgPT4gZGF0YS5wdXNoKGNodW5rKSk7XG4gICAgICAgICAgcmVzLm9uY2UoJ2VuZCcsICgpID0+IG9rKEJ1ZmZlci5jb25jYXQoZGF0YSkudG9TdHJpbmcoJ3V0Zi04JykpKTtcbiAgICAgICAgICByZXMub25jZSgnZXJyb3InLCBrbyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIDMwMTpcbiAgICAgICAgY2FzZSAzMDI6IHtcbiAgICAgICAgICBpZiAocmVzLmhlYWRlcnMubG9jYXRpb24pIHtcbiAgICAgICAgICAgIG9rKGRvd25sb2FkKHJlcy5oZWFkZXJzLmxvY2F0aW9uKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGtvKG5ldyBFcnJvcihgJHtyZXMuc3RhdHVzTWVzc2FnZX06ICR7dXJsfWApKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVxLm9uY2UoJ2Vycm9yJywga28pO1xuICAgIHJlcS5lbmQoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kTWFuaWZlc3RzKGRpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAvLyBFbnN1cmUgcGF0aCBpcyB2YWxpZFxuICB0cnkge1xuICAgIGF3YWl0IHByb21pc2VzLmFjY2VzcyhkaXJlY3RvcnkpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBSZWFkIFBhdGggY29udGVudHNcbiAgY29uc3QgZW50cmllcyA9IGF3YWl0IHByb21pc2VzLnJlYWRkaXIoZGlyZWN0b3J5LCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG5cbiAgLy8gR2V0IGZpbGVzIHdpdGhpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgY29uc3QgZmlsZXMgPSBlbnRyaWVzXG4gICAgLmZpbHRlcihmaWxlID0+ICghZmlsZS5pc0RpcmVjdG9yeSgpICYmIGZpbGUubmFtZS5lbmRzV2l0aCgnLnlhbWwnKSkpXG4gICAgLm1hcChmaWxlID0+IChkaXJlY3RvcnkgKyAnLycgKyBmaWxlLm5hbWUpKTtcblxuICAvLyBHZXQgc3ViLWZvbGRlcnMgd2l0aGluIHRoZSBjdXJyZW50IGZvbGRlclxuICBjb25zdCBmb2xkZXJzID0gZW50cmllcy5maWx0ZXIoZm9sZGVyID0+IGZvbGRlci5pc0RpcmVjdG9yeSgpKTtcblxuICBmb3IgKGNvbnN0IGZvbGRlciBvZiBmb2xkZXJzKSB7XG4gICAgZmlsZXMucHVzaCguLi5hd2FpdCBmaW5kTWFuaWZlc3RzKGAke2RpcmVjdG9yeX0vJHtmb2xkZXIubmFtZX1gKSk7XG4gIH1cblxuICByZXR1cm4gZmlsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ29uc3RydWN0TWV0YWRhdGEoZGlyZWN0b3J5OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAvLyB0aGlzIGZpbGUgaXMgb3B0aW9uYWxseSBjcmVhdGVkIGR1cmluZyBzeW50aGVzaXNcbiAgY29uc3QgcCA9IHBhdGguam9pbihkaXJlY3RvcnksICdjb25zdHJ1Y3QtbWV0YWRhdGEuanNvbicpO1xuICByZXR1cm4gZnMuZXhpc3RzU3luYyhwKSA/IHAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIHN5bnRoZXNpemluZyBhbiBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTeW50aGVzaXplZEFwcCB7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIG1hbmlmZXN0cyBwcm9kdWNlZCBieSB0aGUgYXBwLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdCBtZXRhZGF0YSBmaWxlIChpZiBleGlzdHMpLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0TWV0YWRhdGE/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUltcG9ydHMoc3BlYzogc3RyaW5nKTogSW1wb3J0U3BlYyB7XG4gIGNvbnN0IHNwbGl0SW1wb3J0ID0gc3BlYy5zcGxpdChQUkVGSVhfREVMSU0pO1xuXG4gIC8vIGs4c0B4LnkuelxuICAvLyBjcmQueWFtbFxuICAvLyB1cmwuY29tL2NyZC55YW1sXG4gIGlmIChzcGxpdEltcG9ydC5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiBzcGVjLFxuICAgIH07XG4gIH1cblxuICAvLyBjcmQ6PWNyZC55YW1sXG4gIC8vIGNyZDo9dXJsLmNvbS9jcmQueWFtbFxuICBpZiAoc3BsaXRJbXBvcnQubGVuZ3RoID09PSAyKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZHVsZU5hbWVQcmVmaXg6IHNwbGl0SW1wb3J0WzBdLFxuICAgICAgc291cmNlOiBzcGxpdEltcG9ydFsxXSxcbiAgICB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcGFyc2UgaW1wb3J0IHNwZWNpZmljYXRpb24uIFN5bnRheCBpcyBbTkFNRTo9XVNQRUMnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc2hBbmRFbmNvZGUoaW5wdXQ6IHN0cmluZywgYWxnb3JpdGhtOiBzdHJpbmcgPSAnc2hhMjU2JywgZW5jb2Rpbmc6IEJpbmFyeVRvVGV4dEVuY29kaW5nID0gJ2hleCcpOiBzdHJpbmcge1xuICBjb25zdCBoYXNoID0gY3JlYXRlSGFzaChhbGdvcml0aG0pO1xuICBoYXNoLnVwZGF0ZShpbnB1dCk7XG4gIHJldHVybiBoYXNoLmRpZ2VzdChlbmNvZGluZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVGaWxlTmFtZSh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRldlVybCA9IG1hdGNoQ3Jkc0RldlVybCh1cmwpO1xuICBsZXQgZmlsZW5hbWUgPSB1bmRlZmluZWQ7XG5cbiAgaWYgKGRldlVybCkge1xuICAgIGNvbnN0IGxhc3RJbmRleE9mU2xhc2ggPSBkZXZVcmwubGFzdEluZGV4T2YoJy8nKTtcbiAgICBjb25zdCBsYXN0SW5kZXhPZkF0ID0gZGV2VXJsLmxhc3RJbmRleE9mKCdAJyk7XG4gICAgZmlsZW5hbWUgPSAobGFzdEluZGV4T2ZTbGFzaCA+IDAgJiYgbGFzdEluZGV4T2ZBdCA+IDApID8gZGV2VXJsLnNsaWNlKGxhc3RJbmRleE9mU2xhc2grMSwgbGFzdEluZGV4T2ZBdCk6IHVuZGVmaW5lZDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBsYXN0SW5kZXhPZlNsYXNoID0gdXJsLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgY29uc3QgbGFzdEluZGV4T2ZZYW1sID0gdXJsLmxhc3RJbmRleE9mKCcueWFtbCcpID4gMCA/IHVybC5sYXN0SW5kZXhPZignLnlhbWwnKSA6IHVybC5sYXN0SW5kZXhPZignLnltbCcpO1xuXG4gICAgZmlsZW5hbWUgPSAobGFzdEluZGV4T2ZTbGFzaCA+IDAgJiYgbGFzdEluZGV4T2ZZYW1sID4gMCkgPyB1cmwuc2xpY2UobGFzdEluZGV4T2ZTbGFzaCsxLCBsYXN0SW5kZXhPZllhbWwpOiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoIWZpbGVuYW1lKSB7XG4gICAgLy8gSWYgdGhlIHVybCBpZiBmb3IgYSBsb2NhbCBmaWxlLCB0aGVuIGp1c3QgZW5jb2RlIHRoZSBmaWxlbmFtZSBhbmQgbm90IHRoZSBlbnRpcmUgcGF0aFxuICAgIC8vIFNpbmNlIHBhdGggY2FuIGRlcGVuZCBvbiBwbGF0Zm9ybVxuICAgIGxldCBmaWxlID0gZXhpc3RzU3luYyh1cmwpID8gcGF0aC5iYXNlbmFtZSh1cmwpIDogdXJsO1xuXG4gICAgZmlsZW5hbWUgPSBoYXNoQW5kRW5jb2RlKGZpbGUpO1xuICB9XG5cbiAgcmV0dXJuIGZpbGVuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNLOHNJbXBvcnQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAodmFsdWUgIT09ICdrOHMnICYmICF2YWx1ZS5zdGFydHNXaXRoKCdrOHNAJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVsbUltcG9ydCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghdmFsdWUuc3RhcnRzV2l0aCgnaGVsbTonKSAmJiAhdmFsdWUuaW5jbHVkZXMoJzo9aGVsbTonKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3Jkc0FyZVByZXNlbnQoaW1wcnRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICByZXR1cm4gKGltcHJ0cyA/PyBbXSkuc29tZShpbXBydCA9PiAoIWlzSzhzSW1wb3J0KGltcHJ0KSAmJiAhaXNIZWxtSW1wb3J0KGltcHJ0KSkpO1xufSJdfQ==
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQW9EO0FBQ3BELG1DQUEwRDtBQUMxRCwyQkFBMEM7QUFDMUMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDZCQUE0QjtBQUM1Qiw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBRTdCLGdEQUFvRDtBQUVwRCxxREFBeUc7QUFHNUYsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRTFCLEtBQUssVUFBVSxLQUFLLENBQUMsT0FBZSxFQUFFLE9BQWlCLEVBQUUsRUFBRSxVQUF3QixFQUFHO0lBQzNGLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDcEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFLLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDakMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcs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LFNBQWdCLGNBQWMsQ0FBQyxNQUE0QjtJQUN6RCxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFGRCx3Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNwYXduLCBTcGF3bk9wdGlvbnMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IEJpbmFyeVRvVGV4dEVuY29kaW5nLCBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGV4aXN0c1N5bmMsIHByb21pc2VzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJ3VybCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgSW1wb3J0U3BlYywgVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IG1hdGNoQ3Jkc0RldlVybCB9IGZyb20gJy4vaW1wb3J0L2NyZHMtZGV2JztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL3BsdWdpbnMvX21hbmFnZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvblBsdWdpbiwgVmFsaWRhdGlvbkNvbnRleHQsIFZhbGlkYXRpb25SZXBvcnQsIFZhbGlkYXRpb24gfSBmcm9tICcuL3BsdWdpbnMvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTYWZlUmV2aXZlciB9IGZyb20gJy4vcmV2aXZlcic7XG5cbmV4cG9ydCBjb25zdCBQUkVGSVhfREVMSU0gPSAnOj0nO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hlbGwocHJvZ3JhbTogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSA9IFtdLCBvcHRpb25zOiBTcGF3bk9wdGlvbnMgPSB7IH0pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjb21tYW5kID0gYFwiJHtwcm9ncmFtfSAke2FyZ3Muam9pbignICcpfVwiIGF0ICR7cGF0aC5yZXNvbHZlKG9wdGlvbnMuY3dkPy50b1N0cmluZygpID8/ICcuJyl9YDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaywga28pID0+IHtcbiAgICBjb25zdCBjaGlsZCA9IHNwYXduKHByb2dyYW0sIGFyZ3MsIHsgc3RkaW86IFsnaW5oZXJpdCcsICdwaXBlJywgJ2luaGVyaXQnXSwgLi4ub3B0aW9ucyB9KTtcbiAgICBjb25zdCBkYXRhID0gbmV3IEFycmF5PEJ1ZmZlcj4oKTtcbiAgICBjaGlsZC5zdGRvdXQ/Lm9uKCdkYXRhJywgY2h1bmsgPT4gZGF0YS5wdXNoKGNodW5rKSk7XG5cbiAgICBjaGlsZC5vbmNlKCdlcnJvcicsIGVyciA9PiBrbyhuZXcgRXJyb3IoYGNvbW1hbmQgJHtjb21tYW5kfSBmYWlsZWQ6ICR7ZXJyfWApKSk7XG4gICAgY2hpbGQub25jZSgnZXhpdCcsIGNvZGUgPT4ge1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG9rKEJ1ZmZlci5jb25jYXQoZGF0YSkudG9TdHJpbmcoJ3V0Zi04JykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgY29tbWFuZCAke2NvbW1hbmR9IHJldHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlICR7Y29kZX1gKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWtkdGVtcChjbG9zdXJlOiAoZGlyOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgY29uc3Qgd29ya2RpciA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrOHMtJykpO1xuICB0cnkge1xuICAgIGF3YWl0IGNsb3N1cmUod29ya2Rpcik7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZnMucmVtb3ZlKHdvcmtkaXIpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzeW50aEFwcChjb21tYW5kOiBzdHJpbmcsIG91dGRpcjogc3RyaW5nLCBzdGRvdXQ6IGJvb2xlYW4sIG1ldGFkYXRhOiBib29sZWFuKTogUHJvbWlzZTxTeW50aGVzaXplZEFwcD4ge1xuICBpZiAoIXN0ZG91dCkge1xuICAgIGNvbnNvbGUubG9nKCdTeW50aGVzaXppbmcgYXBwbGljYXRpb24nKTtcbiAgfVxuICBhd2FpdCBzaGVsbChjb21tYW5kLCBbXSwge1xuICAgIHNoZWxsOiB0cnVlLFxuICAgIGVudjoge1xuICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICBDREs4U19PVVRESVI6IG91dGRpcixcbiAgICAgIC8vIHJlY29yZCBtZXRhZGF0YSBzbyB0aGF0IHRoZSB2YWxpZGF0aW9uIHJlcG9ydFxuICAgICAgLy8gaGFzIGNvbnRydWN0IGF3YXJlIGNvbnRleHQuXG4gICAgICBDREs4U19SRUNPUkRfQ09OU1RSVUNUX01FVEFEQVRBOiBwcm9jZXNzLmVudi5DREs4U19SRUNPUkRfQ09OU1RSVUNUX01FVEFEQVRBID8/IChtZXRhZGF0YSA/ICd0cnVlJyA6ICdmYWxzZScpLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmICghYXdhaXQgZnMucGF0aEV4aXN0cyhvdXRkaXIpKSB7XG4gICAgY29uc29sZS5lcnJvcihgRVJST1I6IHN5bnRoZXNpcyBmYWlsZWQsIGFwcCBleHBlY3RlZCB0byBjcmVhdGUgXCIke291dGRpcn1cImApO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuICBjb25zdCB5YW1sRmlsZXMgPSBhd2FpdCBmaW5kTWFuaWZlc3RzKG91dGRpcik7XG4gIGlmICh5YW1sRmlsZXM/Lmxlbmd0aCkge1xuICAgIGlmICghc3Rkb3V0KSB7XG4gICAgICBmb3IgKGNvbnN0IHlhbWxGaWxlIG9mIHlhbWxGaWxlcykge1xuICAgICAgICBjb25zb2xlLmxvZyhgICAtICR7eWFtbEZpbGV9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghZm91bmQpIHtcbiAgICBjb25zb2xlLmVycm9yKCdObyBtYW5pZmVzdHMgc3ludGhlc2l6ZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnN0cnVjdE1ldGFkYXRhID0gZmluZENvbnN0cnVjdE1ldGFkYXRhKG91dGRpcik7XG5cbiAgcmV0dXJuIHsgbWFuaWZlc3RzOiB5YW1sRmlsZXMsIGNvbnN0cnVjdE1ldGFkYXRhIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUFwcChcbiAgYXBwOiBTeW50aGVzaXplZEFwcCxcbiAgc3Rkb3V0OiBib29sZWFuLFxuICB2YWxpZGF0aW9uczogVmFsaWRhdGlvbkNvbmZpZ1tdLFxuICBwbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyLFxuICByZXBvcnRzRmlsZT86IHN0cmluZykge1xuXG4gIGNvbnN0IHZhbGlkYXRvcnM6IHsgcGx1Z2luOiBWYWxpZGF0aW9uOyBjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCB9W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbnMpIHtcbiAgICBjb25zdCB7IHBsdWdpbiwgY29udGV4dCB9ID0gVmFsaWRhdGlvblBsdWdpbi5sb2FkKHZhbGlkYXRpb24sIGFwcCwgc3Rkb3V0LCBwbHVnaW5NYW5hZ2VyKTtcbiAgICB2YWxpZGF0b3JzLnB1c2goeyBwbHVnaW4sIGNvbnRleHQgfSk7XG4gIH1cblxuICBjb25zdCByZXBvcnRzOiBWYWxpZGF0aW9uUmVwb3J0W10gPSBbXTtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnNvbGUubG9nKCdQZXJmb3JtaW5nIHZhbGlkYXRpb25zJyk7XG5cbiAgZm9yIChjb25zdCB2YWxpZGF0b3Igb2YgdmFsaWRhdG9ycykge1xuICAgIGF3YWl0IHZhbGlkYXRvci5wbHVnaW4udmFsaWRhdGUodmFsaWRhdG9yLmNvbnRleHQpO1xuICAgIGNvbnN0IHJlcG9ydCA9IHZhbGlkYXRvci5jb250ZXh0LnJlcG9ydDtcbiAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiByZXBvcnQuc3VjY2VzcztcbiAgICByZXBvcnRzLnB1c2gocmVwb3J0KTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdWYWxpZGF0aW9ucyBmaW5pc2hlZCcpO1xuXG4gIC8vIG5vdyB3ZSBjYW4gcHJpbnQgdGhlbS4gd2UgZG9uJ3QgaW5jcmVtZW50YWxseSBwcmludFxuICAvLyBzbyB0byBub3QgY2x1dHRlciB0aGUgdGVybWluYWwgaW4gY2FzZSBvZiBlcnJvcnMuXG4gIGZvciAoY29uc3QgcmVwb3J0IG9mIHJlcG9ydHMpIHtcbiAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgY29uc29sZS5sb2cocmVwb3J0LnRvU3RyaW5nKCkpO1xuICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgfVxuXG4gIGlmIChyZXBvcnRzRmlsZSkge1xuXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocmVwb3J0c0ZpbGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byB3cml0ZSB2YWxpZGF0aW9uIHJlcG9ydHMgZmlsZS4gQWxyZWFkeSBleGlzdHM6ICR7cmVwb3J0c0ZpbGV9YCk7XG4gICAgfVxuICAgIC8vIHdyaXRlIHRoZSByZXBvcnRzIGluIEpTT04gdG8gYSBmaWxlXG4gICAgZnMud3JpdGVGaWxlU3luYyhyZXBvcnRzRmlsZSwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgcmVwb3J0czogcmVwb3J0cy5tYXAociA9PiByLnRvSnNvbigpKSxcbiAgICB9LCBudWxsLCAyKSk7XG4gIH1cblxuICAvLyBleGl0IHdpdGggZmFpbHVyZSBpZiBhbnkgcmVwb3J0IHJlc3VsdGVkIGluIGEgZmFpbHVyZVxuICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICBjb25zb2xlLmVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZC4gU2VlIGFib3ZlIHJlcG9ydHMgZm9yIGRldGFpbHMnKTtcbiAgICBwcm9jZXNzLmV4aXQoMik7XG4gIH1cblxuICBjb25zb2xlLmxvZygnVmFsaWRhdGlvbnMgZW5kZWQgc3VjY2VzZnVsbHknKTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlSnNvbih0ZXh0OiBzdHJpbmcsIHJldml2ZXI6IFNhZmVSZXZpdmVyKTogYW55IHtcbiAgY29uc3QganNvbiA9IEpTT04ucGFyc2UodGV4dCk7XG4gIHJldml2ZXIuc2FuaXRpemUoanNvbik7XG4gIHJldHVybiBqc29uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlWWFtbCh0ZXh0OiBzdHJpbmcsIHJldml2ZXI6IFNhZmVSZXZpdmVyKTogYW55W10ge1xuXG4gIC8vIHBhcnNlQWxsRG9jdW1lbnRzIGRvZXNudCBhY2NlcHQgYSByZXZpdmVyXG4gIC8vIHNvIHdlIGZpcnN0IHBhcnNlIG5vcm1hbGx5IGFuZCB0aGFuIHRyYW5zZm9ybVxuICAvLyB0byBKUyB1c2luZyB0aGUgcmV2aXZlci5cbiAgY29uc3QgcGFyc2VkID0geWFtbC5wYXJzZUFsbERvY3VtZW50cyh0ZXh0KTtcbiAgY29uc3QgZG9jcyA9IFtdO1xuICBmb3IgKGNvbnN0IGRvYyBvZiBwYXJzZWQpIHtcbiAgICBjb25zdCBqc29uID0gZG9jLnRvSlMoKTtcbiAgICByZXZpdmVyLnNhbml0aXplKGpzb24pO1xuICAgIGRvY3MucHVzaChqc29uKTtcbiAgfVxuICByZXR1cm4gZG9jcztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvd25sb2FkKHVybDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcblxuICBsZXQgY2xpZW50OiB0eXBlb2YgaHR0cCB8IHR5cGVvZiBodHRwcztcbiAgY29uc3QgcHJvdG8gPSBwYXJzZSh1cmwpLnByb3RvY29sO1xuXG4gIGlmICghcHJvdG8gfHwgcHJvdG8gPT09ICdmaWxlOicpIHtcbiAgICByZXR1cm4gZnMucmVhZEZpbGUodXJsLCAndXRmLTgnKTtcbiAgfVxuXG4gIHN3aXRjaCAocHJvdG8pIHtcbiAgICBjYXNlICdodHRwczonOlxuICAgICAgY2xpZW50ID0gaHR0cHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2h0dHA6JzpcbiAgICAgIGNsaWVudCA9IGh0dHA7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIHByb3RvY29sICR7cHJvdG99YCk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHJlcSA9IGNsaWVudC5nZXQodXJsLCByZXMgPT4ge1xuICAgICAgc3dpdGNoIChyZXMuc3RhdHVzQ29kZSkge1xuICAgICAgICBjYXNlIDIwMDoge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgQXJyYXk8QnVmZmVyPigpO1xuICAgICAgICAgIHJlcy5vbignZGF0YScsIGNodW5rID0+IGRhdGEucHVzaChjaHVuaykpO1xuICAgICAgICAgIHJlcy5vbmNlKCdlbmQnLCAoKSA9PiBvayhCdWZmZXIuY29uY2F0KGRhdGEpLnRvU3RyaW5nKCd1dGYtOCcpKSk7XG4gICAgICAgICAgcmVzLm9uY2UoJ2Vycm9yJywga28pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAzMDE6XG4gICAgICAgIGNhc2UgMzAyOiB7XG4gICAgICAgICAgaWYgKHJlcy5oZWFkZXJzLmxvY2F0aW9uKSB7XG4gICAgICAgICAgICBvayhkb3dubG9hZChyZXMuaGVhZGVycy5sb2NhdGlvbikpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBrbyhuZXcgRXJyb3IoYCR7cmVzLnN0YXR1c01lc3NhZ2V9OiAke3VybH1gKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlcS5vbmNlKCdlcnJvcicsIGtvKTtcbiAgICByZXEuZW5kKCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmluZE1hbmlmZXN0cyhkaXJlY3Rvcnk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgLy8gRW5zdXJlIHBhdGggaXMgdmFsaWRcbiAgdHJ5IHtcbiAgICBhd2FpdCBwcm9taXNlcy5hY2Nlc3MoZGlyZWN0b3J5KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gUmVhZCBQYXRoIGNvbnRlbnRzXG4gIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBwcm9taXNlcy5yZWFkZGlyKGRpcmVjdG9yeSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuXG4gIC8vIEdldCBmaWxlcyB3aXRoaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4gIGNvbnN0IGZpbGVzID0gZW50cmllc1xuICAgIC5maWx0ZXIoZmlsZSA9PiAoIWZpbGUuaXNEaXJlY3RvcnkoKSAmJiBmaWxlLm5hbWUuZW5kc1dpdGgoJy55YW1sJykpKVxuICAgIC5tYXAoZmlsZSA9PiAoZGlyZWN0b3J5ICsgJy8nICsgZmlsZS5uYW1lKSk7XG5cbiAgLy8gR2V0IHN1Yi1mb2xkZXJzIHdpdGhpbiB0aGUgY3VycmVudCBmb2xkZXJcbiAgY29uc3QgZm9sZGVycyA9IGVudHJpZXMuZmlsdGVyKGZvbGRlciA9PiBmb2xkZXIuaXNEaXJlY3RvcnkoKSk7XG5cbiAgZm9yIChjb25zdCBmb2xkZXIgb2YgZm9sZGVycykge1xuICAgIGZpbGVzLnB1c2goLi4uYXdhaXQgZmluZE1hbmlmZXN0cyhgJHtkaXJlY3Rvcnl9LyR7Zm9sZGVyLm5hbWV9YCkpO1xuICB9XG5cbiAgcmV0dXJuIGZpbGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZENvbnN0cnVjdE1ldGFkYXRhKGRpcmVjdG9yeTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gdGhpcyBmaWxlIGlzIG9wdGlvbmFsbHkgY3JlYXRlZCBkdXJpbmcgc3ludGhlc2lzXG4gIGNvbnN0IHAgPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCAnY29uc3RydWN0LW1ldGFkYXRhLmpzb24nKTtcbiAgcmV0dXJuIGZzLmV4aXN0c1N5bmMocCkgPyBwIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlc3VsdCBvZiBzeW50aGVzaXppbmcgYW4gYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhlc2l6ZWRBcHAge1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBtYW5pZmVzdHMgcHJvZHVjZWQgYnkgdGhlIGFwcC5cbiAgICovXG4gIHJlYWRvbmx5IG1hbmlmZXN0czogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3QgbWV0YWRhdGEgZmlsZSAoaWYgZXhpc3RzKS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdE1ldGFkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbXBvcnRzKHNwZWM6IHN0cmluZyk6IEltcG9ydFNwZWMge1xuICBjb25zdCBzcGxpdEltcG9ydCA9IHNwZWMuc3BsaXQoUFJFRklYX0RFTElNKTtcblxuICAvLyBrOHNAeC55LnpcbiAgLy8gY3JkLnlhbWxcbiAgLy8gdXJsLmNvbS9jcmQueWFtbFxuICBpZiAoc3BsaXRJbXBvcnQubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogc3BlYyxcbiAgICB9O1xuICB9XG5cbiAgLy8gY3JkOj1jcmQueWFtbFxuICAvLyBjcmQ6PXVybC5jb20vY3JkLnlhbWxcbiAgaWYgKHNwbGl0SW1wb3J0Lmxlbmd0aCA9PT0gMikge1xuICAgIHJldHVybiB7XG4gICAgICBtb2R1bGVOYW1lUHJlZml4OiBzcGxpdEltcG9ydFswXSxcbiAgICAgIHNvdXJjZTogc3BsaXRJbXBvcnRbMV0sXG4gICAgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHBhcnNlIGltcG9ydCBzcGVjaWZpY2F0aW9uLiBTeW50YXggaXMgW05BTUU6PV1TUEVDJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNoQW5kRW5jb2RlKGlucHV0OiBzdHJpbmcsIGFsZ29yaXRobTogc3RyaW5nID0gJ3NoYTI1NicsIGVuY29kaW5nOiBCaW5hcnlUb1RleHRFbmNvZGluZyA9ICdoZXgnKTogc3RyaW5nIHtcbiAgY29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goYWxnb3JpdGhtKTtcbiAgaGFzaC51cGRhdGUoaW5wdXQpO1xuICByZXR1cm4gaGFzaC5kaWdlc3QoZW5jb2RpbmcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlRmlsZU5hbWUodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkZXZVcmwgPSBtYXRjaENyZHNEZXZVcmwodXJsKTtcbiAgbGV0IGZpbGVuYW1lID0gdW5kZWZpbmVkO1xuXG4gIGlmIChkZXZVcmwpIHtcbiAgICBjb25zdCBsYXN0SW5kZXhPZlNsYXNoID0gZGV2VXJsLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgY29uc3QgbGFzdEluZGV4T2ZBdCA9IGRldlVybC5sYXN0SW5kZXhPZignQCcpO1xuICAgIGZpbGVuYW1lID0gKGxhc3RJbmRleE9mU2xhc2ggPiAwICYmIGxhc3RJbmRleE9mQXQgPiAwKSA/IGRldlVybC5zbGljZShsYXN0SW5kZXhPZlNsYXNoKzEsIGxhc3RJbmRleE9mQXQpOiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbGFzdEluZGV4T2ZTbGFzaCA9IHVybC5sYXN0SW5kZXhPZignLycpO1xuICAgIGNvbnN0IGxhc3RJbmRleE9mWWFtbCA9IHVybC5sYXN0SW5kZXhPZignLnlhbWwnKSA+IDAgPyB1cmwubGFzdEluZGV4T2YoJy55YW1sJykgOiB1cmwubGFzdEluZGV4T2YoJy55bWwnKTtcblxuICAgIGZpbGVuYW1lID0gKGxhc3RJbmRleE9mU2xhc2ggPiAwICYmIGxhc3RJbmRleE9mWWFtbCA+IDApID8gdXJsLnNsaWNlKGxhc3RJbmRleE9mU2xhc2grMSwgbGFzdEluZGV4T2ZZYW1sKTogdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKCFmaWxlbmFtZSkge1xuICAgIC8vIElmIHRoZSB1cmwgaWYgZm9yIGEgbG9jYWwgZmlsZSwgdGhlbiBqdXN0IGVuY29kZSB0aGUgZmlsZW5hbWUgYW5kIG5vdCB0aGUgZW50aXJlIHBhdGhcbiAgICAvLyBTaW5jZSBwYXRoIGNhbiBkZXBlbmQgb24gcGxhdGZvcm1cbiAgICBsZXQgZmlsZSA9IGV4aXN0c1N5bmModXJsKSA/IHBhdGguYmFzZW5hbWUodXJsKSA6IHVybDtcblxuICAgIGZpbGVuYW1lID0gaGFzaEFuZEVuY29kZShmaWxlKTtcbiAgfVxuXG4gIHJldHVybiBmaWxlbmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSzhzSW1wb3J0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHZhbHVlICE9PSAnazhzJyAmJiAhdmFsdWUuc3RhcnRzV2l0aCgnazhzQCcpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hlbG1JbXBvcnQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIXZhbHVlLnN0YXJ0c1dpdGgoJ2hlbG06JykgJiYgIXZhbHVlLmluY2x1ZGVzKCc6PWhlbG06JykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZHNBcmVQcmVzZW50KGltcHJ0czogc3RyaW5nW10gfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIChpbXBydHMgPz8gW10pLnNvbWUoaW1wcnQgPT4gKCFpc0s4c0ltcG9ydChpbXBydCkgJiYgIWlzSGVsbUltcG9ydChpbXBydCkpKTtcbn0iXX0=
|
package/package.json
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"glob": "^7.2.3",
|
|
67
67
|
"jest": "^27",
|
|
68
68
|
"jest-junit": "^16",
|
|
69
|
-
"projen": "^0.
|
|
69
|
+
"projen": "^0.92.0",
|
|
70
70
|
"ts-jest": "^27",
|
|
71
71
|
"ts-node": "^10.9.2",
|
|
72
72
|
"typescript": "~4.9.5",
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"ajv": "^8.17.1",
|
|
78
78
|
"cdk8s": "^2.69.66",
|
|
79
79
|
"cdk8s-plus-28": "^2.5.6",
|
|
80
|
-
"codemaker": "^1.
|
|
80
|
+
"codemaker": "^1.112.0",
|
|
81
81
|
"colors": "1.4.0",
|
|
82
82
|
"constructs": "^10.4.2",
|
|
83
83
|
"fs-extra": "^8",
|
|
84
|
-
"jsii-pacmak": "^1.
|
|
84
|
+
"jsii-pacmak": "^1.112.0",
|
|
85
85
|
"jsii-rosetta": "^5.8.7",
|
|
86
86
|
"jsii-srcmak": "0.1.1236",
|
|
87
87
|
"json2jsii": "0.5.0",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"publishConfig": {
|
|
108
108
|
"access": "public"
|
|
109
109
|
},
|
|
110
|
-
"version": "2.200.
|
|
110
|
+
"version": "2.200.64",
|
|
111
111
|
"jest": {
|
|
112
112
|
"coverageProvider": "v8",
|
|
113
113
|
"testMatch": [
|