@sylvesterllc/aws-constructs 1.0.11 → 1.0.13

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.
@@ -9,7 +9,7 @@ export declare class AppConfig implements IAppConfig {
9
9
  API: ApiAppConfig;
10
10
  GLOBALS: GlobalAppConfig;
11
11
  RESOURCES: ResourceAppConfig;
12
- DNS: TsgDnsAppConfig;
12
+ DNS?: TsgDnsAppConfig;
13
13
  lambdaConfigs: TsgLambdaProp[];
14
14
  dynamoConfigs: TsgDynamoProp[];
15
15
  get AppName(): string;
@@ -58,4 +58,4 @@ class AppConfig {
58
58
  }
59
59
  }
60
60
  exports.AppConfig = AppConfig;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9BcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsTUFBYSxTQUFTO0lBV2xCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELFlBQVksTUFBa0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQWtCO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBR25DLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFrQjtRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsR0FBRyxNQUFNLENBQUMsT0FBTztTQUNwQixDQUFDO0lBQ04sQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWtCO1FBRXhDLElBQUksTUFBTSxDQUFDLEdBQUc7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHO2dCQUNQLEdBQUcsTUFBTSxDQUFDLEdBQUc7YUFDaEIsQ0FBQztJQUNWLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxNQUFNLENBQUMsU0FBUztTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7WUFDcEIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU07U0FDN0IsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUc7WUFDUCxHQUFHLE1BQU0sQ0FBQyxHQUFHO1NBQ2hCLENBQUM7SUFDTixDQUFDO0lBQ0QsbUdBQW1HO0lBQ25HLDBHQUEwRztJQUMxRyxJQUFJO0lBRUksZUFBZSxDQUFPLE1BQVcsRUFBRSxNQUEwQjtRQUVqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFPLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBRWxCLENBQUM7SUFFTyxXQUFXLENBQU8sSUFBdUI7UUFFN0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQWE7UUFDYixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFhLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBakZELDhCQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJwcm9jZXNzXCI7XG5pbXBvcnQgeyBBcGlBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9HbG9iYWxBcHBDb25maWdcIjtcbmltcG9ydCB7IElBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcbmltcG9ydCB7IFJlc291cmNlQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9SZXNvdXJjZUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnRHluYW1vUHJvcCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUc2dEbnNBcHBDb25maWcgfSBmcm9tIFwiLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYU5hbWUgfSBmcm9tIFwiLi90eXBlcy9Uc2dMYW1iZGFOYW1lXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4vdHlwZXMvVHNnTGFtYmRhUHJvcFwiO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIGltcGxlbWVudHMgSUFwcENvbmZpZyB7XG5cbiAgICBwdWJsaWMgQVBJOiBBcGlBcHBDb25maWc7XG4gICAgcHVibGljIEdMT0JBTFM6IEdsb2JhbEFwcENvbmZpZztcbiAgICBwdWJsaWMgUkVTT1VSQ0VTOiBSZXNvdXJjZUFwcENvbmZpZztcbiAgICBwdWJsaWMgRE5TOiBUc2dEbnNBcHBDb25maWc7XG5cblxuICAgIHB1YmxpYyBsYW1iZGFDb25maWdzOiBUc2dMYW1iZGFQcm9wW107XG4gICAgcHVibGljIGR5bmFtb0NvbmZpZ3M6IFRzZ0R5bmFtb1Byb3BbXTtcblxuICAgIGdldCBBcHBOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5HTE9CQUxTLm5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IEFwcFByZWZpeCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLkdMT0JBTFMucHJlZml4KSA/IHRoaXMuR0xPQkFMUy5wcmVmaXggOiB0aGlzLkdMT0JBTFMubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZShjb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGUoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVHbG9iYWxDb25maWcoY29uZmlnKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUFwaUNvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlUmVzb3VyY2VzKGNvbmZpZyk7XG5cblxuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVHbG9iYWxDb25maWcoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuR0xPQkFMUyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5HTE9CQUxTXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZUFwaUNvbmZpZyhjb25maWc6IElBcHBDb25maWcpIHtcblxuICAgICAgICBpZiAoY29uZmlnLkFQSSlcbiAgICAgICAgICAgIHRoaXMuQVBJID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5BUElcbiAgICAgICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVJlc291cmNlcyhjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5SRVNPVVJDRVMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuUkVTT1VSQ0VTXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuUkVTT1VSQ0VTLkRZTkFNTyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuRFlOQU1PXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ETlMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuRE5TXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vICAgICB0aGlzLmxhbWJkYUNvbmZpZ3MgPSB0aGlzLmV4cGFuZFByb3BzPFRzZ0xhbWJkYU5hbWUsIFRzZ0xhbWJkYVByb3A+KHRoaXMuUkVTT1VSQ0VTLkxBTUJEQSEpO1xuICAgIC8vICAgICB0aGlzLmR5bmFtb0NvbmZpZ3MgPSB0aGlzLmV4cGFuZFByb3BzPFRzZ1RhYmxlTmFtZSwgVHNnRHluYW1vUHJvcD4odGhpcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMhKTtcbiAgICAvLyB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlQ29uZmlnczxULCBSPihyZXN1bHQ6IFJbXSwgcmVjb3JkPzogUmVjb3JkPHN0cmluZywgUj4pIHtcblxuICAgICAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgPSB0aGlzLmV4cGFuZFByb3BzPFQsIFI+KHJlY29yZCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFByb3BzPFQsIFI+KGRhdGE6IFJlY29yZDxzdHJpbmcsIFI+KSB7XG4gICAgICAgIFxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgYXMgUltdO1xuICAgIH1cbn0iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9BcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsTUFBYSxTQUFTO0lBV2xCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELFlBQVksTUFBa0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQWtCO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBR25DLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFrQjtRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsR0FBRyxNQUFNLENBQUMsT0FBTztTQUNwQixDQUFDO0lBQ04sQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWtCO1FBRXhDLElBQUksTUFBTSxDQUFDLEdBQUc7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHO2dCQUNQLEdBQUcsTUFBTSxDQUFDLEdBQUc7YUFDaEIsQ0FBQztJQUNWLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxNQUFNLENBQUMsU0FBUztTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7WUFDcEIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU07U0FDN0IsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUc7WUFDUCxHQUFHLE1BQU0sQ0FBQyxHQUFJO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBQ0QsbUdBQW1HO0lBQ25HLDBHQUEwRztJQUMxRyxJQUFJO0lBRUksZUFBZSxDQUFPLE1BQVcsRUFBRSxNQUEwQjtRQUVqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFPLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBRWxCLENBQUM7SUFFTyxXQUFXLENBQU8sSUFBdUI7UUFFN0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQWE7UUFDYixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFhLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBakZELDhCQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJwcm9jZXNzXCI7XG5pbXBvcnQgeyBBcGlBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9HbG9iYWxBcHBDb25maWdcIjtcbmltcG9ydCB7IElBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcbmltcG9ydCB7IFJlc291cmNlQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9SZXNvdXJjZUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnRHluYW1vUHJvcCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUc2dEbnNBcHBDb25maWcgfSBmcm9tIFwiLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYU5hbWUgfSBmcm9tIFwiLi90eXBlcy9Uc2dMYW1iZGFOYW1lXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4vdHlwZXMvVHNnTGFtYmRhUHJvcFwiO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIGltcGxlbWVudHMgSUFwcENvbmZpZyB7XG5cbiAgICBwdWJsaWMgQVBJOiBBcGlBcHBDb25maWc7XG4gICAgcHVibGljIEdMT0JBTFM6IEdsb2JhbEFwcENvbmZpZztcbiAgICBwdWJsaWMgUkVTT1VSQ0VTOiBSZXNvdXJjZUFwcENvbmZpZztcbiAgICBwdWJsaWMgRE5TPzogVHNnRG5zQXBwQ29uZmlnO1xuXG5cbiAgICBwdWJsaWMgbGFtYmRhQ29uZmlnczogVHNnTGFtYmRhUHJvcFtdO1xuICAgIHB1YmxpYyBkeW5hbW9Db25maWdzOiBUc2dEeW5hbW9Qcm9wW107XG5cbiAgICBnZXQgQXBwTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuR0xPQkFMUy5uYW1lO1xuICAgIH1cblxuICAgIGdldCBBcHBQcmVmaXgoKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5HTE9CQUxTLnByZWZpeCkgPyB0aGlzLkdMT0JBTFMucHJlZml4IDogdGhpcy5HTE9CQUxTLm5hbWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGUoY29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLnBvcHVsYXRlR2xvYmFsQ29uZmlnKGNvbmZpZyk7XG4gICAgICAgIHRoaXMucG9wdWxhdGVBcGlDb25maWcoY29uZmlnKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVJlc291cmNlcyhjb25maWcpO1xuXG5cbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlR2xvYmFsQ29uZmlnKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLkdMT0JBTFMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuR0xPQkFMU1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVBcGlDb25maWcoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG5cbiAgICAgICAgaWYgKGNvbmZpZy5BUEkpXG4gICAgICAgICAgICB0aGlzLkFQSSA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcuQVBJXG4gICAgICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVSZXNvdXJjZXMoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuUkVTT1VSQ0VTID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLlJFU09VUkNFU1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLlJFU09VUkNFUy5EWU5BTU8gPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuUkVTT1VSQ0VTLkRZTkFNT1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuRE5TID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLkROUyFcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLy8gICAgIHRoaXMubGFtYmRhQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnTGFtYmRhTmFtZSwgVHNnTGFtYmRhUHJvcD4odGhpcy5SRVNPVVJDRVMuTEFNQkRBISk7XG4gICAgLy8gICAgIHRoaXMuZHluYW1vQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnVGFibGVOYW1lLCBUc2dEeW5hbW9Qcm9wPih0aGlzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyEpO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVDb25maWdzPFQsIFI+KHJlc3VsdDogUltdLCByZWNvcmQ/OiBSZWNvcmQ8c3RyaW5nLCBSPikge1xuXG4gICAgICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZXhwYW5kUHJvcHM8VCwgUj4ocmVjb3JkKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcblxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kUHJvcHM8VCwgUj4oZGF0YTogUmVjb3JkPHN0cmluZywgUj4pIHtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdCBhcyBSW107XG4gICAgfVxufSJdfQ==
@@ -6,5 +6,5 @@ export interface IAppConfig {
6
6
  GLOBALS: GlobalAppConfig;
7
7
  API?: ApiAppConfig;
8
8
  RESOURCES: ResourceAppConfig;
9
- DNS: TsgDnsAppConfig;
9
+ DNS?: TsgDnsAppConfig;
10
10
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFwcENvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvY3VzdG9tQ29uZmlncy9JQXBwQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9FbnZpcm9ubWVudHNcIjtcbmltcG9ydCB7IFRzZ0Ruc0FwcENvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IEFwaUFwcENvbmZpZyB9IGZyb20gXCIuL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vR2xvYmFsQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUFwcENvbmZpZyB9IGZyb20gXCIuL1Jlc291cmNlQXBwQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbmZpZyB7XG4gICAgXG4gICAgR0xPQkFMUzogR2xvYmFsQXBwQ29uZmlnO1xuICAgIEFQST86IEFwaUFwcENvbmZpZztcbiAgICBSRVNPVVJDRVM6IFJlc291cmNlQXBwQ29uZmlnO1xuICAgIEROUzogVHNnRG5zQXBwQ29uZmlnO1xufSJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFwcENvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvY3VzdG9tQ29uZmlncy9JQXBwQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9FbnZpcm9ubWVudHNcIjtcbmltcG9ydCB7IFRzZ0Ruc0FwcENvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IEFwaUFwcENvbmZpZyB9IGZyb20gXCIuL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vR2xvYmFsQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUFwcENvbmZpZyB9IGZyb20gXCIuL1Jlc291cmNlQXBwQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbmZpZyB7XG4gICAgXG4gICAgR0xPQkFMUzogR2xvYmFsQXBwQ29uZmlnO1xuICAgIEFQST86IEFwaUFwcENvbmZpZztcbiAgICBSRVNPVVJDRVM6IFJlc291cmNlQXBwQ29uZmlnO1xuICAgIEROUz86IFRzZ0Ruc0FwcENvbmZpZztcbn0iXX0=
@@ -42,4 +42,4 @@ class MicroService extends constructs_1.Construct {
42
42
  }
43
43
  }
44
44
  exports.MicroService = MicroService;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2Qyw0RkFBeUY7QUFDekYscUVBQW9FO0FBQ3BFLDhEQUFxRDtBQUNyRCxrRUFBZ0U7QUFFaEUsbURBQWdEO0FBQ2hELDZDQUFtQztBQUluQyxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQUt2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQWdCLEVBQUUsS0FBZ0I7UUFFN0MsSUFBSSxNQUFNLEdBQXdCLFNBQVMsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDO3dCQUNKLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsa0NBQWdCLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFakYsdURBQXVEO1FBRXZELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLGlCQUFpQjtRQUUzQyxzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFFRCxrRUFBa0U7UUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxLQUFLLEVBQ3pDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLE1BQU07SUFDVixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQWdCO1FBQ2hDLGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKO0FBckRELG9DQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGVcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IEFwaSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVBcGlcIjtcbmltcG9ydCB7IGdldFNlY3JldE1hbmFnZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL3NlY3VyaXR5TWFuYWdlclwiO1xuaW1wb3J0IHsgY3JlYXRlQ29tbW9uTGF5ZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2hlbHBlcnMvY3JlYXRlQ29tbW9uTGF5ZXJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi9jb25maWcvdHlwZXMvVHNnTGFtYmRhUHJvcHNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vY29uZmlnL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47ICBcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub25Jbml0KHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUYWcoc2NvcGUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcENvbmZpZykge1xuXG4gICAgICAgIGxldCB0YWJsZXM6IFRhYmxlW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCFwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSB0aGUgQVJOIGZvciB0aGUgeW91ciBDb25maWd1cmF0aW9uIFNlY3JldCBcbiAgICAgICAgICAgICAgICBNYW5hZ2VyYCk7ICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWNyZXRNZ3IgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCBwcm9wcywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTtcblxuICAgICAgICAvLyBjb25zdCBjb21tb25MYXllciA9IGNyZWF0ZUNvbW1vbkxheWVyKHNjb3BlLCBwcm9wcyk7XG5cbiAgICAgICAgY29uc3QgZ2F0ZXdheSA9IG5ldyBBcGkoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKS5BUElzO1xuXG4gICAgICAgIGNvbnN0IGxheWVycyA9IHVuZGVmaW5lZDsgLy8gW2NvbW1vbkxheWVyXTtcblxuICAgICAgICAvLyBDcmVhdGVzIER5bmFtb0RiIFRhYmxlcyBpZiByZXF1aXJlZFxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkeW5hbW8gPSBuZXcgQ3JlYXRlRHluYW1vRGIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgdGFibGVzID0gZHluYW1vLkNyZWF0ZWRUYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBLmZvckVhY2goKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgQ3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlKHNjb3BlLCBcbiAgICAgICAgICAgICAgICBnYXRld2F5WzBdLCBwcm9wcywgdGhpcy5hcHBDb25maWcsIHRhYmxlcywgc2VjcmV0TWdyLCBsYXllcnMpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2Qyw0RkFBeUY7QUFDekYscUVBQW9FO0FBQ3BFLDhEQUFxRDtBQUNyRCxrRUFBZ0U7QUFFaEUsbURBQWdEO0FBQ2hELDZDQUFtQztBQUluQyxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQUt2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQWdCLEVBQUUsS0FBZ0I7UUFFN0MsSUFBSSxNQUFNLEdBQXdCLFNBQVMsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDO3dCQUNKLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsa0NBQWdCLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFakYsdURBQXVEO1FBRXZELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLGlCQUFpQjtRQUUzQyxzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFFRCxrRUFBa0U7UUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxLQUFLLEVBQ3pDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLE1BQU07SUFHVixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQWdCO1FBQ2hDLGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKO0FBdkRELG9DQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGVcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IEFwaSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVBcGlcIjtcbmltcG9ydCB7IGdldFNlY3JldE1hbmFnZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL3NlY3VyaXR5TWFuYWdlclwiO1xuaW1wb3J0IHsgY3JlYXRlQ29tbW9uTGF5ZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2hlbHBlcnMvY3JlYXRlQ29tbW9uTGF5ZXJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi9jb25maWcvdHlwZXMvVHNnTGFtYmRhUHJvcHNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vY29uZmlnL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47ICBcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub25Jbml0KHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUYWcoc2NvcGUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcENvbmZpZykge1xuXG4gICAgICAgIGxldCB0YWJsZXM6IFRhYmxlW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCFwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSB0aGUgQVJOIGZvciB0aGUgeW91ciBDb25maWd1cmF0aW9uIFNlY3JldCBcbiAgICAgICAgICAgICAgICBNYW5hZ2VyYCk7ICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWNyZXRNZ3IgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCBwcm9wcywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTtcblxuICAgICAgICAvLyBjb25zdCBjb21tb25MYXllciA9IGNyZWF0ZUNvbW1vbkxheWVyKHNjb3BlLCBwcm9wcyk7XG5cbiAgICAgICAgY29uc3QgZ2F0ZXdheSA9IG5ldyBBcGkoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKS5BUElzO1xuXG4gICAgICAgIGNvbnN0IGxheWVycyA9IHVuZGVmaW5lZDsgLy8gW2NvbW1vbkxheWVyXTtcblxuICAgICAgICAvLyBDcmVhdGVzIER5bmFtb0RiIFRhYmxlcyBpZiByZXF1aXJlZFxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkeW5hbW8gPSBuZXcgQ3JlYXRlRHluYW1vRGIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgdGFibGVzID0gZHluYW1vLkNyZWF0ZWRUYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBLmZvckVhY2goKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgQ3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlKHNjb3BlLCBcbiAgICAgICAgICAgICAgICBnYXRld2F5WzBdLCBwcm9wcywgdGhpcy5hcHBDb25maWcsIHRhYmxlcywgc2VjcmV0TWdyLCBsYXllcnMpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICBcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
@@ -6,5 +6,5 @@ export interface MicroserviceProps {
6
6
  API: ApiAppConfig;
7
7
  GLOBALS: GlobalAppConfig;
8
8
  RESOURCES: ResourceAppConfig;
9
- DNS: TsgDnsAppConfig;
9
+ DNS?: TsgDnsAppConfig;
10
10
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9zZXJ2aWNlUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9jdXN0b21Db25maWdzL0dsb2JhbEFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgUmVzb3VyY2VBcHBDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWdcIjtcbmltcG9ydCB7IFRzZ0Ruc0FwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvdHlwZXMvVHNnRG5zQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWljcm9zZXJ2aWNlUHJvcHMge1xuICAgIEFQSTogQXBpQXBwQ29uZmlnO1xuICAgIEdMT0JBTFM6IEdsb2JhbEFwcENvbmZpZztcbiAgICBSRVNPVVJDRVM6IFJlc291cmNlQXBwQ29uZmlnO1xuICAgIEROUzogVHNnRG5zQXBwQ29uZmlnO1xufSJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9zZXJ2aWNlUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9jdXN0b21Db25maWdzL0dsb2JhbEFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgUmVzb3VyY2VBcHBDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWdcIjtcbmltcG9ydCB7IFRzZ0Ruc0FwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvdHlwZXMvVHNnRG5zQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWljcm9zZXJ2aWNlUHJvcHMge1xuICAgIEFQSTogQXBpQXBwQ29uZmlnO1xuICAgIEdMT0JBTFM6IEdsb2JhbEFwcENvbmZpZztcbiAgICBSRVNPVVJDRVM6IFJlc291cmNlQXBwQ29uZmlnO1xuICAgIEROUz86IFRzZ0Ruc0FwcENvbmZpZztcbn0iXX0=
@@ -15,15 +15,15 @@ class CreateCertificate {
15
15
  // region: props.GLOBALS.region || "us-east-1"
16
16
  // });
17
17
  const appType = "spa-app";
18
- const cert = new aws_certificatemanager_1.Certificate(scope, `${props.DNS.ZoneNameWithoutPeriod}-${appType}-certificate`, {
19
- domainName: `${props.API.DomainPrefix}.${props.DNS.ZoneName}`,
20
- subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS.ZoneName}`],
18
+ const cert = new aws_certificatemanager_1.Certificate(scope, `${props.DNS?.ZoneNameWithoutPeriod}-${appType}-certificate`, {
19
+ domainName: `${props.API.DomainPrefix}.${props.DNS?.ZoneName}`,
20
+ subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`],
21
21
  validation: aws_certificatemanager_1.CertificateValidation.fromDnsMultiZone({
22
- [`${props.API.DomainPrefix}.${props.DNS.ZoneName}`]: hostedZone,
22
+ [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`]: hostedZone,
23
23
  }),
24
24
  });
25
25
  return cert;
26
26
  }
27
27
  }
28
28
  exports.CreateCertificate = CreateCertificate;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFNL0gsTUFBYSxpQkFBaUI7SUFJMUIsWUFBWSxLQUFnQixFQUFFLEtBQXdCLEVBQUUsVUFBdUI7UUFFM0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsS0FBd0IsRUFBRSxVQUF1QjtRQUVuRiw4R0FBOEc7UUFDOUcscUVBQXFFO1FBQ3JFLGtCQUFrQjtRQUNsQixrREFBa0Q7UUFDbEQsU0FBUztRQUVQLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUUxQixNQUFNLElBQUksR0FBRyxJQUFJLG9DQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsSUFBSSxPQUFPLGNBQWMsRUFBRTtZQUMvRixVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUM3RCx1QkFBdUIsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RSxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUcsVUFBVTthQUN2RSxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBaENELDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlLCBJQ2VydGlmaWNhdGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHsgSUhvc3RlZFpvbmUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNlcnRpZmljYXRlIHtcblxuICAgIHB1YmxpYyBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSkge1xuXG4gICAgICAgIHRoaXMuY2VydGlmaWNhdGUgPSB0aGlzLmdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGUsIHByb3BzLCBob3N0ZWRab25lKTtcblxuICAgICAgICB0aGlzLmNlcnRpZmljYXRlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICBcbiAgICB9XG5cbiAgICBnZW5lcmF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUpIHtcblxuICAgICAgICAvLyBjb25zdCBjZXJ0ID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHNjb3BlLCBgJHtwcm9wcy5ETlMuWm9uZU5hbWVXaXRob3V0UGVyaW9kfS1zcGEtYXBwLWNlcnRpZmljYXRlYCwge1xuICAgICAgICAvLyAgICAgZG9tYWluTmFtZTogYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlMuWm9uZU5hbWV9YCxcbiAgICAgICAgLy8gICAgIGhvc3RlZFpvbmUsXG4gICAgICAgIC8vICAgICByZWdpb246IHByb3BzLkdMT0JBTFMucmVnaW9uIHx8IFwidXMtZWFzdC0xXCJcbiAgICAgICAgLy8gICB9KTsgXG5cbiAgICAgICAgICBjb25zdCBhcHBUeXBlID0gXCJzcGEtYXBwXCI7XG5cbiAgICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENlcnRpZmljYXRlKHNjb3BlLCBgJHtwcm9wcy5ETlMuWm9uZU5hbWVXaXRob3V0UGVyaW9kfS0ke2FwcFR5cGV9LWNlcnRpZmljYXRlYCwge1xuICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlMuWm9uZU5hbWV9YCxcbiAgICAgICAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBbYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlMuWm9uZU5hbWV9YF0sXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZSh7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBbYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlMuWm9uZU5hbWV9YF0gOiBob3N0ZWRab25lICwgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBjZXJ0O1xuICAgIH1cbn0iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFNL0gsTUFBYSxpQkFBaUI7SUFJMUIsWUFBWSxLQUFnQixFQUFFLEtBQXdCLEVBQUUsVUFBdUI7UUFFM0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsS0FBd0IsRUFBRSxVQUF1QjtRQUVuRiw4R0FBOEc7UUFDOUcscUVBQXFFO1FBQ3JFLGtCQUFrQjtRQUNsQixrREFBa0Q7UUFDbEQsU0FBUztRQUVQLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUUxQixNQUFNLElBQUksR0FBRyxJQUFJLG9DQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsSUFBSSxPQUFPLGNBQWMsRUFBRTtZQUNoRyxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRTtZQUM5RCx1QkFBdUIsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUM3RSxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUcsVUFBVTthQUN4RSxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBaENELDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlLCBJQ2VydGlmaWNhdGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHsgSUhvc3RlZFpvbmUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNlcnRpZmljYXRlIHtcblxuICAgIHB1YmxpYyBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSkge1xuXG4gICAgICAgIHRoaXMuY2VydGlmaWNhdGUgPSB0aGlzLmdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGUsIHByb3BzLCBob3N0ZWRab25lKTtcblxuICAgICAgICB0aGlzLmNlcnRpZmljYXRlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICBcbiAgICB9XG5cbiAgICBnZW5lcmF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUpIHtcblxuICAgICAgICAvLyBjb25zdCBjZXJ0ID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHNjb3BlLCBgJHtwcm9wcy5ETlMuWm9uZU5hbWVXaXRob3V0UGVyaW9kfS1zcGEtYXBwLWNlcnRpZmljYXRlYCwge1xuICAgICAgICAvLyAgICAgZG9tYWluTmFtZTogYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlMuWm9uZU5hbWV9YCxcbiAgICAgICAgLy8gICAgIGhvc3RlZFpvbmUsXG4gICAgICAgIC8vICAgICByZWdpb246IHByb3BzLkdMT0JBTFMucmVnaW9uIHx8IFwidXMtZWFzdC0xXCJcbiAgICAgICAgLy8gICB9KTsgXG5cbiAgICAgICAgICBjb25zdCBhcHBUeXBlID0gXCJzcGEtYXBwXCI7XG5cbiAgICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENlcnRpZmljYXRlKHNjb3BlLCBgJHtwcm9wcy5ETlM/LlpvbmVOYW1lV2l0aG91dFBlcmlvZH0tJHthcHBUeXBlfS1jZXJ0aWZpY2F0ZWAsIHtcbiAgICAgICAgICAgIGRvbWFpbk5hbWU6IGAke3Byb3BzLkFQSS5Eb21haW5QcmVmaXh9LiR7cHJvcHMuRE5TPy5ab25lTmFtZX1gLFxuICAgICAgICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IFtgJHtwcm9wcy5BUEkuRG9tYWluUHJlZml4fS4ke3Byb3BzLkROUz8uWm9uZU5hbWV9YF0sXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZSh7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBbYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlM/LlpvbmVOYW1lfWBdIDogaG9zdGVkWm9uZSAsICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gY2VydDtcbiAgICB9XG59Il19
@@ -22,7 +22,7 @@ class CreateDynamoDb extends baseResource_1.BaseResource {
22
22
  const tables = props?.map((prop, idx) => {
23
23
  const dbTable = new aws_dynamodb_1.Table(scope, `${prop.tableName}`, {
24
24
  ...prop,
25
- removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY
25
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
26
26
  });
27
27
  this.config.RESOURCES.DYNAMO?.TABLES?.[idx].indexes.map((gsi) => {
28
28
  const gsiProps = {
@@ -84,4 +84,4 @@ CreateDynamoDb.ReadWriteActions = [
84
84
  "dynamodb:UpdateItem",
85
85
  ];
86
86
  exports.CreateDynamoDb = CreateDynamoDb;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELDJEQUF1RjtBQUd2Rix1REFBb0Q7QUFHcEQsTUFBYSxjQUFlLFNBQVEsMkJBQW1CO0lBaUJuRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBc0IsS0FBZ0IsRUFBWSxNQUFpQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFZLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRWpDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xELEdBQUcsSUFBSTtnQkFDUCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO2FBQ3ZDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBRTVELE1BQU0sUUFBUSxHQUE4QjtvQkFDeEMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDN0MsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO29CQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztpQkFFckMsQ0FBQztnQkFFRixPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUk1QixDQUFDO0lBR1MsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUUzRCxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFFakMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDdkIsQ0FBQTthQUNKO1lBQ0QsT0FBTyxJQUFrQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUNwQyw4REFBOEQ7UUFDOUQsT0FBTyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBRXRCLGtEQUFrRDtJQUN0RCxDQUFDOztBQXBHTSwrQkFBZ0IsR0FBYTtJQUNoQyx1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHFCQUFxQjtDQUN4QixDQUFDO0FBZk8sd0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMsVGFibGUsIFRhYmxlUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVEeW5hbW9EYiBleHRlbmRzIEJhc2VSZXNvdXJjZTxUYWJsZT4ge1xuXG4gICAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkJhdGNoV3JpdGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlc2NyaWJlVGFibGVcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFNoYXJkSXRlcmF0b3JcIixcbiAgICAgICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICAgICAgXCJkeW5hbW9kYjpTY2FuXCIsXG4gICAgICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICAgIF07XG5cbiAgICBnZXQgQ3JlYXRlZFRhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG4gICAgXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBDb25zdHJ1Y3QsIHByb3RlY3RlZCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcblxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dChzY29wZSwgdGhpcy5jcmVhdGVkUmVzb3VyY2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogVGFibGVbXSB7XG4gICAgICAgIFxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmNyZWF0ZVByb3BzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHRhYmxlcyA9IHByb3BzPy5tYXAoKHByb3A6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYlRhYmxlID0gbmV3IFRhYmxlKHNjb3BlLCBgJHtwcm9wLnRhYmxlTmFtZX1gLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByb3AsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVTPy5baWR4XS5pbmRleGVzLm1hcCgoZ3NpKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NpUHJvcHM6IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleE5hbWU6IHRoaXMuZ2VuZXJhdGVEYk5hbWUoZ3NpLmluZGV4TmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IGdzaS5wYXJ0aXRpb25LZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0S2V5OiBnc2kuc29ydEtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBnc2kucHJvamVjdGlvblR5cGVcblxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGRiVGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoZ3NpUHJvcHMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYlRhYmxlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiB0YWJsZXMgPz8gW107XG4gICAgICAgXG5cbiAgICAgICBcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyEuZm9yRWFjaCgoeCwgaWR4KSA9PiB7XG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgZHluYW1vVGFibGUke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHgudGFibGVOYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQcm9wcygpIHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmNvbmZpZy5SRVNPVVJDRVM/LkRZTkFNTz8uVEFCTEVTPy5tYXAoKHgpID0+IHtcblxuICAgICAgICAgICAgY29uc3QgcHJvcDogYW55ID0ge307XG5cbiAgICAgICAgICAgIHByb3AudGFibGVOYW1lID0gdGhpcy5nZW5lcmF0ZURiTmFtZSh4LnRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIHByb3AucGFydGl0aW9uS2V5ID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IHgucHJpbWFyeUtleS5uYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IHgucHJpbWFyeUtleS50eXBlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBwcm9wLmJpbGxpbmdNb2RlID0geC5iaWxsaW5nTW9kZTtcblxuICAgICAgICAgICAgaWYgKHguc29ydEtleSkge1xuICAgICAgICAgICAgICAgIHByb3Auc29ydEtleSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5zb3J0S2V5Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHguc29ydEtleS50eXBlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9wIGFzIFRhYmxlUHJvcHM7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlRGJOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIFRPRE86ICBSZW1vdmUgdGhpcyBsYXRlciAgdGFibGUgbmFtZXMgc2hvdWxkIGhhdmUgYXBwUHJlZml4XG4gICAgICAgIHJldHVybiBgJHt0YWJsZU5hbWV9YDtcbiAgICAgICAgXG4gICAgICAgIC8vIHJldHVybiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGFibGVOYW1lfWA7XG4gICAgfVxufSJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELDJEQUFzRztBQUd0Ryx1REFBb0Q7QUFHcEQsTUFBYSxjQUFlLFNBQVEsMkJBQW1CO0lBaUJuRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBc0IsS0FBZ0IsRUFBWSxNQUFpQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFZLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRWpDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xELEdBQUcsSUFBSTtnQkFDUCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO2FBRXZDLENBQUMsQ0FBQztZQUlILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBRTVELE1BQU0sUUFBUSxHQUE4QjtvQkFDeEMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDN0MsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO29CQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztpQkFFckMsQ0FBQztnQkFFRixPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUk1QixDQUFDO0lBR1MsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUUzRCxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFFakMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDdkIsQ0FBQTthQUNKO1lBQ0QsT0FBTyxJQUFrQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUNwQyw4REFBOEQ7UUFDOUQsT0FBTyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBRXRCLGtEQUFrRDtJQUN0RCxDQUFDOztBQXZHTSwrQkFBZ0IsR0FBYTtJQUNoQyx1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHFCQUFxQjtDQUN4QixDQUFDO0FBZk8sd0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMsU3RyZWFtVmlld1R5cGUsVGFibGUsIFRhYmxlUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVEeW5hbW9EYiBleHRlbmRzIEJhc2VSZXNvdXJjZTxUYWJsZT4ge1xuXG4gICAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkJhdGNoV3JpdGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlc2NyaWJlVGFibGVcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFNoYXJkSXRlcmF0b3JcIixcbiAgICAgICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICAgICAgXCJkeW5hbW9kYjpTY2FuXCIsXG4gICAgICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICAgIF07XG5cbiAgICBnZXQgQ3JlYXRlZFRhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG4gICAgXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBDb25zdHJ1Y3QsIHByb3RlY3RlZCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcblxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dChzY29wZSwgdGhpcy5jcmVhdGVkUmVzb3VyY2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogVGFibGVbXSB7XG4gICAgICAgIFxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmNyZWF0ZVByb3BzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHRhYmxlcyA9IHByb3BzPy5tYXAoKHByb3A6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYlRhYmxlID0gbmV3IFRhYmxlKHNjb3BlLCBgJHtwcm9wLnRhYmxlTmFtZX1gLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByb3AsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUz8uW2lkeF0uaW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzaVByb3BzOiBHbG9iYWxTZWNvbmRhcnlJbmRleFByb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhOYW1lOiB0aGlzLmdlbmVyYXRlRGJOYW1lKGdzaS5pbmRleE5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgc29ydEtleTogZ3NpLnNvcnRLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogZ3NpLnByb2plY3Rpb25UeXBlXG5cbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBkYlRhYmxlLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KGdzaVByb3BzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGJUYWJsZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gdGFibGVzID8/IFtdO1xuICAgICAgIFxuXG4gICAgICAgXG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGR5bmFtb1RhYmxlJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB4LnRhYmxlTmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlUHJvcHMoKSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTPy5EWU5BTU8/LlRBQkxFUz8ubWFwKCh4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3A6IGFueSA9IHt9O1xuXG4gICAgICAgICAgICBwcm9wLnRhYmxlTmFtZSA9IHRoaXMuZ2VuZXJhdGVEYk5hbWUoeC50YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBwcm9wLnBhcnRpdGlvbktleSA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiB4LnByaW1hcnlLZXkubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB4LnByaW1hcnlLZXkudHlwZVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcHJvcC5iaWxsaW5nTW9kZSA9IHguYmlsbGluZ01vZGU7XG5cbiAgICAgICAgICAgIGlmICh4LnNvcnRLZXkpIHtcbiAgICAgICAgICAgICAgICBwcm9wLnNvcnRLZXkgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHguc29ydEtleS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiB4LnNvcnRLZXkudHlwZSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJvcCBhcyBUYWJsZVByb3BzO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZURiTmFtZSh0YWJsZU5hbWU6IHN0cmluZykge1xuICAgICAgICAvLyBUT0RPOiAgUmVtb3ZlIHRoaXMgbGF0ZXIgIHRhYmxlIG5hbWVzIHNob3VsZCBoYXZlIGFwcFByZWZpeFxuICAgICAgICByZXR1cm4gYCR7dGFibGVOYW1lfWA7XG4gICAgICAgIFxuICAgICAgICAvLyByZXR1cm4gYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3RhYmxlTmFtZX1gO1xuICAgIH1cbn0iXX0=
@@ -9,8 +9,6 @@ export declare class Api extends BaseResource<IRestApi> {
9
9
  private createApi;
10
10
  private createApiProps;
11
11
  private createDefaultCorsOptions;
12
- private createCustomDomain;
13
- private attachDomainToApi;
14
12
  private getZone;
15
13
  private createCertificate;
16
14
  private createARecord;
@@ -17,30 +17,46 @@ class Api extends baseResource_1.BaseResource {
17
17
  this.createdResources = this.createResource(scope);
18
18
  }
19
19
  createApi(scope) {
20
- const zone = this.getZone(this.scope, this.config);
21
- const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
22
- this.createARecord(scope, zone, api);
23
- return api;
20
+ if (this.config.DNS) {
21
+ const zone = this.getZone(this.scope, this.config);
22
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
23
+ this.createARecord(scope, zone, api);
24
+ return api;
25
+ }
26
+ else {
27
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps());
28
+ return api;
29
+ }
24
30
  }
25
31
  createApiProps(zone) {
26
- const cert = this.createCertificate(this.scope, zone, this.config);
27
- const props = {
28
- restApiName: `gs-api-${this.config.AppPrefix}-${this.config.API.Name}`,
29
- description: this.config.API.Description,
30
- domainName: {
31
- domainName: `${this.config.API.DomainPrefix}.${this.config.DNS.ZoneName}`,
32
- certificate: cert.certificate,
33
- endpointType: aws_apigateway_1.EndpointType.EDGE,
34
- securityPolicy: aws_apigateway_1.SecurityPolicy.TLS_1_2
35
- },
36
- // TODO: ADD CUSTOM DOMAIN HERE
37
- // defaultDomainMapping: {
38
- // domainName: domain,
39
- // },
40
- // domainName: '',
41
- defaultCorsPreflightOptions: this.corsOptions
42
- };
43
- return props;
32
+ if (this.config.DNS) {
33
+ const cert = this.createCertificate(this.scope, zone, this.config);
34
+ const props = {
35
+ restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
36
+ description: this.config.API.Description,
37
+ domainName: {
38
+ domainName: `${this.config.API.DomainPrefix}.${this.config.DNS.ZoneName}`,
39
+ certificate: cert.certificate,
40
+ endpointType: aws_apigateway_1.EndpointType.EDGE,
41
+ securityPolicy: aws_apigateway_1.SecurityPolicy.TLS_1_2
42
+ },
43
+ // TODO: ADD CUSTOM DOMAIN HERE
44
+ // defaultDomainMapping: {
45
+ // domainName: domain,
46
+ // },
47
+ // domainName: '',
48
+ defaultCorsPreflightOptions: this.corsOptions
49
+ };
50
+ return props;
51
+ }
52
+ else {
53
+ const props = {
54
+ restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
55
+ description: this.config.API.Description,
56
+ defaultCorsPreflightOptions: this.corsOptions
57
+ };
58
+ return props;
59
+ }
44
60
  }
45
61
  createDefaultCorsOptions() {
46
62
  const corsOptions = {
@@ -53,24 +69,24 @@ class Api extends baseResource_1.BaseResource {
53
69
  };
54
70
  return corsOptions;
55
71
  }
56
- createCustomDomain(scope, config) {
57
- const domainName = aws_apigateway_1.DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
58
- domainName: config.DNS.ZoneName,
59
- domainNameAliasHostedZoneId: config.DNS.ZoneId,
60
- domainNameAliasTarget: config.API.DomainPrefix,
61
- });
62
- return domainName;
63
- }
64
- attachDomainToApi(scope, api, domain, config) {
65
- return new aws_apigateway_1.BasePathMapping(scope, `${config.API.Name}-basePathMapping`, {
66
- domainName: domain,
67
- restApi: api,
68
- });
69
- }
72
+ // private createCustomDomain(scope: Construct, config: MicroserviceProps) {
73
+ // const domainName = DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
74
+ // domainName: config.DNS?.ZoneName,
75
+ // domainNameAliasHostedZoneId: config.DNS.ZoneId!,
76
+ // domainNameAliasTarget: config.API.DomainPrefix!,
77
+ // });
78
+ // return domainName
79
+ // }
80
+ // private attachDomainToApi(scope: Construct, api: IRestApi, domain: IDomainName, config: MicroserviceProps) {
81
+ // return new BasePathMapping(scope, `${config.API.Name}-basePathMapping`, {
82
+ // domainName: domain,
83
+ // restApi: api,
84
+ // });
85
+ // }
70
86
  getZone(scope, config) {
71
- return aws_route53_1.HostedZone.fromHostedZoneAttributes(scope, `${config.DNS.ZoneName}-zone`, {
72
- zoneName: config.DNS.ZoneName,
73
- hostedZoneId: config.DNS.ZoneId
87
+ return aws_route53_1.HostedZone.fromHostedZoneAttributes(scope, `${config.DNS?.ZoneName}-zone`, {
88
+ zoneName: config.DNS?.ZoneName,
89
+ hostedZoneId: config.DNS?.ZoneId
74
90
  });
75
91
  }
76
92
  createCertificate(scope, zone, config) {
@@ -103,4 +119,4 @@ class Api extends baseResource_1.BaseResource {
103
119
  }
104
120
  }
105
121
  exports.Api = Api;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUVyRSxNQUFhLEdBQUksU0FBUSwyQkFBc0I7SUFLM0MsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxNQUFpQjtRQUMzQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFnQjtRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELE1BQU0sR0FBRyxHQUFHLElBQUksd0JBQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFpQjtRQUVwQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxD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Q0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWTtTQUMzQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRXJDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsNENBQTRDO1FBQzVDLDhEQUE4RDtRQUU5RCwyRUFBMkU7UUFJM0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxZQUFZLENBQUksS0FBZ0IsRUFBRSxhQUFrQjtRQUMxRCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRS9CLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRTtnQkFDOUIsYUFBYTtnQkFDYixLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUc7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUFoSUQsa0JBZ0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5LCBUYWcgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEJhc2VQYXRoTWFwcGluZywgQ29ycywgQ29yc09wdGlvbnMsIERvbWFpbk5hbWUsIEVuZHBvaW50VHlwZSwgSURvbWFpbk5hbWUsIElSZXN0QXBpLCBNZXRob2RPcHRpb25zLCBSZXN0QXBpLCBSZXN0QXBpUHJvcHMsIFNlY3VyaXR5UG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5LCBBcGlHYXRld2F5RG9tYWluIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuXG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IENyZWF0ZUNlcnRpZmljYXRlIH0gZnJvbSBcIi4uL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8SVJlc3RBcGk+IHtcbiAgICBcbiAgICBwcml2YXRlIGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucztcbiAgICBcblxuICAgIGdldCBBUElzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2VzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMuY29yc09wdGlvbnMgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb3JzT3B0aW9ucygpOyAgXG4gICAgICAgIFxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaShzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUodGhpcy5zY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGlgLCB0aGlzLmNyZWF0ZUFwaVByb3BzKHpvbmUpKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUFSZWNvcmQoc2NvcGUsIHpvbmUsIGFwaSk7XG5cbiAgICAgICAgcmV0dXJuIGFwaTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaVByb3BzKHpvbmU6IElIb3N0ZWRab25lKTogUmVzdEFwaVByb3BzIHtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGNlcnQgPSB0aGlzLmNyZWF0ZUNlcnRpZmljYXRlKHRoaXMuc2NvcGUsIHpvbmUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgcmVzdEFwaU5hbWU6IGBncy1hcGktJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCwgXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgZG9tYWluTmFtZToge1xuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IGAke3RoaXMuY29uZmlnLkFQSS5Eb21haW5QcmVmaXh9LiR7dGhpcy5jb25maWcuRE5TLlpvbmVOYW1lfWAsXG4gICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IGNlcnQuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuRURHRSxcbiAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFRPRE86ICBBREQgQ1VTVE9NIERPTUFJTiBIRVJFXG4gICAgICAgICAgICAvLyBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGRvbWFpbiwgICAgICAgICAgICBcbiAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgIC8vIGRvbWFpbk5hbWU6ICcnLFxuICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGVmYXVsdENvcnNPcHRpb25zKCkge1xuXG4gICAgICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGFsbG93SGVhZGVyczogW1xuICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhbGxvd01ldGhvZHM6IENvcnMuQUxMX01FVEhPRFMsXG4gICAgICAgICAgICBhbGxvd0NyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dPcmlnaW5zOiBDb3JzLkFMTF9PUklHSU5TLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb3JzT3B0aW9ucztcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBjcmVhdGVDdXN0b21Eb21haW4oc2NvcGU6IENvbnN0cnVjdCwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBkb21haW5OYW1lID0gRG9tYWluTmFtZS5mcm9tRG9tYWluTmFtZUF0dHJpYnV0ZXMoc2NvcGUsIGAke2NvbmZpZy5BUEkuTmFtZX0tY3VzdG9tLWRvbWFpbmAsIHtcbiAgICAgICAgICAgIGRvbWFpbk5hbWU6IGNvbmZpZy5ETlMuWm9uZU5hbWUsXG4gICAgICAgICAgICBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ6IGNvbmZpZy5ETlMuWm9uZUlkISxcbiAgICAgICAgICAgIGRvbWFpbk5hbWVBbGlhc1RhcmdldDogY29uZmlnLkFQSS5Eb21haW5QcmVmaXghLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIGRvbWFpbk5hbWVcbiAgICB9XG4gICBcbiAgICBwcml2YXRlIGF0dGFjaERvbWFpblRvQXBpKHNjb3BlOiBDb25zdHJ1Y3QsIGFwaTogSVJlc3RBcGksIGRvbWFpbjogSURvbWFpbk5hbWUsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCYXNlUGF0aE1hcHBpbmcoc2NvcGUsIGAke2NvbmZpZy5BUEkuTmFtZX0tYmFzZVBhdGhNYXBwaW5nYCwge1xuICAgICAgICAgICAgZG9tYWluTmFtZTogZG9tYWluLFxuICAgICAgICAgICAgcmVzdEFwaTogYXBpLFxuICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Wm9uZShzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHJldHVybiBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkROUy5ab25lTmFtZX0tem9uZWAsIHtcbiAgICAgICAgICAgIHpvbmVOYW1lOiBjb25maWcuRE5TLlpvbmVOYW1lLFxuICAgICAgICAgICAgaG9zdGVkWm9uZUlkOiBjb25maWcuRE5TLlpvbmVJZCFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENyZWF0ZUNlcnRpZmljYXRlKHNjb3BlLCBjb25maWcsIHpvbmUpO1xuICAgICAgICByZXR1cm4gY2VydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGFwaTogUmVzdEFwaSkge1xuICAgICAgICBjb25zdCBhUmVjb3JkID0gIG5ldyBBUmVjb3JkKHNjb3BlLCBcIkFwaVJlY29yZFwiLCB7XG4gICAgICAgICAgICB6b25lLFxuICAgICAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBBcGlHYXRld2F5KGFwaSkpLFxuICAgICAgICAgICAgcmVjb3JkTmFtZTogdGhpcy5jb25maWcuQVBJLkRvbWFpblByZWZpeFxuICAgICAgICB9KTtcbiAgICAgICAgICAgIFxuICAgICAgICBhUmVjb3JkLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICByZXR1cm4gYVJlY29yZDtcbiAgICB9ICAgIFxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpIHsgICAgICAgIFxuXG4gICAgICAgIGNvbnN0IGFwaSA9IHRoaXMuY3JlYXRlQXBpKHNjb3BlKTtcbiAgICAgICAgLy8gVE9ETzogIE9OTFkgSUYgQ1VTVE9NIE1BUFBJTkcgSVMgUkVRVUlSRURcbiAgICAgICAgLy8gY29uc3QgZG9tYWluID0gdGhpcy5jcmVhdGVDdXN0b21Eb21haW4oc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAvLyBjb25zdCBtYXBwaW5nID0gdGhpcy5hdHRhY2hEb21haW5Ub0FwaShzY29wZSwgYXBpLCBkb21haW4sIHRoaXMuY29uZmlnKTtcblxuICAgICAgICBcblxuICAgICAgICByZXR1cm4gW2FwaV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgY3JlYXRlZEFzc2V0cy5mb3JFYWNoKChhcGksIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgYXBpJHtpZHh9YCwgeyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFwaS51cmxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgXG59Il19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUVyRSxNQUFhLEdBQUksU0FBUSwyQkFBc0I7SUFLM0MsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxNQUFpQjtRQUMzQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVwRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFckMsT0FBTyxHQUFHLENBQUM7U0FDZDthQUFNO1lBRUgsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFB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aEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFnQixFQUFFLElBQWlCLEVBQUUsR0FBWTtRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUM1QyxJQUFJO1lBQ0osTUFBTSxFQUFFLDBCQUFZLENBQUMsU0FBUyxDQUFDLElBQUksZ0NBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWTtTQUMzQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRXJDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsNENBQTRDO1FBQzVDLDhEQUE4RDtRQUU5RCwyRUFBMkU7UUFJM0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxZQUFZLENBQUksS0FBZ0IsRUFBRSxhQUFrQjtRQUMxRCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRS9CLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRTtnQkFDOUIsYUFBYTtnQkFDYixLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUc7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUFsSkQsa0JBa0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5LCBUYWcgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEJhc2VQYXRoTWFwcGluZywgQ29ycywgQ29yc09wdGlvbnMsIERvbWFpbk5hbWUsIEVuZHBvaW50VHlwZSwgSURvbWFpbk5hbWUsIElSZXN0QXBpLCBNZXRob2RPcHRpb25zLCBSZXN0QXBpLCBSZXN0QXBpUHJvcHMsIFNlY3VyaXR5UG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5LCBBcGlHYXRld2F5RG9tYWluIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuXG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IENyZWF0ZUNlcnRpZmljYXRlIH0gZnJvbSBcIi4uL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8SVJlc3RBcGk+IHtcblxuICAgIHByaXZhdGUgY29yc09wdGlvbnM6IENvcnNPcHRpb25zO1xuXG5cbiAgICBnZXQgQVBJcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNvcnNPcHRpb25zID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaShzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5ETlMpIHtcbiAgICAgICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUodGhpcy5zY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBhcGkgPSBuZXcgUmVzdEFwaSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LXJlc3QtYXBpYCwgdGhpcy5jcmVhdGVBcGlQcm9wcyh6b25lKSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQVJlY29yZChzY29wZSwgem9uZSwgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgY29uc3QgYXBpID0gbmV3IFJlc3RBcGkodGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS1yZXN0LWFwaWAsIHRoaXMuY3JlYXRlQXBpUHJvcHMoKSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhcGk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaVByb3BzKHpvbmU/OiBJSG9zdGVkWm9uZSk6IFJlc3RBcGlQcm9wcyB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuXG4gICAgICAgICAgICBjb25zdCBjZXJ0ID0gdGhpcy5jcmVhdGVDZXJ0aWZpY2F0ZSh0aGlzLnNjb3BlLCB6b25lISwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7dGhpcy5jb25maWcuQVBJLkRvbWFpblByZWZpeH0uJHt0aGlzLmNvbmZpZy5ETlMuWm9uZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IGNlcnQuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICAgICAgICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlLkVER0UsXG4gICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiAgQUREIENVU1RPTSBET01BSU4gSEVSRVxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGRvbWFpbiwgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZG9tYWluTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKSB7XG5cbiAgICAgICAgY29uc3QgY29yc09wdGlvbnM6IENvcnNPcHRpb25zID0ge1xuICAgICAgICAgICAgYWxsb3dIZWFkZXJzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGFsbG93TWV0aG9kczogQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgICAgIGFsbG93Q3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICBhbGxvd09yaWdpbnM6IENvcnMuQUxMX09SSUdJTlMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvcnNPcHRpb25zO1xuICAgIH1cblxuICAgIC8vIHByaXZhdGUgY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAvLyAgICAgY29uc3QgZG9tYWluTmFtZSA9IERvbWFpbk5hbWUuZnJvbURvbWFpbk5hbWVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWN1c3RvbS1kb21haW5gLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogY29uZmlnLkROUy5ab25lSWQhLFxuICAgIC8vICAgICAgICAgZG9tYWluTmFtZUFsaWFzVGFyZ2V0OiBjb25maWcuQVBJLkRvbWFpblByZWZpeCEsXG4gICAgLy8gICAgIH0pO1xuXG4gICAgLy8gICAgIHJldHVybiBkb21haW5OYW1lXG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSBhdHRhY2hEb21haW5Ub0FwaShzY29wZTogQ29uc3RydWN0LCBhcGk6IElSZXN0QXBpLCBkb21haW46IElEb21haW5OYW1lLCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgQmFzZVBhdGhNYXBwaW5nKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWJhc2VQYXRoTWFwcGluZ2AsIHtcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbixcbiAgICAvLyAgICAgICAgIHJlc3RBcGk6IGFwaSxcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBnZXRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuRE5TPy5ab25lTmFtZX0tem9uZWAsIHtcbiAgICAgICAgICAgIHpvbmVOYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSEsXG4gICAgICAgICAgICBob3N0ZWRab25lSWQ6IGNvbmZpZy5ETlM/LlpvbmVJZCFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENyZWF0ZUNlcnRpZmljYXRlKHNjb3BlLCBjb25maWcsIHpvbmUpO1xuICAgICAgICByZXR1cm4gY2VydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGFwaTogUmVzdEFwaSkge1xuICAgICAgICBjb25zdCBhUmVjb3JkID0gbmV3IEFSZWNvcmQoc2NvcGUsIFwiQXBpUmVjb3JkXCIsIHtcbiAgICAgICAgICAgIHpvbmUsXG4gICAgICAgICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IEFwaUdhdGV3YXkoYXBpKSksXG4gICAgICAgICAgICByZWNvcmROYW1lOiB0aGlzLmNvbmZpZy5BUEkuRG9tYWluUHJlZml4XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFSZWNvcmQuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIHJldHVybiBhUmVjb3JkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgY29uc3QgYXBpID0gdGhpcy5jcmVhdGVBcGkoc2NvcGUpO1xuICAgICAgICAvLyBUT0RPOiAgT05MWSBJRiBDVVNUT00gTUFQUElORyBJUyBSRVFVSVJFRFxuICAgICAgICAvLyBjb25zdCBkb21haW4gPSB0aGlzLmNyZWF0ZUN1c3RvbURvbWFpbihzY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgIC8vIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmF0dGFjaERvbWFpblRvQXBpKHNjb3BlLCBhcGksIGRvbWFpbiwgdGhpcy5jb25maWcpO1xuXG5cblxuICAgICAgICByZXR1cm4gW2FwaV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgY3JlYXRlZEFzc2V0cy5mb3JFYWNoKChhcGksIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgYXBpJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB2YWx1ZTogYXBpLnVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufSJdfQ==
@@ -46,12 +46,12 @@ class CreateMicroServiceBundle {
46
46
  if (this.secretMgr) {
47
47
  this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
48
48
  }
49
- lambdas.Lambdas.map((lambda) => {
50
- lambda.metricErrors({
51
- label: `${lambda.functionName}-errors`,
52
- period: aws_cdk_lib_1.Duration.minutes(3)
53
- });
54
- });
49
+ // lambdas.Lambdas.map((lambda) => {
50
+ // lambda.metricErrors({
51
+ // label: `${lambda.functionName}-errors`,
52
+ // period: Duration.minutes(3)
53
+ // })
54
+ // });
55
55
  this.AddRoutes(this.props, this.gatewayApi, lambdas.Lambdas, authorizer);
56
56
  }
57
57
  AssignAccessToTables(tables, lambdas) {
@@ -107,7 +107,7 @@ class CreateMicroServiceBundle {
107
107
  });
108
108
  }
109
109
  AddRoutes(props, gateway, lambdas, authorizer) {
110
- this.appConfig.lambdaConfigs?.forEach((prop) => {
110
+ props.RESOURCES.LAMBDA?.forEach((prop) => {
111
111
  const lambdaId = createLambda_1.CreateLambda.getIdForLambda(prop, this.appConfig);
112
112
  if (!lambdaId) {
113
113
  throw new Error(`Can't find lambda`);
@@ -126,4 +126,4 @@ class CreateMicroServiceBundle {
126
126
  }
127
127
  }
128
128
  exports.CreateMicroServiceBundle = CreateMicroServiceBundle;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFNMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBWSxLQUFnQixFQUNQLFVBQW9CLEVBQ3BCLEtBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFNBQW1CLEVBQ25CLE1BQXVCO1FBTHZCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFHeEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25HLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQjtRQUczQixJQUFJLFVBQVUsR0FBOEIsU0FBUyxDQUFDO1FBRXRELG9CQUFvQjtRQUNwQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixVQUFVLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFXLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDekcsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxpQkFBaUI7UUFDakIsTUFBTSxVQUFVLEdBQW1CO1lBQy9CLEtBQUs7WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM1QixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO1FBRUQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakc7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUNaLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLFNBQVM7Z0JBQ3RDLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFFbEMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFlLEVBQUUsT0FBeUI7UUFFbkUsSUFBSSxNQUFNLEVBQUU7WUFDUixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBRTdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFzQixFQUFFLEVBQUU7b0JBRXZDLHlDQUF5QztvQkFDekMsMEJBQTBCO29CQUMxQixtQ0FBbUM7b0JBRW5DLGVBQWU7b0JBQ2YsTUFBTSxDQUFDLGVBQWUsQ0FDbEIsSUFBSSx5QkFBZSxDQUFDO3dCQUNoQixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO3dCQUNwQixPQUFPLEVBQUUsNkJBQWMsQ0FBQyxnQkFBZ0I7d0JBQ3hDLFNBQVMsRUFBRTs0QkFDUCxLQUFLLENBQUMsUUFBUTs0QkFDZCxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxxREFBcUQ7eUJBQy9FO3FCQUNKLENBQUMsQ0FDTCxDQUFDO2dCQUlOLENBQUMsQ0FBQyxDQUFDO1lBRVAsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLFNBQTBDLEVBQUUsT0FBeUI7UUFFbkgsSUFBSSxTQUFTLEVBQUU7WUFDWCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBMkIsRUFBRSxFQUFFO2dCQUU5QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUN2RTtxQkFDSTtvQkFDRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDL0Q7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLEtBQWdCLEVBQUUsUUFBMkIsRUFBRSxPQUF5QjtRQUNqSCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBRXZDLElBQUksUUFBUSxHQUFHLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUUsS0FBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ3pILElBQUksU0FBUyxHQUFHLElBQUkseUJBQWUsQ0FBQztnQkFDaEMsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztnQkFDcEIsU0FBUyxFQUFFO29CQUNQLFFBQVE7b0JBQ1IsUUFBUSxHQUFHLFVBQVU7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRSw2QkFBYyxDQUFDLGdCQUFnQjthQUMzQyxDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDRCQUE0QixDQUFDLEtBQWdCLEVBQUUsUUFBMkIsRUFBRSxPQUF5QjtRQUN6RyxJQUFJLEtBQUssR0FBVyxvQkFBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtZQUN2QyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQXdCLEVBQ3RDLE9BQWlCLEVBQ2pCLE9BQXlCLEVBQ3pCLFVBQTRCO1FBRTVCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUUxRCxNQUFNLFFBQVEsR0FBRywyQkFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRW5FLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBRTdELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2FBQ3hEO1lBRUQscUJBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sMkJBQTJCLENBQUMsTUFBZSxFQUFFLE9BQXlCO1FBRTFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQztDQUVKO0FBMUtELDREQTBLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXN0QXBpLCBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElUYWJsZSwgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRzZ0R5bmFtb1RhYmxlUmVmLCBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVBdXRob3JpemVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgUm91dGVzIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlUm91dGVzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGEgfSBmcm9tIFwiLi4vbGFtYmRhL2NyZWF0ZUxhbWJkYVwiO1xuaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDcmVhdGVEeW5hbW9EYiB9IGZyb20gXCIuLi9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IE1ldHJpY09wdGlvbnMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSB7XG4gICAgXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZVJlZnM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVBdXRob3JpemVyOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZ2F0ZXdheUFwaTogSVJlc3RBcGksIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgICAgICAgIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlcz86IFRhYmxlW10sIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3JldE1ncj86IElTZWNyZXQsIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxheWVycz86IExheWVyVmVyc2lvbltdLCAgICAgICAgXG4gICAgICAgICkge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVSZWZzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlM/Lmxlbmd0aCA/PyAwID4gMCkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAocHJvcHMuUkVTT1VSQ0VTLkFVVEhPUklaRVIpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm9uSW5pdChzY29wZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIFxuICAgICAgICBsZXQgYXV0aG9yaXplcjogVG9rZW5BdXRob3JpemVyfHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBDcmVhdGUgQXV0aG9yaXplclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplcikge1xuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBDcmVhdGVBdXRob3JpemVyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgdGhpcy5wcm9wcy5SRVNPVVJDRVMuQVVUSE9SSVpFUiEpLkp3dEF1dGhvcml6ZXI7XG4gICAgICAgICAgICBhdXRob3JpemVyLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpOyAgIFxuICAgICAgICAgICAgYXV0aG9yaXplci5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gQ3JlYXRlIExhbWJkYXNcbiAgICAgICAgY29uc3QgbGFtYmRhUHJvcDogVHNnTGFtYmRhUHJvcHMgPSB7XG4gICAgICAgICAgICBzY29wZSxcbiAgICAgICAgICAgIHByb3A6IHRoaXMucHJvcHMsICAgICAgICAgICAgXG4gICAgICAgICAgICBsYXllcnM6IHRoaXMubGF5ZXJzLFxuICAgICAgICAgICAgYXBwQ29uZmlnOiB0aGlzLmFwcENvbmZpZ1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKGxhbWJkYVByb3AsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICBpZiAodGhpcy50YWJsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9UYWJsZXModGhpcy50YWJsZXMsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC8vIEFsbG93IGFjY2VzcyB0byBleGlzdGluZyB0YWJsZXNcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlUmVmcykge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1RhYmxlUmVmcyhzY29wZSwgdGhpcy5wcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRV9SRUZTLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VjcmV0TWdyKSB7XG4gICAgICAgICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvU2VjcmV0TWFuYWdlcih0aGlzLnNlY3JldE1nciwgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgbGFtYmRhcy5MYW1iZGFzLm1hcCgobGFtYmRhKSA9PiB7XG4gICAgICAgICAgICBsYW1iZGEubWV0cmljRXJyb3JzKHsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgJHtsYW1iZGEuZnVuY3Rpb25OYW1lfS1lcnJvcnNgLCBcbiAgICAgICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMucHJvcHMsIHRoaXMuZ2F0ZXdheUFwaSwgbGFtYmRhcy5MYW1iZGFzLCBhdXRob3JpemVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogVGFibGVbXSwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGlmICh0YWJsZXMpIHtcbiAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyAgVGhpcyBpcyBhIENESyBidWc6IEl0IGRvZXNuJ3QgcHJvdmlkZVxuICAgICAgICAgICAgICAgICAgICAvLyAgYWNjZXNzIHRvIHRoZSBpbmRleGVzLlxuICAgICAgICAgICAgICAgICAgICAvL3RhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vICBXb3JrYXJvdW5kOlxuICAgICAgICAgICAgICAgICAgICBsYW1iZGEuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogQ3JlYXRlRHluYW1vRGIuUmVhZFdyaXRlQWN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUudGFibGVBcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RhYmxlLnRhYmxlQXJufS8qYCwgLy8gVGhpcyBpcyBub3QgcmVjb2duaXplZCBieSBjZGssIGJ1dCB0YWJsZSBpcy4gIHdoeT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1RhYmxlUmVmcyhzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZnM6IFRzZ0R5bmFtb1RhYmxlUmVmW10gfCB1bmRlZmluZWQsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVSZWZzKSB7XG4gICAgICAgICAgICB0YWJsZVJlZnMuZm9yRWFjaCgodGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBpZiAodGFibGVSZWYucmVnaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZUluUmVnaW9uKHNjb3BlLCB0YWJsZVJlZiwgbGFtYmRhcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGUoc2NvcGUsIHRhYmxlUmVmLCBsYW1iZGFzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZUluUmVnaW9uKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZiwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgbGV0IHRhYmxlQXJuID0gXCJhcm46YXdzOmR5bmFtb2RiOlwiICsgdGFibGVSZWYucmVnaW9uICsgXCI6XCIgKyAoKHNjb3BlIGFzIFN0YWNrKS5hY2NvdW50KSArIFwiOnRhYmxlL1wiICsgdGFibGVSZWYudGFibGVOYW1lO1xuICAgICAgICAgICAgbGV0IHN0YXRlbWVudCA9IG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgICAgICB0YWJsZUFybixcbiAgICAgICAgICAgICAgICAgICAgdGFibGVBcm4gKyBcIi9pbmRleC8qXCIsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBDcmVhdGVEeW5hbW9EYi5SZWFkV3JpdGVBY3Rpb25zLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxhbWJkYS5yb2xlPy5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZShzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcbiAgICAgICAgbGV0IHRhYmxlOiBJVGFibGUgPSBUYWJsZS5mcm9tVGFibGVOYW1lKHNjb3BlLCB0YWJsZVJlZi50YWJsZU5hbWUsIHRhYmxlUmVmLnRhYmxlTmFtZSk7XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKVxuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgQWRkUm91dGVzKHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLCBcbiAgICAgICAgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSwgXG4gICAgICAgIGF1dGhvcml6ZXI/OiBUb2tlbkF1dGhvcml6ZXIpIHtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZy5sYW1iZGFDb25maWdzPy5mb3JFYWNoKChwcm9wOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKHByb3AsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFJZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBsYW1iZGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYU5vZGUgPSBsYW1iZGFzLmZpbmQoeCA9PiB4Lm5vZGUuaWQgPT09IGxhbWJkYUlkKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFOb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZmluZCB0aGUgTGFtYmRhIEludGVncmF0aW9uXCIpOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUm91dGVzLmNyZWF0ZVJlc291cmNlKHByb3AsIGdhdGV3YXksIGxhbWJkYU5vZGUsIGF1dGhvcml6ZXIpO1xuICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1NlY3JldE1hbmFnZXIoc2VjcmV0OiBJU2VjcmV0LCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHNlY3JldC5ncmFudFJlYWQobGFtYmRhKTtcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgfVxuXG59Il19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFNMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBWSxLQUFnQixFQUNQLFVBQW9CLEVBQ3BCLEtBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFNBQW1CLEVBQ25CLE1BQXVCO1FBTHZCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFHeEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25HLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQjtRQUczQixJQUFJLFVBQVUsR0FBOEIsU0FBUyxDQUFDO1FBRXRELG9CQUFvQjtRQUNwQixJ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QUU7WUFFcEQsTUFBTSxRQUFRLEdBQUcsMkJBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN4QztZQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUU3RCxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQzthQUN4RDtZQUVELHFCQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE1BQWUsRUFBRSxPQUF5QjtRQUUxRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7Q0FFSjtBQTFLRCw0REEwS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJVGFibGUsIFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9UYWJsZVJlZiwgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3BzIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGFQcm9wc1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlQXV0aG9yaXplciB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vZHluYW1vZGIvQ3JlYXRlRHluYW1vXCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGUge1xuICAgIFxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVSZWZzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdhdGV3YXlBcGk6IElSZXN0QXBpLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsICAgICAgICBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZXM/OiBUYWJsZVtdLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNZ3I/OiBJU2VjcmV0LCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsYXllcnM/OiBMYXllclZlcnNpb25bXSwgICAgICAgIFxuICAgICAgICApIHtcbiAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlUmVmcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRV9SRUZTPy5sZW5ndGggPz8gMCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLnJlcXVpcmVBdXRob3JpemVyID0gKHByb3BzLlJFU09VUkNFUy5BVVRIT1JJWkVSKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkluaXQoc2NvcGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBcbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplcnx1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgQ3JlYXRlQXV0aG9yaXplcihzY29wZSwgdGhpcy5hcHBDb25maWcsIHRoaXMucHJvcHMuUkVTT1VSQ0VTLkFVVEhPUklaRVIhKS5Kd3RBdXRob3JpemVyO1xuICAgICAgICAgICAgYXV0aG9yaXplci5fYXR0YWNoVG9BcGkodGhpcy5nYXRld2F5QXBpKTsgICBcbiAgICAgICAgICAgIGF1dGhvcml6ZXIuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3BzID0ge1xuICAgICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgICBwcm9wOiB0aGlzLnByb3BzLCAgICAgICAgICAgIFxuICAgICAgICAgICAgbGF5ZXJzOiB0aGlzLmxheWVycyxcbiAgICAgICAgICAgIGFwcENvbmZpZzogdGhpcy5hcHBDb25maWdcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBsYW1iZGFzID0gbmV3IENyZWF0ZUxhbWJkYShsYW1iZGFQcm9wLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBBbGxvdyBhY2Nlc3MgdG8gZXhpc3RpbmcgdGFibGVzXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZVJlZnMpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9UYWJsZVJlZnMoc2NvcGUsIHRoaXMucHJvcHMuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVfUkVGUywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlY3JldE1ncikge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1NlY3JldE1hbmFnZXIodGhpcy5zZWNyZXRNZ3IsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC8vIGxhbWJkYXMuTGFtYmRhcy5tYXAoKGxhbWJkYSkgPT4ge1xuICAgICAgICAvLyAgICAgbGFtYmRhLm1ldHJpY0Vycm9ycyh7ICAgICAgICAgICAgICAgIFxuICAgICAgICAvLyAgICAgICAgICAgICBsYWJlbDogYCR7bGFtYmRhLmZ1bmN0aW9uTmFtZX0tZXJyb3JzYCwgXG4gICAgICAgIC8vICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgIC8vICAgICB9KVxuICAgICAgICAvLyB9KTtcblxuICAgICAgICB0aGlzLkFkZFJvdXRlcyh0aGlzLnByb3BzLCB0aGlzLmdhdGV3YXlBcGksIGxhbWJkYXMuTGFtYmRhcywgYXV0aG9yaXplcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1RhYmxlcyh0YWJsZXM6IFRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IElUYWJsZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gIFRoaXMgaXMgYSBDREsgYnVnOiBJdCBkb2Vzbid0IHByb3ZpZGVcbiAgICAgICAgICAgICAgICAgICAgLy8gIGFjY2VzcyB0byB0aGUgaW5kZXhlcy5cbiAgICAgICAgICAgICAgICAgICAgLy90YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyAgV29ya2Fyb3VuZDpcbiAgICAgICAgICAgICAgICAgICAgbGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IENyZWF0ZUR5bmFtb0RiLlJlYWRXcml0ZUFjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlLnRhYmxlQXJuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0YWJsZS50YWJsZUFybn0vKmAsIC8vIFRoaXMgaXMgbm90IHJlY29nbml6ZWQgYnkgY2RrLCBidXQgdGFibGUgaXMuICB3aHk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduQWNjZXNzVG9UYWJsZVJlZnMoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWZzOiBUc2dEeW5hbW9UYWJsZVJlZltdIHwgdW5kZWZpbmVkLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlUmVmcykge1xuICAgICAgICAgICAgdGFibGVSZWZzLmZvckVhY2goKHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZikgPT4ge1xuXG4gICAgICAgICAgICAgICAgaWYgKHRhYmxlUmVmLnJlZ2lvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGVJblJlZ2lvbihzY29wZSwgdGFibGVSZWYsIGxhbWJkYXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Bc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlKHNjb3BlLCB0YWJsZVJlZiwgbGFtYmRhcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGVJblJlZ2lvbihzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgIGxldCB0YWJsZUFybiA9IFwiYXJuOmF3czpkeW5hbW9kYjpcIiArIHRhYmxlUmVmLnJlZ2lvbiArIFwiOlwiICsgKChzY29wZSBhcyBTdGFjaykuYWNjb3VudCkgKyBcIjp0YWJsZS9cIiArIHRhYmxlUmVmLnRhYmxlTmFtZTtcbiAgICAgICAgICAgIGxldCBzdGF0ZW1lbnQgPSBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVBcm4sXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQXJuICsgXCIvaW5kZXgvKlwiLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYWN0aW9uczogQ3JlYXRlRHluYW1vRGIuUmVhZFdyaXRlQWN0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsYW1iZGEucm9sZT8uYWRkVG9QcmluY2lwYWxQb2xpY3koc3RhdGVtZW50KTtcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG4gICAgICAgIGxldCB0YWJsZTogSVRhYmxlID0gVGFibGUuZnJvbVRhYmxlTmFtZShzY29wZSwgdGFibGVSZWYudGFibGVOYW1lLCB0YWJsZVJlZi50YWJsZU5hbWUpO1xuXG4gICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhOiBOb2RlanNGdW5jdGlvbikgPT4ge1xuICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSlcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFkZFJvdXRlcyhwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsIFxuICAgICAgICBnYXRld2F5OiBJUmVzdEFwaSwgXG4gICAgICAgIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10sIFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyKSB7XG5cbiAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQT8uZm9yRWFjaCgocHJvcDogVHNnTGFtYmRhUHJvcCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBsYW1iZGFJZCA9IENyZWF0ZUxhbWJkYS5nZXRJZEZvckxhbWJkYShwcm9wLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIGlmICghbGFtYmRhSWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgbGFtYmRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsYW1iZGFOb2RlID0gbGFtYmRhcy5maW5kKHggPT4geC5ub2RlLmlkID09PSBsYW1iZGFJZCk7XG5cbiAgICAgICAgICAgIGlmICghbGFtYmRhTm9kZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGZpbmQgdGhlIExhbWJkYSBJbnRlZ3JhdGlvblwiKTsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduQWNjZXNzVG9TZWNyZXRNYW5hZ2VyKHNlY3JldDogSVNlY3JldCwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBzZWNyZXQuZ3JhbnRSZWFkKGxhbWJkYSk7XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgIH1cblxufSJdfQ==
@@ -38,6 +38,9 @@ class CreateLambda extends baseResource_1.BaseResource {
38
38
  let lambdaProps = this.createLambdaProps(config, role, layers);
39
39
  const lambdaId = CreateLambda.getIdForLambda(config, this.config);
40
40
  let fctn = new aws_lambda_nodejs_1.NodejsFunction(scope, lambdaId, lambdaProps);
41
+ if (lambdaId === fctn.node.id) {
42
+ console.log(`found Lambda for : ${fctn.node.id}`);
43
+ }
41
44
  // If we have managed policies, we add them.
42
45
  if (config.managedPolicies && config.managedPolicies?.length > 0) {
43
46
  this.assignManagedPolicies(fctn, config.managedPolicies);
@@ -72,11 +75,11 @@ class CreateLambda extends baseResource_1.BaseResource {
72
75
  minify: false,
73
76
  target: 'es2020',
74
77
  sourceMap: true,
75
- sourceMapMode: aws_lambda_nodejs_1.SourceMapMode.INLINE,
78
+ sourceMapMode: aws_lambda_nodejs_1.SourceMapMode.EXTERNAL,
76
79
  environment: prop.environment || prop.environment,
77
80
  },
78
81
  role,
79
- layers
82
+ //layers
80
83
  };
81
84
  return lambdaProp;
82
85
  }
@@ -131,4 +134,4 @@ class CreateLambda extends baseResource_1.BaseResource {
131
134
  }
132
135
  }
133
136
  exports.CreateLambda = CreateLambda;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFDckYsaURBQTJEO0FBRTNELHFFQUFtRztBQUVuRyw2QkFBNkI7QUFNN0IsdURBQW9EO0FBR3BELE1BQWEsWUFBYSxTQUFRLDJCQUE0QjtJQUsxRCxZQUFvQixLQUFxQixFQUFFLE1BQWlCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRFgsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFIbEMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFNbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUU3QixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsS0FB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Q0FBQztJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQXlCLEVBQUUsU0FBb0I7UUFDeEUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JFLENBQUM7Q0FDSjtBQXZLRCxvQ0F1S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IEFsYXJtLCBDb21wYXJpc29uT3BlcmF0b3IsIElBbGFybUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHsgSVJvbGUsIE1hbmFnZWRQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uLCBOb2RlanNGdW5jdGlvblByb3BzLCBTb3VyY2VNYXBNb2RlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlc1wiO1xuXG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXMvVHNnTGFtYmRhUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZUxhbWJkYUZ1bmN0aW9uSW5wdXQgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9DcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0XCI7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTGFtYmRhIGV4dGVuZHMgQmFzZVJlc291cmNlPE5vZGVqc0Z1bmN0aW9uPiB7XG5cbiAgICBwdWJsaWMgTGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuICAgIFxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wczogVHNnTGFtYmRhUHJvcHMsIGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKHByb3BzLnNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2UocHJvcHMuc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuTGFtYmRhcyA9IFsuLi5yZXNvdXJjZXNdO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlQWxhcm1zRm9yTGFtYmRhcyh0aGlzLkxhbWJkYXMpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXQocHJvcHMuc2NvcGUsIHJlc291cmNlcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBOb2RlanNGdW5jdGlvbltdIHtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNyZWF0ZUxhbWJkYXModGhpcy5wcm9wcyk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIGNyZWF0ZWRBc3NldHMuZm9yRWFjaCgoeCwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBsYW1iZGEtJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5mdW5jdGlvbk5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYXMocHJvcHM6IFRzZ0xhbWJkYVByb3BzKTogTm9kZWpzRnVuY3Rpb25bXSB7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBjcmVhdGVkTGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IHRoaXMuY3JlYXRlTGFtYmRhRnVuY3Rpb25zKHRoaXMuc2NvcGUsIHByb3BzLnJvbGUsIHByb3BzLmxheWVycyk7XG5cbiAgICAgICAgcmV0dXJuIGNyZWF0ZWRMYW1iZGFzO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFtYmRhRnVuY3Rpb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10pIHtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRMYW1iZGFzID0gdGhpcy5wcm9wcy5wcm9wLlJFU09VUkNFUy5MQU1CREEubWFwKChjb25maWc6VHNnTGFtYmRhUHJvcCkgPT4ge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBsZXQgbGFtYmRhUHJvcHMgPSB0aGlzLmNyZWF0ZUxhbWJkYVByb3BzKGNvbmZpZywgcm9sZSwgbGF5ZXJzKTtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEoY29uZmlnLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICBsZXQgZmN0biA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgbGFtYmRhSWQsIGxhbWJkYVByb3BzKTtcblxuICAgICAgICAgICAgLy8gIElmIHdlIGhhdmUgbWFuYWdlZCBwb2xpY2llcywgd2UgYWRkIHRoZW0uXG4gICAgICAgICAgICBpZiAoY29uZmlnLm1hbmFnZWRQb2xpY2llcyAmJiBjb25maWcubWFuYWdlZFBvbGljaWVzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5hc3NpZ25NYW5hZ2VkUG9saWNpZXMoZmN0biwgY29uZmlnLm1hbmFnZWRQb2xpY2llcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmY3RuO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gY3JlYXRlZExhbWJkYXMgfHwgW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFQcm9wcyhwcm9wOiBUc2dMYW1iZGFQcm9wLCByb2xlPzogSVJvbGUsIGxheWVycz86IExheWVyVmVyc2lvbltdLCBwcm9wcz86IFRzZ0xhbWJkYVByb3BzKSB7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTGFtYmRhRnVuY3Rpb25Qcm9wcyh7XG4gICAgICAgICAgICBwcm9wLCBcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICBsYXllcnMsIFxuICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHByb3BzOiBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgcHJvcCwgcm9sZSwgbGF5ZXJzIH0gPSBwcm9wcztcblxuICAgICAgICBjb25zb2xlLmxvZyhgZnVuY3Rpb24gTmFtZTogJHt0aGlzLnByb3BzLmFwcENvbmZpZy5BcHBQcmVmaXh9LSR7cHJvcC5uYW1lfWApO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYVByb3A6IE5vZGVqc0Z1bmN0aW9uUHJvcHMgPSB7XG4gICAgICAgICAgICBlbnRyeTogcGF0aC5qb2luKHByb3AuY29kZVBhdGgpLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiBgJHt0aGlzLnByb3BzLmFwcENvbmZpZy5BcHBQcmVmaXh9LSR7cHJvcC5uYW1lfWAsXG4gICAgICAgICAgICBoYW5kbGVyOiBwcm9wLmhhbmRsZXIsXG4gICAgICAgICAgICBydW50aW1lOiBwcm9wLnJ1bnRpbWUgfHwgdGhpcy5jb25maWcuR0xPQkFMUy5zdGFja1J1bnRpbWUsXG4gICAgICAgICAgICB0aW1lb3V0OiBwcm9wLmR1cmF0aW9uIHx8IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICAgICAgICBtZW1vcnlTaXplOiBwcm9wLm1lbW9yeSB8fCA1MTIsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIFwiVkVSQk9TRV9MT0dHSU5HXCI6IFwidHJ1ZVwiLCAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuLi5wcm9wLmVudmlyb25tZW50XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgICAgICAgICBtaW5pZnk6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHRhcmdldDogJ2VzMjAyMCcsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcE1vZGU6IFNvdXJjZU1hcE1vZGUuSU5MSU5FLFxuICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBwcm9wLmVudmlyb25tZW50IHx8IHByb3AuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVyc1xuXG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGxhbWJkYVByb3A7XG4gICAgfTtcblxuICAgIHByaXZhdGUgYXNzaWduTWFuYWdlZFBvbGljaWVzKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sIG1hbmFnZWRQb2xpY3lOYW1lczogc3RyaW5nW10pIHtcblxuICAgICAgICBtYW5hZ2VkUG9saWN5TmFtZXMuZm9yRWFjaCgobWFuYWdlZFBvbGljeU5hbWU6IHN0cmluZykgPT4ge1xuXG4gICAgICAgICAgICBsZXQgcG9saWN5ID0gTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUobWFuYWdlZFBvbGljeU5hbWUpO1xuXG4gICAgICAgICAgICBsYW1iZGEucm9sZT8uYWRkTWFuYWdlZFBvbGljeShwb2xpY3kpO1xuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQWxhcm1zRm9yTGFtYmRhcyhsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7ICAgICAgICBcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWV0cmljID0gbGFtYmRhLm1ldHJpY0Vycm9ycyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0R1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25NZXRyaWMgPSBsYW1iZGEubWV0cmljSW52b2NhdGlvbnMoe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSwgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMucHJvcHMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWVycm9yLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogNSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1lcnJvci1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZXcgQWxhcm0odGhpcy5wcm9wcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0tZHVyYXRpb24tYWxhcm1gLCB7XG4gICAgICAgICAgICAgICAgbWV0cmljOiBkdXJhdGlvbk1ldHJpYywgXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0gZHVyYXRpb24gZXJyb3JzIG92ZXIgMyBtaW4gcGVyaW9kYCxcbiAgICAgICAgICAgICAgICBhbGFybU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWR1cmF0aW9uLWFsYXJtYFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25BbGFybSA9IG5ldyBBbGFybSh0aGlzLnByb3BzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMTAwMCxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLU1ldHJpYy1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBhbGFybUFjdGlvbjogSUFsYXJtQWN0aW9uID0ge307XG4gICAgICAgICAgICAvLyBpbnZvY2F0aW9uQWxhcm0uYWRkQWxhcm1BY3Rpb24oYWxhcm1BY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldElkRm9yTGFtYmRhKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3AsIGFwcENvbmZpZzogQXBwQ29uZmlnKSB7ICAgICAgIFxuICAgICAgICByZXR1cm4gYCR7YXBwQ29uZmlnLkFwcFByZWZpeH0tJHtsYW1iZGFQcm9wLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbn0iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFDckYsaURBQTJEO0FBRTNELHFFQUFtRztBQUVuRyw2QkFBNkI7QUFNN0IsdURBQW9EO0FBR3BELE1BQWEsWUFBYSxTQUFRLDJCQUE0QjtJQUsxRCxZQUFvQixLQUFxQixFQUFFLE1BQWlCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRFgsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFIbEMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFNbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUU3QixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsS0FB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RywyQkFBMkI7Z0JBQzVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEdBQUcsMEJBQTBCO2FBQ3ZFLENBQUMsQ0FBQztZQUVILHdDQUF3QztZQUN4QywrQ0FBK0M7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUF5QixFQUFFLFNBQW9CO1FBQ3hFLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0NBQ0o7QUE1S0Qsb0NBNEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBJQWxhcm1BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IElSb2xlLCBNYW5hZ2VkUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUxhbWJkYSBleHRlbmRzIEJhc2VSZXNvdXJjZTxOb2RlanNGdW5jdGlvbj4ge1xuXG4gICAgcHVibGljIExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcbiAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcHM6IFRzZ0xhbWJkYVByb3BzLCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihwcm9wcy5zY29wZSwgY29uZmlnKTtcblxuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHByb3BzLnNjb3BlKTtcblxuICAgICAgICB0aGlzLkxhbWJkYXMgPSBbLi4ucmVzb3VyY2VzXTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUFsYXJtc0ZvckxhbWJkYXModGhpcy5MYW1iZGFzKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHByb3BzLnNjb3BlLCByZXNvdXJjZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogTm9kZWpzRnVuY3Rpb25bXSB7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jcmVhdGVMYW1iZGFzKHRoaXMucHJvcHMpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgbGFtYmRhLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IHguZnVuY3Rpb25OYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFzKHByb3BzOiBUc2dMYW1iZGFQcm9wcyk6IE5vZGVqc0Z1bmN0aW9uW10ge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyh0aGlzLnNjb3BlLCBwcm9wcy5yb2xlLCBwcm9wcy5sYXllcnMpO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyhzY29wZTogQ29uc3RydWN0LCByb2xlPzogSVJvbGUsIGxheWVycz86IExheWVyVmVyc2lvbltdKSB7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBjcmVhdGVkTGFtYmRhcyA9IHRoaXMucHJvcHMucHJvcC5SRVNPVVJDRVMuTEFNQkRBLm1hcCgoY29uZmlnOlRzZ0xhbWJkYVByb3ApID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGV0IGxhbWJkYVByb3BzID0gdGhpcy5jcmVhdGVMYW1iZGFQcm9wcyhjb25maWcsIHJvbGUsIGxheWVycyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKGNvbmZpZywgdGhpcy5jb25maWcpO1xuICAgICAgICAgICAgbGV0IGZjdG4gPSBuZXcgTm9kZWpzRnVuY3Rpb24oc2NvcGUsIGxhbWJkYUlkLCBsYW1iZGFQcm9wcyk7XG5cbiAgICAgICAgICAgIGlmIChsYW1iZGFJZCA9PT0gZmN0bi5ub2RlLmlkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGZvdW5kIExhbWJkYSBmb3IgOiAke2ZjdG4ubm9kZS5pZH1gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyAgSWYgd2UgaGF2ZSBtYW5hZ2VkIHBvbGljaWVzLCB3ZSBhZGQgdGhlbS5cbiAgICAgICAgICAgIGlmIChjb25maWcubWFuYWdlZFBvbGljaWVzICYmIGNvbmZpZy5tYW5hZ2VkUG9saWNpZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbk1hbmFnZWRQb2xpY2llcyhmY3RuLCBjb25maWcubWFuYWdlZFBvbGljaWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsIFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVycywgXG4gICAgICAgICAgICBwcm9wc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9uUHJvcHMocHJvcHM6IENyZWF0ZUxhbWJkYUZ1bmN0aW9uSW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wLCByb2xlLCBsYXllcnMgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGBmdW5jdGlvbiBOYW1lOiAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCk7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICAgICAgICAgIGVudHJ5OiBwYXRoLmpvaW4ocHJvcC5jb2RlUGF0aCksXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6IGAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCxcbiAgICAgICAgICAgIGhhbmRsZXI6IHByb3AuaGFuZGxlcixcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCB0aGlzLmNvbmZpZy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC4uLnByb3AuZW52aXJvbm1lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgICAgICAgIG1pbmlmeTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnZXMyMDIwJyxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogcHJvcC5lbnZpcm9ubWVudCB8fCBwcm9wLmVudmlyb25tZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICAvL2xheWVyc1xuXG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGxhbWJkYVByb3A7XG4gICAgfTtcblxuICAgIHByaXZhdGUgYXNzaWduTWFuYWdlZFBvbGljaWVzKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sIG1hbmFnZWRQb2xpY3lOYW1lczogc3RyaW5nW10pIHtcblxuICAgICAgICBtYW5hZ2VkUG9saWN5TmFtZXMuZm9yRWFjaCgobWFuYWdlZFBvbGljeU5hbWU6IHN0cmluZykgPT4ge1xuXG4gICAgICAgICAgICBsZXQgcG9saWN5ID0gTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUobWFuYWdlZFBvbGljeU5hbWUpO1xuXG4gICAgICAgICAgICBsYW1iZGEucm9sZT8uYWRkTWFuYWdlZFBvbGljeShwb2xpY3kpO1xuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQWxhcm1zRm9yTGFtYmRhcyhsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7ICAgICAgICBcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWV0cmljID0gbGFtYmRhLm1ldHJpY0Vycm9ycyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0R1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25NZXRyaWMgPSBsYW1iZGEubWV0cmljSW52b2NhdGlvbnMoe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSwgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMucHJvcHMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWVycm9yLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogNSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1lcnJvci1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZXcgQWxhcm0odGhpcy5wcm9wcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0tZHVyYXRpb24tYWxhcm1gLCB7XG4gICAgICAgICAgICAgICAgbWV0cmljOiBkdXJhdGlvbk1ldHJpYywgXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0gZHVyYXRpb24gZXJyb3JzIG92ZXIgMyBtaW4gcGVyaW9kYCxcbiAgICAgICAgICAgICAgICBhbGFybU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWR1cmF0aW9uLWFsYXJtYFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25BbGFybSA9IG5ldyBBbGFybSh0aGlzLnByb3BzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMTAwMCxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLU1ldHJpYy1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBhbGFybUFjdGlvbjogSUFsYXJtQWN0aW9uID0ge307XG4gICAgICAgICAgICAvLyBpbnZvY2F0aW9uQWxhcm0uYWRkQWxhcm1BY3Rpb24oYWxhcm1BY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldElkRm9yTGFtYmRhKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3AsIGFwcENvbmZpZzogQXBwQ29uZmlnKSB7ICAgICAgIFxuICAgICAgICByZXR1cm4gYCR7YXBwQ29uZmlnLkFwcFByZWZpeH0tJHtsYW1iZGFQcm9wLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -13,7 +13,7 @@ export class AppConfig implements IAppConfig {
13
13
  public API: ApiAppConfig;
14
14
  public GLOBALS: GlobalAppConfig;
15
15
  public RESOURCES: ResourceAppConfig;
16
- public DNS: TsgDnsAppConfig;
16
+ public DNS?: TsgDnsAppConfig;
17
17
 
18
18
 
19
19
  public lambdaConfigs: TsgLambdaProp[];
@@ -62,7 +62,7 @@ export class AppConfig implements IAppConfig {
62
62
  };
63
63
 
64
64
  this.DNS = {
65
- ...config.DNS
65
+ ...config.DNS!
66
66
  };
67
67
  }
68
68
  // this.lambdaConfigs = this.expandProps<TsgLambdaName, TsgLambdaProp>(this.RESOURCES.LAMBDA!);
@@ -9,5 +9,5 @@ export interface IAppConfig {
9
9
  GLOBALS: GlobalAppConfig;
10
10
  API?: ApiAppConfig;
11
11
  RESOURCES: ResourceAppConfig;
12
- DNS: TsgDnsAppConfig;
12
+ DNS?: TsgDnsAppConfig;
13
13
  }
@@ -58,6 +58,8 @@ export class MicroService extends Construct {
58
58
  const result = new CreateMicroServiceBundle(scope,
59
59
  gateway[0], props, this.appConfig, tables, secretMgr, layers);
60
60
  // });
61
+
62
+
61
63
  }
62
64
 
63
65
  protected createTag(scope: Construct) {
@@ -7,5 +7,5 @@ export interface MicroserviceProps {
7
7
  API: ApiAppConfig;
8
8
  GLOBALS: GlobalAppConfig;
9
9
  RESOURCES: ResourceAppConfig;
10
- DNS: TsgDnsAppConfig;
10
+ DNS?: TsgDnsAppConfig;
11
11
  }
@@ -27,11 +27,11 @@ export class CreateCertificate {
27
27
 
28
28
  const appType = "spa-app";
29
29
 
30
- const cert = new Certificate(scope, `${props.DNS.ZoneNameWithoutPeriod}-${appType}-certificate`, {
31
- domainName: `${props.API.DomainPrefix}.${props.DNS.ZoneName}`,
32
- subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS.ZoneName}`],
30
+ const cert = new Certificate(scope, `${props.DNS?.ZoneNameWithoutPeriod}-${appType}-certificate`, {
31
+ domainName: `${props.API.DomainPrefix}.${props.DNS?.ZoneName}`,
32
+ subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`],
33
33
  validation: CertificateValidation.fromDnsMultiZone({
34
- [`${props.API.DomainPrefix}.${props.DNS.ZoneName}`] : hostedZone ,
34
+ [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`] : hostedZone ,
35
35
  }),
36
36
  });
37
37
 
@@ -1,5 +1,5 @@
1
1
  import { CfnOutput, RemovalPolicy } from "aws-cdk-lib";
2
- import { GlobalSecondaryIndexProps,Table, TableProps } from "aws-cdk-lib/aws-dynamodb";
2
+ import { GlobalSecondaryIndexProps,StreamViewType,Table, TableProps } from "aws-cdk-lib/aws-dynamodb";
3
3
  import { Construct } from "constructs";
4
4
  import { AppConfig } from "../../config/AppConfig";
5
5
  import { BaseResource } from "../base/baseResource";
@@ -43,9 +43,12 @@ export class CreateDynamoDb extends BaseResource<Table> {
43
43
  const tables = props?.map((prop: any, idx: number) => {
44
44
  const dbTable = new Table(scope, `${prop.tableName}`, {
45
45
  ...prop,
46
- removalPolicy: RemovalPolicy.DESTROY
46
+ removalPolicy: RemovalPolicy.DESTROY,
47
+
47
48
  });
48
49
 
50
+
51
+
49
52
  this.config.RESOURCES.DYNAMO?.TABLES?.[idx].indexes.map((gsi) => {
50
53
 
51
54
  const gsiProps: GlobalSecondaryIndexProps = {
@@ -10,9 +10,9 @@ import { BaseResource } from "../base/baseResource";
10
10
  import { CreateCertificate } from "../certificate/createCertificate";
11
11
 
12
12
  export class Api extends BaseResource<IRestApi> {
13
-
13
+
14
14
  private corsOptions: CorsOptions;
15
-
15
+
16
16
 
17
17
  get APIs() {
18
18
  return this.createdResources;
@@ -21,43 +21,61 @@ export class Api extends BaseResource<IRestApi> {
21
21
  constructor(scope: Construct, config: AppConfig) {
22
22
  super(scope, config);
23
23
 
24
- this.corsOptions = this.createDefaultCorsOptions();
25
-
24
+ this.corsOptions = this.createDefaultCorsOptions();
25
+
26
26
  this.createdResources = this.createResource(scope);
27
27
  }
28
28
 
29
29
  private createApi(scope: Construct) {
30
- const zone = this.getZone(this.scope, this.config);
30
+ if (this.config.DNS) {
31
+ const zone = this.getZone(this.scope, this.config);
31
32
 
32
- const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
33
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
33
34
 
34
- this.createARecord(scope, zone, api);
35
+ this.createARecord(scope, zone, api);
35
36
 
36
- return api;
37
- }
37
+ return api;
38
+ } else {
38
39
 
39
- private createApiProps(zone: IHostedZone): RestApiProps {
40
-
41
- const cert = this.createCertificate(this.scope, zone, this.config);
42
-
43
- const props: RestApiProps = {
44
- restApiName: `gs-api-${this.config.AppPrefix}-${this.config.API.Name}`,
45
- description: this.config.API.Description,
46
- domainName: {
47
- domainName: `${this.config.API.DomainPrefix}.${this.config.DNS.ZoneName}`,
48
- certificate: cert.certificate,
49
- endpointType: EndpointType.EDGE,
50
- securityPolicy: SecurityPolicy.TLS_1_2
51
- },
52
- // TODO: ADD CUSTOM DOMAIN HERE
53
- // defaultDomainMapping: {
54
- // domainName: domain,
55
- // },
56
- // domainName: '',
57
- defaultCorsPreflightOptions: this.corsOptions
58
- };
40
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps());
41
+
42
+ return api;
43
+ }
44
+ }
59
45
 
60
- return props;
46
+ private createApiProps(zone?: IHostedZone): RestApiProps {
47
+
48
+ if (this.config.DNS) {
49
+
50
+ const cert = this.createCertificate(this.scope, zone!, this.config);
51
+
52
+ const props: RestApiProps = {
53
+ restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
54
+ description: this.config.API.Description,
55
+ domainName: {
56
+ domainName: `${this.config.API.DomainPrefix}.${this.config.DNS.ZoneName}`,
57
+ certificate: cert.certificate,
58
+ endpointType: EndpointType.EDGE,
59
+ securityPolicy: SecurityPolicy.TLS_1_2
60
+ },
61
+ // TODO: ADD CUSTOM DOMAIN HERE
62
+ // defaultDomainMapping: {
63
+ // domainName: domain,
64
+ // },
65
+ // domainName: '',
66
+ defaultCorsPreflightOptions: this.corsOptions
67
+ };
68
+
69
+ return props;
70
+ } else {
71
+ const props: RestApiProps = {
72
+ restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
73
+ description: this.config.API.Description,
74
+ defaultCorsPreflightOptions: this.corsOptions
75
+ };
76
+
77
+ return props;
78
+ }
61
79
  }
62
80
 
63
81
  private createDefaultCorsOptions() {
@@ -73,28 +91,28 @@ export class Api extends BaseResource<IRestApi> {
73
91
 
74
92
  return corsOptions;
75
93
  }
76
-
77
- private createCustomDomain(scope: Construct, config: MicroserviceProps) {
78
- const domainName = DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
79
- domainName: config.DNS.ZoneName,
80
- domainNameAliasHostedZoneId: config.DNS.ZoneId!,
81
- domainNameAliasTarget: config.API.DomainPrefix!,
82
- });
83
-
84
- return domainName
85
- }
86
-
87
- private attachDomainToApi(scope: Construct, api: IRestApi, domain: IDomainName, config: MicroserviceProps) {
88
- return new BasePathMapping(scope, `${config.API.Name}-basePathMapping`, {
89
- domainName: domain,
90
- restApi: api,
91
- });
92
- }
94
+
95
+ // private createCustomDomain(scope: Construct, config: MicroserviceProps) {
96
+ // const domainName = DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
97
+ // domainName: config.DNS?.ZoneName,
98
+ // domainNameAliasHostedZoneId: config.DNS.ZoneId!,
99
+ // domainNameAliasTarget: config.API.DomainPrefix!,
100
+ // });
101
+
102
+ // return domainName
103
+ // }
104
+
105
+ // private attachDomainToApi(scope: Construct, api: IRestApi, domain: IDomainName, config: MicroserviceProps) {
106
+ // return new BasePathMapping(scope, `${config.API.Name}-basePathMapping`, {
107
+ // domainName: domain,
108
+ // restApi: api,
109
+ // });
110
+ // }
93
111
 
94
112
  private getZone(scope: Construct, config: MicroserviceProps) {
95
- return HostedZone.fromHostedZoneAttributes(scope, `${config.DNS.ZoneName}-zone`, {
96
- zoneName: config.DNS.ZoneName,
97
- hostedZoneId: config.DNS.ZoneId!
113
+ return HostedZone.fromHostedZoneAttributes(scope, `${config.DNS?.ZoneName}-zone`, {
114
+ zoneName: config.DNS?.ZoneName!,
115
+ hostedZoneId: config.DNS?.ZoneId!
98
116
  });
99
117
  }
100
118
 
@@ -104,17 +122,17 @@ export class Api extends BaseResource<IRestApi> {
104
122
  }
105
123
 
106
124
  private createARecord(scope: Construct, zone: IHostedZone, api: RestApi) {
107
- const aRecord = new ARecord(scope, "ApiRecord", {
125
+ const aRecord = new ARecord(scope, "ApiRecord", {
108
126
  zone,
109
127
  target: RecordTarget.fromAlias(new ApiGateway(api)),
110
128
  recordName: this.config.API.DomainPrefix
111
129
  });
112
-
130
+
113
131
  aRecord.applyRemovalPolicy(RemovalPolicy.DESTROY);
114
132
  return aRecord;
115
- }
133
+ }
116
134
 
117
- protected createResource(scope: Construct) {
135
+ protected createResource(scope: Construct) {
118
136
 
119
137
  const api = this.createApi(scope);
120
138
  // TODO: ONLY IF CUSTOM MAPPING IS REQUIRED
@@ -122,7 +140,7 @@ export class Api extends BaseResource<IRestApi> {
122
140
 
123
141
  // const mapping = this.attachDomainToApi(scope, api, domain, this.config);
124
142
 
125
-
143
+
126
144
 
127
145
  return [api];
128
146
  }
@@ -130,11 +148,11 @@ export class Api extends BaseResource<IRestApi> {
130
148
  protected createOutput<T>(scope: Construct, createdAssets: T[]): void {
131
149
  createdAssets.forEach((api, idx) => {
132
150
 
133
- new CfnOutput(scope, `api${idx}`, {
151
+ new CfnOutput(scope, `api${idx}`, {
134
152
  // @ts-ignore
135
153
  value: api.url
136
154
  });
137
155
  });
138
156
  }
139
-
157
+
140
158
  }
@@ -70,13 +70,13 @@ export class CreateMicroServiceBundle {
70
70
  this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
71
71
  }
72
72
 
73
- lambdas.Lambdas.map((lambda) => {
74
- lambda.metricErrors({
75
- label: `${lambda.functionName}-errors`,
76
- period: Duration.minutes(3)
73
+ // lambdas.Lambdas.map((lambda) => {
74
+ // lambda.metricErrors({
75
+ // label: `${lambda.functionName}-errors`,
76
+ // period: Duration.minutes(3)
77
77
 
78
- })
79
- });
78
+ // })
79
+ // });
80
80
 
81
81
  this.AddRoutes(this.props, this.gatewayApi, lambdas.Lambdas, authorizer);
82
82
  }
@@ -159,7 +159,7 @@ export class CreateMicroServiceBundle {
159
159
  lambdas: NodejsFunction[],
160
160
  authorizer?: TokenAuthorizer) {
161
161
 
162
- this.appConfig.lambdaConfigs?.forEach((prop: TsgLambdaProp) => {
162
+ props.RESOURCES.LAMBDA?.forEach((prop: TsgLambdaProp) => {
163
163
 
164
164
  const lambdaId = CreateLambda.getIdForLambda(prop, this.appConfig);
165
165
 
@@ -64,6 +64,11 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
64
64
  const lambdaId = CreateLambda.getIdForLambda(config, this.config);
65
65
  let fctn = new NodejsFunction(scope, lambdaId, lambdaProps);
66
66
 
67
+ if (lambdaId === fctn.node.id) {
68
+ console.log(`found Lambda for : ${fctn.node.id}`);
69
+ }
70
+
71
+
67
72
  // If we have managed policies, we add them.
68
73
  if (config.managedPolicies && config.managedPolicies?.length > 0) {
69
74
 
@@ -106,11 +111,11 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
106
111
  minify: false,
107
112
  target: 'es2020',
108
113
  sourceMap: true,
109
- sourceMapMode: SourceMapMode.INLINE,
114
+ sourceMapMode: SourceMapMode.EXTERNAL,
110
115
  environment: prop.environment || prop.environment,
111
116
  },
112
117
  role,
113
- layers
118
+ //layers
114
119
 
115
120
  }
116
121