@inizioevoke/evosynth 2.2.3 → 2.2.5

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.
@@ -111,4 +111,4 @@ export class CodeBuildPipelineProject extends Construct {
111
111
  }
112
112
  }
113
113
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvY29kZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQWdDLFNBQVMsRUFBRSxXQUFXLEVBQWUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0Q3QyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQUNyQyxPQUFPLENBQWtCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUM5RixLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUc7Z0JBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcs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QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxRQUEwQixDQUFDO2dCQUMvQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsUUFBUSxHQUFHLGVBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDL0UsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxHQUFHLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDekUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLCBCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlLCBQaXBlbGluZVByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciwgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgdHlwZSB7IFNzbVN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCIuL3NzbS50c1wiO1xuaW1wb3J0IHsgdGFnUmVzb3VyY2UgfSBmcm9tIFwiLi4vbGliL3RhZ3MuanNcIjtcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VQcm9wcyB9IGZyb20gXCIuLi90eXBlcy5kLnRzXCI7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgeyB2YWx1ZTogYW55LCB0eXBlPzogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSB9PjtcblxuZXhwb3J0IHR5cGUgQ29kZUJ1aWxkSW1hZ2VJZCA9IFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eDItYWFyY2g2NC1zdGFuZGFyZDoxLjAnIHwgXG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6Mi4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDo0LjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOjUuMCcgfFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eC14ODZfNjQtc3RhbmRhcmQ6Ni4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDpjb3JyZXR0bzgnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOmNvcnJldHRvMTEnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDoyLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDozLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjQuMCcgfCBcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6NS4wJyB8IC8vIG5vZGVqcyAxMiwgMTRcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6Ni4wJyB8IC8vIG5vZGVqcyAxNlxuICAnYXdzL2NvZGVidWlsZC9zdGFuZGFyZDo3LjAnIHwgLy8gbm9kZWpzIDE4LCAyMCwgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMCcgfCAvLyBub2RlanMgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDE5LTEuMCcgfFxuICAnYXdzL2NvZGVidWlsZC93aW5kb3dzLWJhc2U6MjAxOS0yLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvd2luZG93cy1iYXNlOjIwMTktMy4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDIyLTEuMCcgfFxuICAoc3RyaW5nICYge30pO1xuXG5leHBvcnQgdHlwZSBDb2RlQnVpbGRDb21wdXRlVHlwZSA9ICdTTUFMTCcgfCAnTUVESVVNJyB8ICdMQVJHRScgfCAnWF9MQVJHRScgfCAnWDJfTEFSR0UnIHwgKHN0cmluZyAmIHt9KTtcbmV4cG9ydCB0eXBlIENvZGVCdWlsZE5vZGVKcyA9IDEyIHwgMTQgfCAxNiB8IDE4IHwgMjAgfCAyMiB8IDI0IHwgKG51bWJlciAmIHt9KTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVpbGRTc21QYXJhbWV0ZXIgZXh0ZW5kcyBTc21TdHJpbmdQYXJhbWV0ZXIge1xuICBlbmNyeXB0ZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBFY3JCdWlsZEltYWdlIHtcbiAgcmVwb3NpdG9yeTogc3RyaW5nO1xuICB0YWc6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMgZXh0ZW5kcyBSZXNvdXJjZVByb3BzIHtcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIGJ1aWxkU3BlYz86IHN0cmluZyB8IG9iamVjdDtcbiAgZWNyQnVpbGRJbWFnZT86IEVjckJ1aWxkSW1hZ2UsXG4gIGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcbiAgYnVpbGRJbWFnZU5vZGVKUz86IENvZGVCdWlsZE5vZGVKcztcbiAgYnVpbGRJbWFnZUlkPzogQ29kZUJ1aWxkSW1hZ2VJZDtcbiAgY29tcHV0ZVR5cGU/OiBDb2RlQnVpbGRDb21wdXRlVHlwZTtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlcztcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybj86IHN0cmluZztcbiAgczNCdWNrZXROYW1lPzogc3RyaW5nO1xuICBzc21QYXJhbWV0ZXJzPzogQ29kZUJ1aWxkU3NtUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogUGlwZWxpbmVQcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXMuQ0xPVURGUk9OVF9ESVNUUklCVVRJT05fSUQpIHtcbiAgICAgIHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLkNMT1VERlJPTlRfRElTVFJJQlVUSU9OX0lEID0ge1xuICAgICAgICB2YWx1ZTogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybi5zcGxpdCgnLycpLnBvcCgpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUgJiYgIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLlMzX0JVQ0tFVF9OQU1FKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcy5TM19CVUNLRVRfTkFNRSA9IHtcbiAgICAgICAgdmFsdWU6IHByb3BzLnMzQnVja2V0TmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgYnVpbGRJbWFnZTogSUJ1aWxkSW1hZ2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmVjckJ1aWxkSW1hZ2UpIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpID8gXG4gICAgICAgIFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpIDpcbiAgICAgICAgUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUodGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpO1xuICAgICAgYnVpbGRJbWFnZSA9IExpbnV4QnVpbGRJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5LCBwcm9wcy5lY3JCdWlsZEltYWdlLnRhZyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5idWlsZEltYWdlKSB7XG4gICAgICBidWlsZEltYWdlID0gcHJvcHMuYnVpbGRJbWFnZSBhcyBJQnVpbGRJbWFnZTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgIGxldCBzdGFuZGFyZCA9IDg7XG4gICAgICBzd2l0Y2ggKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgICAgY2FzZSAxMjpcbiAgICAgICAgY2FzZSAxNDpcbiAgICAgICAgICBzdGFuZGFyZCA9IDU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTY6XG4gICAgICAgICAgc3RhbmRhcmQgPSA2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE4OlxuICAgICAgICBjYXNlIDIwOlxuICAgICAgICAgIHN0YW5kYXJkID0gNztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGJ1aWxkSW1hZ2UgPSBMaW51eEJ1aWxkSW1hZ2UuZnJvbUNvZGVCdWlsZEltYWdlSWQoYGF3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6JHtzdGFuZGFyZH0uMGApO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYnVpbGRJbWFnZUlkKSB7XG4gICAgICBidWlsZEltYWdlID0gTGludXhCdWlsZEltYWdlLmZyb21Db2RlQnVpbGRJbWFnZUlkKHByb3BzLmJ1aWxkSW1hZ2VJZCk7XG4gICAgfSBcbiAgICBcblxuICAgIHRoaXMucHJvamVjdCA9IG5ldyBQaXBlbGluZVByb2plY3QodGhpcywgJ0NvZGVCdWlsZFBpcGVsaW5lUHJvamVjdFByb3BzJywge1xuICAgICAgcHJvamVjdE5hbWU6IHByb3BzLnByb2plY3ROYW1lLFxuICAgICAgYnVpbGRTcGVjOiBwcm9wcy5idWlsZFNwZWMgPyB0eXBlb2YgcHJvcHMuYnVpbGRTcGVjID09ICdvYmplY3QnID8gQnVpbGRTcGVjLmZyb21PYmplY3RUb1lhbWwocHJvcHMuYnVpbGRTcGVjKSA6IEJ1aWxkU3BlYy5mcm9tU291cmNlRmlsZW5hbWUocHJvcHMuYnVpbGRTcGVjID8/ICdidWlsZHNwZWMueW1sJykgOiB1bmRlZmluZWQsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOiBidWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5TVEFOREFSRF83XzAsXG4gICAgICAgIGNvbXB1dGVUeXBlOiBDb21wdXRlVHlwZVtwcm9wcy5jb21wdXRlVHlwZSBhcyAoa2V5b2YgdHlwZW9mIENvbXB1dGVUeXBlIHwgdW5kZWZpbmVkKSA/PyAnU01BTEwnXSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5wcm9qZWN0LCBwcm9wcy50YWdzKTtcbiAgICBpZiAodHlwZW9mIHByb3BzLmRlc3Ryb3kgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLnByb2plY3QuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLmRlc3Ryb3kgPyBSZW1vdmFsUG9saWN5LkRFU1RST1kgOiBSZW1vdmFsUG9saWN5LlJFVEFJTik7XG4gICAgfVxuXG4gICAgLy8gQWRkIENsb3VkV2F0Y2ggbG9nIHBlcm1pc3Npb25zXG4gICAgdGhpcy5wcm9qZWN0LmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nR3JvdXAnLFxuICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAnbG9nczpQdXRMb2dFdmVudHMnXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9qZWN0LnByb2plY3RBcm5dXG4gICAgfSkpO1xuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gY3JlYXRlIGFuIGludmFsaWRhdGlvblxuICAgIGlmIChwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuKSB7XG4gICAgICB0aGlzLnByb2plY3QuYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2Nsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uJ10sXG4gICAgICAgIHJlc291cmNlczogW3Byb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm5dXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gc3luYyBmaWxlcyB0byBTM1xuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUpIHtcbiAgICAgIGNvbnN0IHMzQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdTM0J1Y2tldEJ5TmFtZScsIHByb3BzLnMzQnVja2V0TmFtZSk7XG4gICAgICBzM0J1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLnByb2plY3QpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAvLyBkZWR1cFxuICAgICAgcHJvcHMuc3NtUGFyYW1ldGVycyA9IHByb3BzLnNzbVBhcmFtZXRlcnMuZmlsdGVyKCh2LCBpLCBhKSA9PiB7XG4gICAgICAgIHJldHVybiBhLmZpbmRJbmRleChwID0+IHAucGF0aCA9PT0gdi5wYXRoKSA9PT0gaTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBwYXJhbSBvZiBwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAgIGxldCBzdHJQYXJhbTogSVN0cmluZ1BhcmFtZXRlcjtcbiAgICAgICAgaWYgKHBhcmFtLmVuY3J5cHRlZCkge1xuICAgICAgICAgIHN0clBhcmFtID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsIHBhcmFtLnBhdGgsIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHBhcmFtLnBhdGgsXG4gICAgICAgICAgICB2ZXJzaW9uOiBwYXJhbS52ZXJzaW9uXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RyUGFyYW0gPSBTdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgcGFyYW0ucGF0aCwge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHZlcnNpb246IHBhcmFtLnZlcnNpb25cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzdHJQYXJhbS5ncmFudFJlYWQodGhpcy5wcm9qZWN0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvY29kZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQWdDLFNBQVMsRUFBYyxXQUFXLEVBQWUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0Q3QyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQUNyQyxPQUFPLENBQWtCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUM5RixLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUc7Z0JBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRTthQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsY0FBYyxHQUFHO2dCQUMxQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDMUIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFVBQVUsR0FBNEIsU0FBUyxDQUFDO1FBQ3BELElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkYsVUFBVSxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUF5QixDQUFDO1FBQy9DLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNqQixRQUFRLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMvQixLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUU7b0JBQ0wsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDYixNQUFNO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxRQUFRLEdBQUcsQ0FBQyxDQUFDO29CQUNiLE1BQU07Z0JBQ1IsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFO29CQUNMLFFBQVEsR0FBRyxDQUFDLENBQUM7b0JBQ2IsTUFBTTtZQUNWLENBQUM7WUFDRCxVQUFVLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLDBCQUEwQixRQUFRLElBQUksQ0FBQyxDQUFDO1FBQzVGLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QixVQUFVLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBR0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLEVBQUU7WUFDeEUsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUM1TCxXQUFXLEVBQUU7Z0JBQ1gsVUFBVSxFQUFFLFVBQVUsSUFBSSxlQUFlLENBQUMsWUFBWTtnQkFDdEQsV0FBVyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBcUQsSUFBSSxPQUFPLENBQUM7Z0JBQ2hHLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7YUFDakQ7U0FDRixDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLGVBQWUsQ0FBQztZQUMvQyxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLG1CQUFtQjthQUNwQjtZQUNELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUosOENBQThDO1FBQzlDLElBQUksS0FBSyxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxlQUFlLENBQUM7Z0JBQy9DLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO2dCQUMxQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUM7YUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBRUQsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNuRixRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsUUFBUTtZQUNSLEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzRCxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxRQUEwQixDQUFDO2dCQUMvQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsUUFBUSxHQUFHLGVBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDL0UsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxHQUFHLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDekUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLCBCdWlsZFNwZWMsIENmblByb2plY3QsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlLCBQaXBlbGluZVByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciwgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgdHlwZSB7IFNzbVN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCIuL3NzbS50c1wiO1xuaW1wb3J0IHsgdGFnUmVzb3VyY2UgfSBmcm9tIFwiLi4vbGliL3RhZ3MuanNcIjtcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VQcm9wcyB9IGZyb20gXCIuLi90eXBlcy5kLnRzXCI7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgeyB2YWx1ZTogYW55LCB0eXBlPzogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSB9PjtcblxuZXhwb3J0IHR5cGUgQ29kZUJ1aWxkSW1hZ2VJZCA9IFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eDItYWFyY2g2NC1zdGFuZGFyZDoxLjAnIHwgXG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6Mi4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDo0LjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOjUuMCcgfFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eC14ODZfNjQtc3RhbmRhcmQ6Ni4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDpjb3JyZXR0bzgnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOmNvcnJldHRvMTEnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDoyLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDozLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjQuMCcgfCBcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6NS4wJyB8IC8vIG5vZGVqcyAxMiwgMTRcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6Ni4wJyB8IC8vIG5vZGVqcyAxNlxuICAnYXdzL2NvZGVidWlsZC9zdGFuZGFyZDo3LjAnIHwgLy8gbm9kZWpzIDE4LCAyMCwgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMCcgfCAvLyBub2RlanMgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDE5LTEuMCcgfFxuICAnYXdzL2NvZGVidWlsZC93aW5kb3dzLWJhc2U6MjAxOS0yLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvd2luZG93cy1iYXNlOjIwMTktMy4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDIyLTEuMCcgfFxuICAoc3RyaW5nICYge30pO1xuXG5leHBvcnQgdHlwZSBDb2RlQnVpbGRDb21wdXRlVHlwZSA9ICdTTUFMTCcgfCAnTUVESVVNJyB8ICdMQVJHRScgfCAnWF9MQVJHRScgfCAnWDJfTEFSR0UnIHwgKHN0cmluZyAmIHt9KTtcbmV4cG9ydCB0eXBlIENvZGVCdWlsZE5vZGVKcyA9IDEyIHwgMTQgfCAxNiB8IDE4IHwgMjAgfCAyMiB8IDI0IHwgKG51bWJlciAmIHt9KTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVpbGRTc21QYXJhbWV0ZXIgZXh0ZW5kcyBTc21TdHJpbmdQYXJhbWV0ZXIge1xuICBlbmNyeXB0ZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBFY3JCdWlsZEltYWdlIHtcbiAgcmVwb3NpdG9yeTogc3RyaW5nO1xuICB0YWc6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMgZXh0ZW5kcyBSZXNvdXJjZVByb3BzIHtcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIGJ1aWxkU3BlYz86IHN0cmluZyB8IG9iamVjdDtcbiAgZWNyQnVpbGRJbWFnZT86IEVjckJ1aWxkSW1hZ2UsXG4gIGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcbiAgYnVpbGRJbWFnZU5vZGVKUz86IENvZGVCdWlsZE5vZGVKcztcbiAgYnVpbGRJbWFnZUlkPzogQ29kZUJ1aWxkSW1hZ2VJZDtcbiAgY29tcHV0ZVR5cGU/OiBDb2RlQnVpbGRDb21wdXRlVHlwZTtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlcztcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybj86IHN0cmluZztcbiAgczNCdWNrZXROYW1lPzogc3RyaW5nO1xuICBzc21QYXJhbWV0ZXJzPzogQ29kZUJ1aWxkU3NtUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogUGlwZWxpbmVQcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXMuQ0xPVURGUk9OVF9ESVNUUklCVVRJT05fSUQpIHtcbiAgICAgIHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLkNMT1VERlJPTlRfRElTVFJJQlVUSU9OX0lEID0ge1xuICAgICAgICB2YWx1ZTogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybi5zcGxpdCgnLycpLnBvcCgpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUgJiYgIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLlMzX0JVQ0tFVF9OQU1FKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcy5TM19CVUNLRVRfTkFNRSA9IHtcbiAgICAgICAgdmFsdWU6IHByb3BzLnMzQnVja2V0TmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgYnVpbGRJbWFnZTogSUJ1aWxkSW1hZ2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmVjckJ1aWxkSW1hZ2UpIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpID8gXG4gICAgICAgIFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpIDpcbiAgICAgICAgUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUodGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpO1xuICAgICAgYnVpbGRJbWFnZSA9IExpbnV4QnVpbGRJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5LCBwcm9wcy5lY3JCdWlsZEltYWdlLnRhZyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5idWlsZEltYWdlKSB7XG4gICAgICBidWlsZEltYWdlID0gcHJvcHMuYnVpbGRJbWFnZSBhcyBJQnVpbGRJbWFnZTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgIGxldCBzdGFuZGFyZCA9IDg7XG4gICAgICBzd2l0Y2ggKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgICAgY2FzZSAxMjpcbiAgICAgICAgY2FzZSAxNDpcbiAgICAgICAgICBzdGFuZGFyZCA9IDU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTY6XG4gICAgICAgICAgc3RhbmRhcmQgPSA2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE4OlxuICAgICAgICBjYXNlIDIwOlxuICAgICAgICAgIHN0YW5kYXJkID0gNztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGJ1aWxkSW1hZ2UgPSBMaW51eEJ1aWxkSW1hZ2UuZnJvbUNvZGVCdWlsZEltYWdlSWQoYGF3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6JHtzdGFuZGFyZH0uMGApO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYnVpbGRJbWFnZUlkKSB7XG4gICAgICBidWlsZEltYWdlID0gTGludXhCdWlsZEltYWdlLmZyb21Db2RlQnVpbGRJbWFnZUlkKHByb3BzLmJ1aWxkSW1hZ2VJZCk7XG4gICAgfSBcbiAgICBcblxuICAgIHRoaXMucHJvamVjdCA9IG5ldyBQaXBlbGluZVByb2plY3QodGhpcywgJ0NvZGVCdWlsZFBpcGVsaW5lUHJvamVjdFByb3BzJywge1xuICAgICAgcHJvamVjdE5hbWU6IHByb3BzLnByb2plY3ROYW1lLFxuICAgICAgYnVpbGRTcGVjOiBwcm9wcy5idWlsZFNwZWMgPyB0eXBlb2YgcHJvcHMuYnVpbGRTcGVjID09ICdvYmplY3QnID8gQnVpbGRTcGVjLmZyb21PYmplY3RUb1lhbWwocHJvcHMuYnVpbGRTcGVjKSA6IEJ1aWxkU3BlYy5mcm9tU291cmNlRmlsZW5hbWUocHJvcHMuYnVpbGRTcGVjID8/ICdidWlsZHNwZWMueW1sJykgOiB1bmRlZmluZWQsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOiBidWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5TVEFOREFSRF83XzAsXG4gICAgICAgIGNvbXB1dGVUeXBlOiBDb21wdXRlVHlwZVtwcm9wcy5jb21wdXRlVHlwZSBhcyAoa2V5b2YgdHlwZW9mIENvbXB1dGVUeXBlIHwgdW5kZWZpbmVkKSA/PyAnU01BTEwnXSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5wcm9qZWN0LCBwcm9wcy50YWdzKTtcbiAgICBpZiAodHlwZW9mIHByb3BzLmRlc3Ryb3kgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLnByb2plY3QuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLmRlc3Ryb3kgPyBSZW1vdmFsUG9saWN5LkRFU1RST1kgOiBSZW1vdmFsUG9saWN5LlJFVEFJTik7XG4gICAgfVxuXG4gICAgLy8gQWRkIENsb3VkV2F0Y2ggbG9nIHBlcm1pc3Npb25zXG4gICAgdGhpcy5wcm9qZWN0LmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nR3JvdXAnLFxuICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAnbG9nczpQdXRMb2dFdmVudHMnXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9qZWN0LnByb2plY3RBcm5dXG4gICAgfSkpO1xuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gY3JlYXRlIGFuIGludmFsaWRhdGlvblxuICAgIGlmIChwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuKSB7XG4gICAgICB0aGlzLnByb2plY3QuYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2Nsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uJ10sXG4gICAgICAgIHJlc291cmNlczogW3Byb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm5dXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gc3luYyBmaWxlcyB0byBTM1xuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUpIHtcbiAgICAgIGNvbnN0IHMzQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdTM0J1Y2tldEJ5TmFtZScsIHByb3BzLnMzQnVja2V0TmFtZSk7XG4gICAgICBzM0J1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLnByb2plY3QpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAvLyBkZWR1cFxuICAgICAgcHJvcHMuc3NtUGFyYW1ldGVycyA9IHByb3BzLnNzbVBhcmFtZXRlcnMuZmlsdGVyKCh2LCBpLCBhKSA9PiB7XG4gICAgICAgIHJldHVybiBhLmZpbmRJbmRleChwID0+IHAucGF0aCA9PT0gdi5wYXRoKSA9PT0gaTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBwYXJhbSBvZiBwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAgIGxldCBzdHJQYXJhbTogSVN0cmluZ1BhcmFtZXRlcjtcbiAgICAgICAgaWYgKHBhcmFtLmVuY3J5cHRlZCkge1xuICAgICAgICAgIHN0clBhcmFtID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsIHBhcmFtLnBhdGgsIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHBhcmFtLnBhdGgsXG4gICAgICAgICAgICB2ZXJzaW9uOiBwYXJhbS52ZXJzaW9uXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RyUGFyYW0gPSBTdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgcGFyYW0ucGF0aCwge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHZlcnNpb246IHBhcmFtLnZlcnNpb25cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzdHJQYXJhbS5ncmFudFJlYWQodGhpcy5wcm9qZWN0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
@@ -11,12 +11,16 @@ export class CodePipelineStack extends Stack {
11
11
  description: `${props.description ?? props.stackName ?? ''} Code Pipeline Stack`
12
12
  });
13
13
  addEvoStackTags(this, 'CodePipelineStack');
14
- const defaultName = props.description ? props.description.toLowerCase().replace(/ +/g, '-').replace(/[^0-9a-z_\-]/g, '') : undefined;
15
- props.pipelineName = props.pipelineName ?? defaultName;
14
+ const defaultName = props.description ? props.description.toLowerCase().replace(/ +/g, '-').replace(/[^0-9a-z_\-]/g, '') : '';
15
+ if (!props.pipelineName) {
16
+ props.pipelineName = defaultName;
17
+ }
16
18
  if (!props.codeBuildProject) {
17
19
  props.codeBuildProject = {};
18
20
  }
19
- props.codeBuildProject.projectName = props.codeBuildProject.projectName ?? defaultName;
21
+ if (!props.codeBuildProject.projectName) {
22
+ props.codeBuildProject.projectName = defaultName;
23
+ }
20
24
  this.codeBuildPipelineProject = new CodeBuildPipelineProject(this, 'CodeBuildPipelineProject', {
21
25
  ...props.codeBuildProject,
22
26
  destroy: props.destroy
@@ -34,4 +38,4 @@ export class CodePipelineStack extends Stack {
34
38
  });
35
39
  }
36
40
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBpcGVsaW5lLXN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YWNrcy93ZWItc3RhdGljLXNlcnZlcmxlc3MvY29kZXBpcGVsaW5lLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQWlDLE1BQU0sK0JBQStCLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUE2QyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVwRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsS0FBSztJQUMxQix3QkFBd0IsQ0FBMkI7SUFDbkQsbUJBQW1CLENBQXNCO0lBRXpELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxzQkFBc0I7U0FDakYsQ0FBQyxDQUFDO1FBQ0gsZUFBZSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDckksS0FBSyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUIsS0FBSyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQztRQUV2RixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7WUFDN0YsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3pCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDOUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1lBQ3JDLFNBQVMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVM7WUFDdEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU87WUFDdkQsY0FBYyxFQUFFLGNBQWM7WUFDOUIsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxvQkFBb0I7U0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0LCBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcyB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY29kZWJ1aWxkLmpzJztcbmltcG9ydCB7IENvZGVQaXBlbGluZVByb2plY3QsIEFkZFNvdXJjZVN0YWdlUGFyYW1zLCBBZGRCdWlsZFN0YWdlUGFyYW1zIH0gZnJvbSAnLi4vLi4vY29uc3RydWN0cy9jb2RlcGlwZWxpbmUuanMnO1xuaW1wb3J0IHsgYWRkRXZvU3RhY2tUYWdzIH0gZnJvbSAnLi4vLi4vbGliL3RhZ3MudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVQaXBlbGluZVN0YWNrUHJvcHMge1xuICBwaXBlbGluZU5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZVN0YWdlOiBBZGRTb3VyY2VTdGFnZVBhcmFtcztcbiAgYnVpbGRTdGFnZT86IFBpY2s8QWRkQnVpbGRTdGFnZVBhcmFtcywgJ3N0YWdlTmFtZScgfCAnZW52aXJvbm1lbnRWYXJpYWJsZXMnPjtcbiAgY29kZUJ1aWxkUHJvamVjdD86IE9taXQ8Q29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMsICdkZXN0cm95JyB8ICd0YWdzJz4sXG4gIGRlc3Ryb3k/OiBib29sZWFuO1xuICB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cbmV4cG9ydCBjbGFzcyBDb2RlUGlwZWxpbmVTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdDogQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0O1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZVBpcGVsaW5lUHJvamVjdDogQ29kZVBpcGVsaW5lUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZVBpcGVsaW5lU3RhY2tQcm9wcyAmIFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGVzY3JpcHRpb246IGAke3Byb3BzLmRlc2NyaXB0aW9uID8/IHByb3BzLnN0YWNrTmFtZSA/PyAnJ30gQ29kZSBQaXBlbGluZSBTdGFja2BcbiAgICB9KTtcbiAgICBhZGRFdm9TdGFja1RhZ3ModGhpcywgJ0NvZGVQaXBlbGluZVN0YWNrJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0TmFtZSA9IHByb3BzLmRlc2NyaXB0aW9uID8gcHJvcHMuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gKy9nLCAnLScpLnJlcGxhY2UoL1teMC05YS16X1xcLV0vZywgJycpIDogdW5kZWZpbmVkO1xuICAgIHByb3BzLnBpcGVsaW5lTmFtZSA9IHByb3BzLnBpcGVsaW5lTmFtZSA/PyBkZWZhdWx0TmFtZTtcbiAgICBpZiAoIXByb3BzLmNvZGVCdWlsZFByb2plY3QpIHtcbiAgICAgIHByb3BzLmNvZGVCdWlsZFByb2plY3QgPSB7fTtcbiAgICB9XG4gICAgcHJvcHMuY29kZUJ1aWxkUHJvamVjdC5wcm9qZWN0TmFtZSA9IHByb3BzLmNvZGVCdWlsZFByb2plY3QucHJvamVjdE5hbWUgPz8gZGVmYXVsdE5hbWU7XG5cbiAgICB0aGlzLmNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdCA9IG5ldyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QodGhpcywgJ0NvZGVCdWlsZFBpcGVsaW5lUHJvamVjdCcsIHtcbiAgICAgIC4uLnByb3BzLmNvZGVCdWlsZFByb2plY3QsXG4gICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvZGVQaXBlbGluZVByb2plY3QgPSBuZXcgQ29kZVBpcGVsaW5lUHJvamVjdCh0aGlzLCAnQ29kZVBpcGVsaW5lUHJvamVjdCcsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc291cmNlQXJ0aWZhY3QgPSB0aGlzLmNvZGVQaXBlbGluZVByb2plY3QuYWRkU291cmNlU3RhZ2UocHJvcHMuc291cmNlU3RhZ2UpO1xuXG4gICAgdGhpcy5jb2RlUGlwZWxpbmVQcm9qZWN0LmFkZEJ1aWxkU3RhZ2Uoe1xuICAgICAgc3RhZ2VOYW1lOiBwcm9wcy5idWlsZFN0YWdlPy5zdGFnZU5hbWUsXG4gICAgICBjb2RlQnVpbGRQcm9qZWN0OiB0aGlzLmNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdC5wcm9qZWN0LFxuICAgICAgc291cmNlQXJ0aWZhY3Q6IHNvdXJjZUFydGlmYWN0LFxuICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmJ1aWxkU3RhZ2U/LmVudmlyb25tZW50VmFyaWFibGVzXG4gICAgfSk7XG4gIH1cbn0iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBpcGVsaW5lLXN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YWNrcy93ZWItc3RhdGljLXNlcnZlcmxlc3MvY29kZXBpcGVsaW5lLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWlDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFpQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBNkMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZcEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLEtBQUs7SUFDMUIsd0JBQXdCLENBQTJCO0lBQ25ELG1CQUFtQixDQUFzQjtJQUV6RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBDO1FBQ2xGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsc0JBQXNCO1NBQ2pGLENBQUMsQ0FBQztRQUNILGVBQWUsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUUzQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTlILElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ25ELENBQUM7UUFFRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7WUFDN0YsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3pCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDOUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1lBQ3JDLFNBQVMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVM7WUFDdEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU87WUFDdkQsY0FBYyxFQUFFLGNBQWM7WUFDOUIsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxvQkFBb0I7U0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2ssIFN0YWNrUHJvcHMsIENmbkVsZW1lbnQsIE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENvZGVCdWlsZFBpcGVsaW5lUHJvamVjdCwgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMgfSBmcm9tICcuLi8uLi9jb25zdHJ1Y3RzL2NvZGVidWlsZC5qcyc7XG5pbXBvcnQgeyBDb2RlUGlwZWxpbmVQcm9qZWN0LCBBZGRTb3VyY2VTdGFnZVBhcmFtcywgQWRkQnVpbGRTdGFnZVBhcmFtcyB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY29kZXBpcGVsaW5lLmpzJztcbmltcG9ydCB7IGFkZEV2b1N0YWNrVGFncyB9IGZyb20gJy4uLy4uL2xpYi90YWdzLnRzJztcbmltcG9ydCB7IENmblByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja21hbnRsZSc7XG5pbXBvcnQgeyBDZm5QaXBlbGluZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVQaXBlbGluZVN0YWNrUHJvcHMge1xuICBwaXBlbGluZU5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZVN0YWdlOiBBZGRTb3VyY2VTdGFnZVBhcmFtcztcbiAgYnVpbGRTdGFnZT86IFBpY2s8QWRkQnVpbGRTdGFnZVBhcmFtcywgJ3N0YWdlTmFtZScgfCAnZW52aXJvbm1lbnRWYXJpYWJsZXMnPjtcbiAgY29kZUJ1aWxkUHJvamVjdD86IE9taXQ8Q29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMsICdkZXN0cm95JyB8ICd0YWdzJz4sXG4gIGRlc3Ryb3k/OiBib29sZWFuO1xuICB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cbmV4cG9ydCBjbGFzcyBDb2RlUGlwZWxpbmVTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdDogQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0O1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZVBpcGVsaW5lUHJvamVjdDogQ29kZVBpcGVsaW5lUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZVBpcGVsaW5lU3RhY2tQcm9wcyAmIFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGVzY3JpcHRpb246IGAke3Byb3BzLmRlc2NyaXB0aW9uID8/IHByb3BzLnN0YWNrTmFtZSA/PyAnJ30gQ29kZSBQaXBlbGluZSBTdGFja2BcbiAgICB9KTtcbiAgICBhZGRFdm9TdGFja1RhZ3ModGhpcywgJ0NvZGVQaXBlbGluZVN0YWNrJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0TmFtZSA9IHByb3BzLmRlc2NyaXB0aW9uID8gcHJvcHMuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gKy9nLCAnLScpLnJlcGxhY2UoL1teMC05YS16X1xcLV0vZywgJycpIDogJyc7XG5cbiAgICBpZiAoIXByb3BzLnBpcGVsaW5lTmFtZSkge1xuICAgICAgcHJvcHMucGlwZWxpbmVOYW1lID0gZGVmYXVsdE5hbWU7XG4gICAgfVxuICAgIGlmICghcHJvcHMuY29kZUJ1aWxkUHJvamVjdCkge1xuICAgICAgcHJvcHMuY29kZUJ1aWxkUHJvamVjdCA9IHt9O1xuICAgIH1cbiAgICBpZiAoIXByb3BzLmNvZGVCdWlsZFByb2plY3QucHJvamVjdE5hbWUpIHtcbiAgICAgIHByb3BzLmNvZGVCdWlsZFByb2plY3QucHJvamVjdE5hbWUgPSBkZWZhdWx0TmFtZTtcbiAgICB9XG5cbiAgICB0aGlzLmNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdCA9IG5ldyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QodGhpcywgJ0NvZGVCdWlsZFBpcGVsaW5lUHJvamVjdCcsIHtcbiAgICAgIC4uLnByb3BzLmNvZGVCdWlsZFByb2plY3QsXG4gICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvZGVQaXBlbGluZVByb2plY3QgPSBuZXcgQ29kZVBpcGVsaW5lUHJvamVjdCh0aGlzLCAnQ29kZVBpcGVsaW5lUHJvamVjdCcsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc291cmNlQXJ0aWZhY3QgPSB0aGlzLmNvZGVQaXBlbGluZVByb2plY3QuYWRkU291cmNlU3RhZ2UocHJvcHMuc291cmNlU3RhZ2UpO1xuXG4gICAgdGhpcy5jb2RlUGlwZWxpbmVQcm9qZWN0LmFkZEJ1aWxkU3RhZ2Uoe1xuICAgICAgc3RhZ2VOYW1lOiBwcm9wcy5idWlsZFN0YWdlPy5zdGFnZU5hbWUsXG4gICAgICBjb2RlQnVpbGRQcm9qZWN0OiB0aGlzLmNvZGVCdWlsZFBpcGVsaW5lUHJvamVjdC5wcm9qZWN0LFxuICAgICAgc291cmNlQXJ0aWZhY3Q6IHNvdXJjZUFydGlmYWN0LFxuICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmJ1aWxkU3RhZ2U/LmVudmlyb25tZW50VmFyaWFibGVzXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -24,6 +24,7 @@ export class WebGlobalStack extends Stack {
24
24
  description: `${props.description ?? props.stackName ?? ''} Web Global Stack`
25
25
  });
26
26
  addEvoStackTags(this, 'WebGlobalStack');
27
+ props.description = props.description ?? props.stackName;
27
28
  const hostedZone = getHostedZone(this, 'getHostedZone', props.hostedZone);
28
29
  const _sslCert = new SSLCertificate(this, 'SSLCertificate', {
29
30
  hostedZone: hostedZone,
@@ -256,4 +257,4 @@ function cspHeadersToString(headers) {
256
257
  .map(([directive, sources]) => `${directive} ${sources.join(' ')};`)
257
258
  .join(' ');
258
259
  }
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLWdsb2JhbC1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGFja3Mvd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzL3dlYi1nbG9iYWwtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBYyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUF5QyxpQkFBaUIsRUFBd0cscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc5USxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBK0Isa0JBQWtCLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEosT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUEwQnBFLE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztJQUN2QixjQUFjLENBQWM7SUFDNUIsUUFBUSxDQUFTO0lBQ2pCLGtCQUFrQixDQUFXO0lBQzdCLHNCQUFzQixDQUFlO0lBQ3JDLE1BQU0sQ0FBd0I7SUFDOUIscUJBQXFCLENBQXFDO0lBQzFELE9BQU8sQ0FBVTtJQUNqQixVQUFVLENBQWE7SUFFdkMsWUFBWSxLQUFn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LENBQUMsTUFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQztnQkFDQSxNQUFNLENBQUMsTUFBMEIsQ0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBbUI7SUFDN0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcywgUGh5c2ljYWxOYW1lLCBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmltcG9ydCB7IENlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7IERpc3RyaWJ1dGlvbiwgRXJyb3JSZXNwb25zZSwgRnVuY3Rpb24sIEZ1bmN0aW9uRXZlbnRUeXBlLCBJUmVzcG9uc2VIZWFkZXJzUG9saWN5LCBSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcywgUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciwgQmVoYXZpb3JPcHRpb25zLCBSZXNwb25zZUhlYWRlcnNQb2xpY3ksIEhlYWRlcnNGcmFtZU9wdGlvbiwgSGVhZGVyc1JlZmVycmVyUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0IHsgQVJlY29yZCwgQWFhYVJlY29yZCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgeyBDZm5XZWJBQ0wgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtd2FmdjInO1xuXG5pbXBvcnQgeyBTU0xDZXJ0aWZpY2F0ZSB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY2VydGlmaWNhdGVtYW5hZ2VyLmpzJztcbmltcG9ydCB7IENsb3VkRnJvbnRGdW5jdGlvblJlZGlyZWN0cywgQ2xvdWRGcm9udEZ1bmN0aW9uLCBDbG91ZEZyb250RGlzdHJpYnV0aW9uLCBDbG91ZEZyb250RXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY2xvdWRmcm9udC5qcyc7XG5pbXBvcnQgeyBnZXRIb3N0ZWRab25lLCBDbG91ZEZyb250QWxpYXMgfSBmcm9tICcuLi8uLi9jb25zdHJ1Y3RzL3JvdXRlNTMuanMnO1xuaW1wb3J0IHsgUzNCdWNrZXQgfSBmcm9tICcuLi8uLi9jb25zdHJ1Y3RzL3MzLmpzJztcbmltcG9ydCB0eXBlIHsgU3NtU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vY29uc3RydWN0cy9zc20udHMnO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFdlYkFjbCB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvd2FmLmpzJztcbmltcG9ydCB7IGRvbWFpbkFzSWQgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMuanMnO1xuaW1wb3J0IHsgYWRkRXZvU3RhY2tUYWdzIH0gZnJvbSAnLi4vLi4vbGliL3RhZ3MudHMnO1xuaW1wb3J0IHsgUzNCdWNrZXRPcmlnaW4gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB0eXBlIHsgQmFzaWNBdXRoQ3JlZGVudGlhbHMsIENzcEhlYWRlcnMsIENsb3VkRnJvbnRGdW5jdGlvbkV2ZW50VHlwZSwgVVVJRCwgQVdTTWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeSB9IGZyb20gJy4uLy4uL3R5cGVzLmQudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYkdsb2JhbFN0YWNrUHJvcHMge1xuICBlbnZUeXBlOiAnTk9UX1BST0QnIHwgJ1BST0QnO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYnVja2V0TmFtZT86IHN0cmluZztcbiAgaG9zdGVkWm9uZTogc3RyaW5nO1xuICBkb21haW5OYW1lOiBzdHJpbmc7XG4gIGJhc2ljQXV0aD86IHN0cmluZyB8IEJhc2ljQXV0aENyZWRlbnRpYWxzIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICBjbG91ZGZyb250RnVuY3Rpb24/OiB7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGV2ZW50VHlwZTogQ2xvdWRGcm9udEZ1bmN0aW9uRXZlbnRUeXBlW107XG4gIH1cbiAgcmVkaXJlY3RzPzogQ2xvdWRGcm9udEZ1bmN0aW9uUmVkaXJlY3RzO1xuICByZWRpcmVjdHNDc3ZQYXRoPzogc3RyaW5nO1xuICAvLyBhdHRhY2hXZWJBY2w/OiBib29sZWFuIHwgc3RyaW5nO1xuICB3ZWJBY2w/OiBib29sZWFuIHwgc3RyaW5nIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICByZXNwb25zZUhlYWRlcnNQb2xpY3k/OiBmYWxzZSB8IEFXU01hbmFnZWRSZXNwb25zZUhlYWRlcnNQb2xpY3kgfCBVVUlEIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZXNwb25zZUNzcEhlYWRlcnM/OiBDc3BIZWFkZXJzIHwgc3RyaW5nO1xuICBkZXN0cm95PzogYm9vbGVhbjtcbiAgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGVycm9yUmVzcG9uc2VzPzogKENsb3VkRnJvbnRFcnJvclJlc3BvbnNlIHwgRXJyb3JSZXNwb25zZSlbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFdlYkdsb2JhbFN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwdWJsaWMgcmVhZG9ubHkgc3NsQ2VydGlmaWNhdGU6IENlcnRpZmljYXRlO1xuICBwdWJsaWMgcmVhZG9ubHkgczNCdWNrZXQ6IEJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRGdW5jdGlvbjogRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uOiBEaXN0cmlidXRpb247XG4gIHB1YmxpYyByZWFkb25seSB3ZWJBY2w6IENmbldlYkFDTCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeTogSVJlc3BvbnNlSGVhZGVyc1BvbGljeSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGFSZWNvcmQ6IEFSZWNvcmQ7XG4gIHB1YmxpYyByZWFkb25seSBhYWFhUmVjb3JkOiBBYWFhUmVjb3JkO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJHbG9iYWxTdGFja1Byb3BzICYgU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcHMuZGVzY3JpcHRpb24gPz8gcHJvcHMuc3RhY2tOYW1lID8/ICcnfSBXZWIgR2xvYmFsIFN0YWNrYFxuICAgIH0pO1xuICAgIGFkZEV2b1N0YWNrVGFncyh0aGlzLCAnV2ViR2xvYmFsU3RhY2snKTtcblxuICAgIGNvbnN0IGhvc3RlZFpvbmUgPSBnZXRIb3N0ZWRab25lKHRoaXMsICdnZXRIb3N0ZWRab25lJywgcHJvcHMuaG9zdGVkWm9uZSk7XG5cbiAgICBjb25zdCBfc3NsQ2VydCA9IG5ldyBTU0xDZXJ0aWZpY2F0ZSh0aGlzLCAnU1NMQ2VydGlmaWNhdGUnLCB7XG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3lcbiAgICB9KTtcbiAgICB0aGlzLnNzbENlcnRpZmljYXRlID0gX3NzbENlcnQuY2VydGlmaWNhdGU7XG5cbiAgICBjb25zdCBfczNCdWNrZXQgPSBuZXcgUzNCdWNrZXQodGhpcywgJ1MzQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSA/PyBQaHlzaWNhbE5hbWUuR0VORVJBVEVfSUZfTkVFREVELFxuICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgIH0pO1xuICAgIHRoaXMuczNCdWNrZXQgPSBfczNCdWNrZXQuYnVja2V0O1xuXG4gICAgbGV0IHJlc3BvbnNlSGVhZGVyc1BvbGljeTogSVJlc3BvbnNlSGVhZGVyc1BvbGljeSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5KSB7XG4gICAgICBpZiAodHlwZW9mIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeSA9PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kL2kudGVzdChwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kpKSB7XG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gUmVzcG9uc2VIZWFkZXJzUG9saWN5LmZyb21SZXNwb25zZUhlYWRlcnNQb2xpY3lJZCh0aGlzLCAncmVzcG9uc2UtaGVhZGVycy1wb2xpY3ktYnktaWQnLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IFJlc3BvbnNlSGVhZGVyc1BvbGljeVtwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kgYXMga2V5b2YgdHlwZW9mIFJlc3BvbnNlSGVhZGVyc1BvbGljeV0gYXMgSVJlc3BvbnNlSGVhZGVyc1BvbGljeSA/PyBSZXNwb25zZUhlYWRlcnNQb2xpY3kuU0VDVVJJVFlfSEVBREVSUztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kucGF0aCkge1xuICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3kgPSBSZXNwb25zZUhlYWRlcnNQb2xpY3kuZnJvbVJlc3BvbnNlSGVhZGVyc1BvbGljeUlkKHRoaXMsICdyZXNwb25zZS1oZWFkZXJzLXBvbGljeS1ieS1pZCcsIFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcih0aGlzLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kucGF0aCwgcHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5LnZlcnNpb24pKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYmFzZUhlYWRlcnNCZWhhdmlvcjogUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciA9IHtcbiAgICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5zZWNvbmRzKDMxNTM2MDAwKVxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50VHlwZU9wdGlvbnM6IHtcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBmcmFtZU9wdGlvbnM6IHtcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICBmcmFtZU9wdGlvbjogSGVhZGVyc0ZyYW1lT3B0aW9uLlNBTUVPUklHSU4sXG4gICAgICAgIH0sXG4gICAgICAgIHJlZmVycmVyUG9saWN5OiB7XG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgICAgcmVmZXJyZXJQb2xpY3k6IEhlYWRlcnNSZWZlcnJlclBvbGljeS5TVFJJQ1RfT1JJR0lOX1dIRU5fQ1JPU1NfT1JJR0lOXG4gICAgICAgIH0sXG4gICAgICAgIHhzc1Byb3RlY3Rpb246IHtcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIG1vZGVCbG9jazogdHJ1ZVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lID0gYCR7ZG9tYWluQXNJZChwcm9wcy5kb21haW5OYW1lKX0tcmVzcG9uc2UtaGVhZGVycy1wb2xpY3lgO1xuICAgICAgXG4gICAgICBpZiAocHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMpIHtcbiAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gbmV3IFJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAncmVzcG9uc2UtaGVhZGVycy1wb2xpY3knLCB7XG4gICAgICAgICAgLi4uYmFzZUhlYWRlcnNCZWhhdmlvcixcbiAgICAgICAgICAuLi5wcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyxcbiAgICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lOiBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lIHx8IHJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnJlc3BvbnNlQ3NwSGVhZGVycykge1xuICAgICAgICBsZXQgY3NwID0gJyc7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvcHMucmVzcG9uc2VDc3BIZWFkZXJzID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKGlzQ3NwQ3N2KHByb3BzLnJlc3BvbnNlQ3NwSGVhZGVycykpIHtcbiAgICAgICAgICAgIGNzcCA9IGNzcEhlYWRlcnNUb1N0cmluZyhwYXJzZUNzcENzdihwcm9wcy5yZXNwb25zZUNzcEhlYWRlcnMpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NwID0gcHJvcHMucmVzcG9uc2VDc3BIZWFkZXJzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjc3AgPSBPYmplY3QuZW50cmllcyhwcm9wcy5yZXNwb25zZUNzcEhlYWRlcnMpLm1hcCgoW2RpcmVjdGl2ZSwgdmFsdWVzXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke2RpcmVjdGl2ZX0gJHt2YWx1ZXMuam9pbignICcpfTtgXG4gICAgICAgICAgfSkuam9pbignICcpXG4gICAgICAgIH1cbiAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gbmV3IFJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAncmVzcG9uc2UtaGVhZGVycy1wb2xpY3knLCB7XG4gICAgICAgICAgc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I6IHtcbiAgICAgICAgICAgIC4uLmJhc2VIZWFkZXJzQmVoYXZpb3IsXG4gICAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeTogY3NwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCB3aHkgdGhlIHRoZSBwb2xpY3kgaXMgbm90IGdldHRpbmcgdXBkYXRlZCBpbiB0aGUgQ2xvdWRGcm9udCBiZWhhdmlvclxuICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gcmVzcG9uc2VIZWFkZXJzUG9saWN5O1xuXG4gICAgY29uc3QgZGVmYXVsdEJlaGF2aW9yOiBCZWhhdmlvck9wdGlvbnMgPSB7XG4gICAgICBvcmlnaW46IFMzQnVja2V0T3JpZ2luLndpdGhPcmlnaW5BY2Nlc3NDb250cm9sKHRoaXMuczNCdWNrZXQpLFxuICAgICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtdLFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5OiByZXNwb25zZUhlYWRlcnNQb2xpY3kgPz8gKHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeSAhPT0gZmFsc2UgPyBSZXNwb25zZUhlYWRlcnNQb2xpY3kuU0VDVVJJVFlfSEVBREVSUyA6IHVuZGVmaW5lZClcbiAgICB9O1xuXG4gICAgbGV0IGNmZm46IENsb3VkRnJvbnRGdW5jdGlvbjtcbiAgICBpZiAocHJvcHMuYmFzaWNBdXRoKSB7XG4gICAgICBpZiAodHlwZW9mIHByb3BzLmJhc2ljQXV0aCAhPSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoKHByb3BzLmJhc2ljQXV0aCBhcyBCYXNpY0F1dGhDcmVkZW50aWFscykudXNlciAmJiAocHJvcHMuYmFzaWNBdXRoIGFzIEJhc2ljQXV0aENyZWRlbnRpYWxzKS5wYXNzd29yZCkge1xuICAgICAgICAgIHByb3BzLmJhc2ljQXV0aCA9IEJ1ZmZlci5mcm9tKGAkeyhwcm9wcy5iYXNpY0F1dGggYXMgQmFzaWNBdXRoQ3JlZGVudGlhbHMpLnVzZXJ9OiR7KHByb3BzLmJhc2ljQXV0aCBhcyBCYXNpY0F1dGhDcmVkZW50aWFscykucGFzc3dvcmR9YCkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgICAgICB9IGVsc2UgaWYgKChwcm9wcy5iYXNpY0F1dGggYXMgU3NtU3RyaW5nUGFyYW1ldGVyKS5wYXRoKSB7XG4gICAgICAgICAgcHJvcHMuYmFzaWNBdXRoID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yU3RyaW5nUGFyYW1ldGVyKHRoaXMsIChwcm9wcy5iYXNpY0F1dGggYXMgU3NtU3RyaW5nUGFyYW1ldGVyKS5wYXRoLCAocHJvcHMuYmFzaWNBdXRoIGFzIFNzbVN0cmluZ1BhcmFtZXRlcikudmVyc2lvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvcHMuYmFzaWNBdXRoID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24pIHtcbiAgICAgIGNmZm4gPSBDbG91ZEZyb250RnVuY3Rpb24uY3JlYXRlRnVuY3Rpb24odGhpcywgbnVsbCwge1xuICAgICAgICBjcmVkZW50aWFsczogcHJvcHMuYmFzaWNBdXRoLFxuICAgICAgICByZWRpcmVjdHM6IHByb3BzLnJlZGlyZWN0cyxcbiAgICAgICAgcmVkaXJlY3RzQ3N2UGF0aDogcHJvcHMucmVkaXJlY3RzQ3N2UGF0aCxcbiAgICAgICAgY29kZTogcHJvcHMuY2xvdWRmcm9udEZ1bmN0aW9uLmNvZGUsXG4gICAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3lcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYmFzaWNBdXRoKSB7XG4gICAgICBjZmZuID0gQ2xvdWRGcm9udEZ1bmN0aW9uLmNyZWF0ZUJhc2ljQXV0aERlZmF1bHREb2ModGhpcywge1xuICAgICAgICBjcmVkZW50aWFsczogcHJvcHMuYmFzaWNBdXRoLFxuICAgICAgICByZWRpcmVjdHM6IHByb3BzLnJlZGlyZWN0cyxcbiAgICAgICAgcmVkaXJlY3RzQ3N2UGF0aDogcHJvcHMucmVkaXJlY3RzQ3N2UGF0aCxcbiAgICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNmZm4gPSBDbG91ZEZyb250RnVuY3Rpb24uY3JlYXRlRGVmYXVsdERvYyh0aGlzLCB7XG4gICAgICAgIHJlZGlyZWN0czogcHJvcHMucmVkaXJlY3RzLFxuICAgICAgICByZWRpcmVjdHNDc3ZQYXRoOiBwcm9wcy5yZWRpcmVjdHNDc3ZQYXRoLFxuICAgICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jbG91ZEZyb250RnVuY3Rpb24gPSBjZmZuLmZuO1xuXG4gICAgLy8gY29uc3QgZXZlbnRUeXBlczogQ2xvdWRGcm9udEZ1bmN0aW9uRXZlbnRUeXBlW10gPSBwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24/LmV2ZW50VHlwZSAmJiBwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24uZXZlbnRUeXBlLmxlbmd0aCA+IDAgPyBwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24uZXZlbnRUeXBlIDogWydWSUVXRVJfUkVRVUVTVCcsICdWSUVXRVJfUkVTUE9OU0UnXTtcblxuICAgIGxldCBldmVudFR5cGVzOiBDbG91ZEZyb250RnVuY3Rpb25FdmVudFR5cGVbXSA9IFsnVklFV0VSX1JFUVVFU1QnLCAnVklFV0VSX1JFU1BPTlNFJ107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcHMuY2xvdWRmcm9udEZ1bmN0aW9uPy5ldmVudFR5cGUpICYmIHByb3BzLmNsb3VkZnJvbnRGdW5jdGlvbi5ldmVudFR5cGUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZXRzID0gcHJvcHMuY2xvdWRmcm9udEZ1bmN0aW9uLmV2ZW50VHlwZVxuICAgICAgICAuZmlsdGVyKCh2LCBpLCBhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR5cGVvZiB2ID09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAodiA9PT0gJ1ZJRVdFUl9SRVFVRVNUJyB8fCB2ID09PSAnVklFV0VSX1JFU1BPTlNFJykgJiZcbiAgICAgICAgICAgIGEuaW5kZXhPZih2KSA9PT0gaSAvLyBkZWR1cFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgaWYgKGV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGV2ZW50VHlwZXMgPSBldHM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBldmVudFR5cGUgb2YgZXZlbnRUeXBlcykge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yLmZ1bmN0aW9uQXNzb2NpYXRpb25zIS5wdXNoKHtcbiAgICAgICAgZXZlbnRUeXBlOiBGdW5jdGlvbkV2ZW50VHlwZVtldmVudFR5cGVdLFxuICAgICAgICBmdW5jdGlvbjogdGhpcy5jbG91ZEZyb250RnVuY3Rpb25cbiAgICAgIH0pO1xuICAgIH1cbiAgICBcbiAgICBsZXQgd2ViQWNsSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHByb3BzLndlYkFjbCA9PSAnc3RyaW5nJyAmJiBwcm9wcy53ZWJBY2wuc3RhcnRzV2l0aCgnYXJuOmF3cycpKSB7XG4gICAgICB3ZWJBY2xJZCA9IHByb3BzLndlYkFjbDtcbiAgICB9IGVsc2UgaWYgKChwcm9wcy53ZWJBY2wgYXMgU3NtU3RyaW5nUGFyYW1ldGVyKS5wYXRoKSB7XG4gICAgICB3ZWJBY2xJZCA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcih0aGlzLCAocHJvcHMud2ViQWNsIGFzIFNzbVN0cmluZ1BhcmFtZXRlcikucGF0aCwgKHByb3BzLndlYkFjbCBhcyBTc21TdHJpbmdQYXJhbWV0ZXIpLnZlcnNpb24pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMud2ViQWNsID09PSB0cnVlKSB7XG4gICAgICBjb25zdCB3YWYgPSBuZXcgQ2xvdWRGcm9udFdlYkFjbCh0aGlzLCAnQ2xvdWRGcm9udFdlYkFjbCcsIHtcbiAgICAgICAgbmFtZTogYCR7ZG9tYWluQXNJZChwcm9wcy5kb21haW5OYW1lKX1gLFxuICAgICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgICB9KTtcbiAgICAgIHRoaXMud2ViQWNsID0gd2FmLmFjbDtcbiAgICAgIHdlYkFjbElkID0gd2FmLmFjbC5hdHRyQXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IENsb3VkRnJvbnREaXN0cmlidXRpb24odGhpcywgJ0Nsb3VkRnJvbnREaXN0cmlidXRpb24nLCB7XG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uID8/IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICBwcmljZUNsYXNzOiBwcm9wcy5lbnZUeXBlLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMuc3NsQ2VydGlmaWNhdGUsXG4gICAgICBkZWZhdWx0QmVoYXZpb3IsXG4gICAgICB3ZWJBY2xJZCxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBwcm9wcy5lcnJvclJlc3BvbnNlc1xuICAgIH0pO1xuICAgIHRoaXMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbiA9IGNmRGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbjtcblxuICAgIGNvbnN0IGNmQWxpYXMgPSBuZXcgQ2xvdWRGcm9udEFsaWFzKHRoaXMsICdDbG91ZEZyb250QWxpYXMnLCB7XG4gICAgICBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbixcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lXG4gICAgfSk7XG4gICAgdGhpcy5hUmVjb3JkID0gY2ZBbGlhcy5hUmVjb3JkO1xuICAgIHRoaXMuYWFhYVJlY29yZCA9IGNmQWxpYXMuYWFhYVJlY29yZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NzcENzdihzdHI6IHN0cmluZykge1xuICBpZiAodHlwZW9mIHN0ciAhPSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBsaW5lcyA9IHN0ci50cmltKCkuc3BsaXQoJ1xcbicpO1xuICBpZiAobGluZXMubGVuZ3RoIDwgMSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBoZWFkZXJzID0gbGluZXNbMF0uc3BsaXQoJywnKS5tYXAoaCA9PiBoLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgcmV0dXJuIGhlYWRlcnMuaW5kZXhPZignc291cmNlJykgIT09IC0xO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNzcENzdihjc3Y6IHN0cmluZyk6IENzcEhlYWRlcnMge1xuICBjb25zdCBsaW5lcyA9IGNzdi50cmltKCkuc3BsaXQoJ1xcbicpO1xuICBpZiAobGluZXMubGVuZ3RoIDwgMSkgcmV0dXJuIHt9O1xuXG4gIC8vIFBhcnNlIGhlYWRlciByb3dcbiAgY29uc3QgaGVhZGVycyA9IGxpbmVzWzBdLnNwbGl0KCcsJykubWFwKGggPT4gaC50cmltKCkudG9Mb3dlckNhc2UoKSk7XG4gIGNvbnN0IHNvdXJjZUluZGV4ID0gaGVhZGVycy5pbmRleE9mKCdzb3VyY2UnKTtcblxuICBpZiAoc291cmNlSW5kZXggPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDU1YgbXVzdCBjb250YWluIGEgXCJzb3VyY2VcIiBjb2x1bW4nKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogQ3NwSGVhZGVycyA9IHt9O1xuXG4gIC8vIFByb2Nlc3MgZGF0YSByb3dzXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbaV0udHJpbSgpO1xuICAgIGlmICghbGluZSkgY29udGludWU7IC8vIFNraXAgZW1wdHkgbGluZXNcblxuICAgIGNvbnN0IHZhbHVlcyA9IGxpbmUuc3BsaXQoJywnKS5tYXAodiA9PiB2LnRyaW0oKSk7XG4gICAgY29uc3Qgc291cmNlID0gdmFsdWVzW3NvdXJjZUluZGV4XTtcblxuICAgIGlmICghc291cmNlKSBjb250aW51ZTsgLy8gU2tpcCByb3dzIHdpdGggbm8gc291cmNlXG5cbiAgICAvLyBGb3IgZWFjaCBkaXJlY3RpdmUsIGFkZCBzb3VyY2UgaWYgdGhlIHZhbHVlIGlzIG1hcmtlZCB3aXRoICd4J1xuICAgIGhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyLCBjb2xJbmRleCkgPT4ge1xuICAgICAgaWYgKGhlYWRlciAhPT0gJ3NvdXJjZScgJiYgdmFsdWVzW2NvbEluZGV4XS50b0xvd2VyQ2FzZSgpID09PSAneCcpIHtcbiAgICAgICAgaWYgKCFyZXN1bHRbaGVhZGVyIGFzIGtleW9mIENzcEhlYWRlcnNdKSB7XG4gICAgICAgICAgcmVzdWx0W2hlYWRlciBhcyBrZXlvZiBDc3BIZWFkZXJzXSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIChyZXN1bHRbaGVhZGVyIGFzIGtleW9mIENzcEhlYWRlcnNdIGFzIHN0cmluZ1tdKS5wdXNoKHNvdXJjZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBjc3BIZWFkZXJzVG9TdHJpbmcoaGVhZGVyczogQ3NwSGVhZGVycyk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhoZWFkZXJzKVxuICAgIC5tYXAoKFtkaXJlY3RpdmUsIHNvdXJjZXNdKSA9PiBgJHtkaXJlY3RpdmV9ICR7c291cmNlcy5qb2luKCcgJyl9O2ApXG4gICAgLmpvaW4oJyAnKTtcbn0iXX0=
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLWdsb2JhbC1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGFja3Mvd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzL3dlYi1nbG9iYWwtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBYyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUF5QyxpQkFBaUIsRUFBd0cscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc5USxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBK0Isa0JBQWtCLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEosT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUEwQnBFLE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztJQUN2QixjQUFjLENBQWM7SUFDNUIsUUFBUSxDQUFTO0lBQ2pCLGtCQUFrQixDQUFXO0lBQzdCLHNCQUFzQixDQUFlO0lBQ3JDLE1BQU0sQ0FBd0I7SUFDOUIscUJBQXFCLENBQXFDO0lBQzFELE9BQU8sQ0FBVTtJQUNqQixVQUFVLENBQWE7SUFFdkMsWUFBWSxLQUFn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RSxDQUFDO2dCQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQTBCLENBQUMsRUFBRSxDQUFDO29CQUN4QyxNQUFNLENBQUMsTUFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQztnQkFDQSxNQUFNLENBQUMsTUFBMEIsQ0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBbUI7SUFDN0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcywgUGh5c2ljYWxOYW1lLCBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmltcG9ydCB7IENlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7IERpc3RyaWJ1dGlvbiwgRXJyb3JSZXNwb25zZSwgRnVuY3Rpb24sIEZ1bmN0aW9uRXZlbnRUeXBlLCBJUmVzcG9uc2VIZWFkZXJzUG9saWN5LCBSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcywgUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciwgQmVoYXZpb3JPcHRpb25zLCBSZXNwb25zZUhlYWRlcnNQb2xpY3ksIEhlYWRlcnNGcmFtZU9wdGlvbiwgSGVhZGVyc1JlZmVycmVyUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0IHsgQVJlY29yZCwgQWFhYVJlY29yZCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgeyBDZm5XZWJBQ0wgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtd2FmdjInO1xuXG5pbXBvcnQgeyBTU0xDZXJ0aWZpY2F0ZSB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY2VydGlmaWNhdGVtYW5hZ2VyLmpzJztcbmltcG9ydCB7IENsb3VkRnJvbnRGdW5jdGlvblJlZGlyZWN0cywgQ2xvdWRGcm9udEZ1bmN0aW9uLCBDbG91ZEZyb250RGlzdHJpYnV0aW9uLCBDbG91ZEZyb250RXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvY2xvdWRmcm9udC5qcyc7XG5pbXBvcnQgeyBnZXRIb3N0ZWRab25lLCBDbG91ZEZyb250QWxpYXMgfSBmcm9tICcuLi8uLi9jb25zdHJ1Y3RzL3JvdXRlNTMuanMnO1xuaW1wb3J0IHsgUzNCdWNrZXQgfSBmcm9tICcuLi8uLi9jb25zdHJ1Y3RzL3MzLmpzJztcbmltcG9ydCB0eXBlIHsgU3NtU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vY29uc3RydWN0cy9zc20udHMnO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFdlYkFjbCB9IGZyb20gJy4uLy4uL2NvbnN0cnVjdHMvd2FmLmpzJztcbmltcG9ydCB7IGRvbWFpbkFzSWQgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMuanMnO1xuaW1wb3J0IHsgYWRkRXZvU3RhY2tUYWdzIH0gZnJvbSAnLi4vLi4vbGliL3RhZ3MudHMnO1xuaW1wb3J0IHsgUzNCdWNrZXRPcmlnaW4gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB0eXBlIHsgQmFzaWNBdXRoQ3JlZGVudGlhbHMsIENzcEhlYWRlcnMsIENsb3VkRnJvbnRGdW5jdGlvbkV2ZW50VHlwZSwgVVVJRCwgQVdTTWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeSB9IGZyb20gJy4uLy4uL3R5cGVzLmQudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYkdsb2JhbFN0YWNrUHJvcHMge1xuICBlbnZUeXBlOiAnTk9UX1BST0QnIHwgJ1BST0QnO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYnVja2V0TmFtZT86IHN0cmluZztcbiAgaG9zdGVkWm9uZTogc3RyaW5nO1xuICBkb21haW5OYW1lOiBzdHJpbmc7XG4gIGJhc2ljQXV0aD86IHN0cmluZyB8IEJhc2ljQXV0aENyZWRlbnRpYWxzIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICBjbG91ZGZyb250RnVuY3Rpb24/OiB7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGV2ZW50VHlwZTogQ2xvdWRGcm9udEZ1bmN0aW9uRXZlbnRUeXBlW107XG4gIH1cbiAgcmVkaXJlY3RzPzogQ2xvdWRGcm9udEZ1bmN0aW9uUmVkaXJlY3RzO1xuICByZWRpcmVjdHNDc3ZQYXRoPzogc3RyaW5nO1xuICAvLyBhdHRhY2hXZWJBY2w/OiBib29sZWFuIHwgc3RyaW5nO1xuICB3ZWJBY2w/OiBib29sZWFuIHwgc3RyaW5nIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICByZXNwb25zZUhlYWRlcnNQb2xpY3k/OiBmYWxzZSB8IEFXU01hbmFnZWRSZXNwb25zZUhlYWRlcnNQb2xpY3kgfCBVVUlEIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZXNwb25zZUNzcEhlYWRlcnM/OiBDc3BIZWFkZXJzIHwgc3RyaW5nO1xuICBkZXN0cm95PzogYm9vbGVhbjtcbiAgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGVycm9yUmVzcG9uc2VzPzogKENsb3VkRnJvbnRFcnJvclJlc3BvbnNlIHwgRXJyb3JSZXNwb25zZSlbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFdlYkdsb2JhbFN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwdWJsaWMgcmVhZG9ubHkgc3NsQ2VydGlmaWNhdGU6IENlcnRpZmljYXRlO1xuICBwdWJsaWMgcmVhZG9ubHkgczNCdWNrZXQ6IEJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRGdW5jdGlvbjogRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uOiBEaXN0cmlidXRpb247XG4gIHB1YmxpYyByZWFkb25seSB3ZWJBY2w6IENmbldlYkFDTCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeTogSVJlc3BvbnNlSGVhZGVyc1BvbGljeSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGFSZWNvcmQ6IEFSZWNvcmQ7XG4gIHB1YmxpYyByZWFkb25seSBhYWFhUmVjb3JkOiBBYWFhUmVjb3JkO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJHbG9iYWxTdGFja1Byb3BzICYgU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcHMuZGVzY3JpcHRpb24gPz8gcHJvcHMuc3RhY2tOYW1lID8/ICcnfSBXZWIgR2xvYmFsIFN0YWNrYFxuICAgIH0pO1xuICAgIGFkZEV2b1N0YWNrVGFncyh0aGlzLCAnV2ViR2xvYmFsU3RhY2snKTtcblxuICAgIHByb3BzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb24gPz8gcHJvcHMuc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IGdldEhvc3RlZFpvbmUodGhpcywgJ2dldEhvc3RlZFpvbmUnLCBwcm9wcy5ob3N0ZWRab25lKTtcblxuICAgIGNvbnN0IF9zc2xDZXJ0ID0gbmV3IFNTTENlcnRpZmljYXRlKHRoaXMsICdTU0xDZXJ0aWZpY2F0ZScsIHtcbiAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lLFxuICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgIH0pO1xuICAgIHRoaXMuc3NsQ2VydGlmaWNhdGUgPSBfc3NsQ2VydC5jZXJ0aWZpY2F0ZTtcblxuICAgIGNvbnN0IF9zM0J1Y2tldCA9IG5ldyBTM0J1Y2tldCh0aGlzLCAnUzNCdWNrZXQnLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lID8/IFBoeXNpY2FsTmFtZS5HRU5FUkFURV9JRl9ORUVERUQsXG4gICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgfSk7XG4gICAgdGhpcy5zM0J1Y2tldCA9IF9zM0J1Y2tldC5idWNrZXQ7XG5cbiAgICBsZXQgcmVzcG9uc2VIZWFkZXJzUG9saWN5OiBJUmVzcG9uc2VIZWFkZXJzUG9saWN5IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5ID09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICgvXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezEyfSQvaS50ZXN0KHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeSkpIHtcbiAgICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3kgPSBSZXNwb25zZUhlYWRlcnNQb2xpY3kuZnJvbVJlc3BvbnNlSGVhZGVyc1BvbGljeUlkKHRoaXMsICdyZXNwb25zZS1oZWFkZXJzLXBvbGljeS1ieS1pZCcsIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gUmVzcG9uc2VIZWFkZXJzUG9saWN5W3Byb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeSBhcyBrZXlvZiB0eXBlb2YgUmVzcG9uc2VIZWFkZXJzUG9saWN5XSBhcyBJUmVzcG9uc2VIZWFkZXJzUG9saWN5ID8/IFJlc3BvbnNlSGVhZGVyc1BvbGljeS5TRUNVUklUWV9IRUFERVJTO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeS5wYXRoKSB7XG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IFJlc3BvbnNlSGVhZGVyc1BvbGljeS5mcm9tUmVzcG9uc2VIZWFkZXJzUG9saWN5SWQodGhpcywgJ3Jlc3BvbnNlLWhlYWRlcnMtcG9saWN5LWJ5LWlkJywgU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yU3RyaW5nUGFyYW1ldGVyKHRoaXMsIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeS5wYXRoLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kudmVyc2lvbikpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBiYXNlSGVhZGVyc0JlaGF2aW9yOiBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yID0ge1xuICAgICAgICBzdHJpY3RUcmFuc3BvcnRTZWN1cml0eToge1xuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2U6IER1cmF0aW9uLnNlY29uZHMoMzE1MzYwMDApXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRUeXBlT3B0aW9uczoge1xuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGZyYW1lT3B0aW9uczoge1xuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIGZyYW1lT3B0aW9uOiBIZWFkZXJzRnJhbWVPcHRpb24uU0FNRU9SSUdJTixcbiAgICAgICAgfSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IHtcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICByZWZlcnJlclBvbGljeTogSGVhZGVyc1JlZmVycmVyUG9saWN5LlNUUklDVF9PUklHSU5fV0hFTl9DUk9TU19PUklHSU5cbiAgICAgICAgfSxcbiAgICAgICAgeHNzUHJvdGVjdGlvbjoge1xuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIHByb3RlY3Rpb246IHRydWUsXG4gICAgICAgICAgbW9kZUJsb2NrOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWUgPSBgJHtkb21haW5Bc0lkKHByb3BzLmRvbWFpbk5hbWUpfS1yZXNwb25zZS1oZWFkZXJzLXBvbGljeWA7XG4gICAgICBcbiAgICAgIGlmIChwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykge1xuICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3kgPSBuZXcgUmVzcG9uc2VIZWFkZXJzUG9saWN5KHRoaXMsICdyZXNwb25zZS1oZWFkZXJzLXBvbGljeScsIHtcbiAgICAgICAgICAuLi5iYXNlSGVhZGVyc0JlaGF2aW9yLFxuICAgICAgICAgIC4uLnByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLFxuICAgICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWU6IHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWUgfHwgcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucmVzcG9uc2VDc3BIZWFkZXJzKSB7XG4gICAgICAgIGxldCBjc3AgPSAnJztcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9wcy5yZXNwb25zZUNzcEhlYWRlcnMgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAoaXNDc3BDc3YocHJvcHMucmVzcG9uc2VDc3BIZWFkZXJzKSkge1xuICAgICAgICAgICAgY3NwID0gY3NwSGVhZGVyc1RvU3RyaW5nKHBhcnNlQ3NwQ3N2KHByb3BzLnJlc3BvbnNlQ3NwSGVhZGVycykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjc3AgPSBwcm9wcy5yZXNwb25zZUNzcEhlYWRlcnM7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNzcCA9IE9iamVjdC5lbnRyaWVzKHByb3BzLnJlc3BvbnNlQ3NwSGVhZGVycykubWFwKChbZGlyZWN0aXZlLCB2YWx1ZXNdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZGlyZWN0aXZlfSAke3ZhbHVlcy5qb2luKCcgJyl9O2BcbiAgICAgICAgICB9KS5qb2luKCcgJylcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3kgPSBuZXcgUmVzcG9uc2VIZWFkZXJzUG9saWN5KHRoaXMsICdyZXNwb25zZS1oZWFkZXJzLXBvbGljeScsIHtcbiAgICAgICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICAgICAgLi4uYmFzZUhlYWRlcnNCZWhhdmlvcixcbiAgICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeToge1xuICAgICAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5OiBjc3BcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGUgdGhlIHBvbGljeSBpcyBub3QgZ2V0dGluZyB1cGRhdGVkIGluIHRoZSBDbG91ZEZyb250IGJlaGF2aW9yXG4gICAgdGhpcy5yZXNwb25zZUhlYWRlcnNQb2xpY3kgPSByZXNwb25zZUhlYWRlcnNQb2xpY3k7XG5cbiAgICBjb25zdCBkZWZhdWx0QmVoYXZpb3I6IEJlaGF2aW9yT3B0aW9ucyA9IHtcbiAgICAgIG9yaWdpbjogUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0NvbnRyb2wodGhpcy5zM0J1Y2tldCksXG4gICAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogW10sXG4gICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3k6IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA/PyAocHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5ICE9PSBmYWxzZSA/IFJlc3BvbnNlSGVhZGVyc1BvbGljeS5TRUNVUklUWV9IRUFERVJTIDogdW5kZWZpbmVkKVxuICAgIH07XG5cbiAgICBsZXQgY2ZmbjogQ2xvdWRGcm9udEZ1bmN0aW9uO1xuICAgIGlmIChwcm9wcy5iYXNpY0F1dGgpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMuYmFzaWNBdXRoICE9ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICgocHJvcHMuYmFzaWNBdXRoIGFzIEJhc2ljQXV0aENyZWRlbnRpYWxzKS51c2VyICYmIChwcm9wcy5iYXNpY0F1dGggYXMgQmFzaWNBdXRoQ3JlZGVudGlhbHMpLnBhc3N3b3JkKSB7XG4gICAgICAgICAgcHJvcHMuYmFzaWNBdXRoID0gQnVmZmVyLmZyb20oYCR7KHByb3BzLmJhc2ljQXV0aCBhcyBCYXNpY0F1dGhDcmVkZW50aWFscykudXNlcn06JHsocHJvcHMuYmFzaWNBdXRoIGFzIEJhc2ljQXV0aENyZWRlbnRpYWxzKS5wYXNzd29yZH1gKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgICAgIH0gZWxzZSBpZiAoKHByb3BzLmJhc2ljQXV0aCBhcyBTc21TdHJpbmdQYXJhbWV0ZXIpLnBhdGgpIHtcbiAgICAgICAgICBwcm9wcy5iYXNpY0F1dGggPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGb3JTdHJpbmdQYXJhbWV0ZXIodGhpcywgKHByb3BzLmJhc2ljQXV0aCBhcyBTc21TdHJpbmdQYXJhbWV0ZXIpLnBhdGgsIChwcm9wcy5iYXNpY0F1dGggYXMgU3NtU3RyaW5nUGFyYW1ldGVyKS52ZXJzaW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9wcy5iYXNpY0F1dGggPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmNsb3VkZnJvbnRGdW5jdGlvbikge1xuICAgICAgY2ZmbiA9IENsb3VkRnJvbnRGdW5jdGlvbi5jcmVhdGVGdW5jdGlvbih0aGlzLCBudWxsLCB7XG4gICAgICAgIGNyZWRlbnRpYWxzOiBwcm9wcy5iYXNpY0F1dGgsXG4gICAgICAgIHJlZGlyZWN0czogcHJvcHMucmVkaXJlY3RzLFxuICAgICAgICByZWRpcmVjdHNDc3ZQYXRoOiBwcm9wcy5yZWRpcmVjdHNDc3ZQYXRoLFxuICAgICAgICBjb2RlOiBwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24uY29kZSxcbiAgICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5iYXNpY0F1dGgpIHtcbiAgICAgIGNmZm4gPSBDbG91ZEZyb250RnVuY3Rpb24uY3JlYXRlQmFzaWNBdXRoRGVmYXVsdERvYyh0aGlzLCB7XG4gICAgICAgIGNyZWRlbnRpYWxzOiBwcm9wcy5iYXNpY0F1dGgsXG4gICAgICAgIHJlZGlyZWN0czogcHJvcHMucmVkaXJlY3RzLFxuICAgICAgICByZWRpcmVjdHNDc3ZQYXRoOiBwcm9wcy5yZWRpcmVjdHNDc3ZQYXRoLFxuICAgICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2ZmbiA9IENsb3VkRnJvbnRGdW5jdGlvbi5jcmVhdGVEZWZhdWx0RG9jKHRoaXMsIHtcbiAgICAgICAgcmVkaXJlY3RzOiBwcm9wcy5yZWRpcmVjdHMsXG4gICAgICAgIHJlZGlyZWN0c0NzdlBhdGg6IHByb3BzLnJlZGlyZWN0c0NzdlBhdGgsXG4gICAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3lcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNsb3VkRnJvbnRGdW5jdGlvbiA9IGNmZm4uZm47XG5cbiAgICAvLyBjb25zdCBldmVudFR5cGVzOiBDbG91ZEZyb250RnVuY3Rpb25FdmVudFR5cGVbXSA9IHByb3BzLmNsb3VkZnJvbnRGdW5jdGlvbj8uZXZlbnRUeXBlICYmIHByb3BzLmNsb3VkZnJvbnRGdW5jdGlvbi5ldmVudFR5cGUubGVuZ3RoID4gMCA/IHByb3BzLmNsb3VkZnJvbnRGdW5jdGlvbi5ldmVudFR5cGUgOiBbJ1ZJRVdFUl9SRVFVRVNUJywgJ1ZJRVdFUl9SRVNQT05TRSddO1xuXG4gICAgbGV0IGV2ZW50VHlwZXM6IENsb3VkRnJvbnRGdW5jdGlvbkV2ZW50VHlwZVtdID0gWydWSUVXRVJfUkVRVUVTVCcsICdWSUVXRVJfUkVTUE9OU0UnXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24/LmV2ZW50VHlwZSkgJiYgcHJvcHMuY2xvdWRmcm9udEZ1bmN0aW9uLmV2ZW50VHlwZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBldHMgPSBwcm9wcy5jbG91ZGZyb250RnVuY3Rpb24uZXZlbnRUeXBlXG4gICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHlwZW9mIHYgPT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICh2ID09PSAnVklFV0VSX1JFUVVFU1QnIHx8IHYgPT09ICdWSUVXRVJfUkVTUE9OU0UnKSAmJlxuICAgICAgICAgICAgYS5pbmRleE9mKHYpID09PSBpIC8vIGRlZHVwXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICBpZiAoZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZXZlbnRUeXBlcyA9IGV0cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGV2ZW50VHlwZSBvZiBldmVudFR5cGVzKSB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3IuZnVuY3Rpb25Bc3NvY2lhdGlvbnMhLnB1c2goe1xuICAgICAgICBldmVudFR5cGU6IEZ1bmN0aW9uRXZlbnRUeXBlW2V2ZW50VHlwZV0sXG4gICAgICAgIGZ1bmN0aW9uOiB0aGlzLmNsb3VkRnJvbnRGdW5jdGlvblxuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICAgIGxldCB3ZWJBY2xJZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgcHJvcHMud2ViQWNsID09ICdzdHJpbmcnICYmIHByb3BzLndlYkFjbC5zdGFydHNXaXRoKCdhcm46YXdzJykpIHtcbiAgICAgIHdlYkFjbElkID0gcHJvcHMud2ViQWNsO1xuICAgIH0gZWxzZSBpZiAoKHByb3BzLndlYkFjbCBhcyBTc21TdHJpbmdQYXJhbWV0ZXIpLnBhdGgpIHtcbiAgICAgIHdlYkFjbElkID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yU3RyaW5nUGFyYW1ldGVyKHRoaXMsIChwcm9wcy53ZWJBY2wgYXMgU3NtU3RyaW5nUGFyYW1ldGVyKS5wYXRoLCAocHJvcHMud2ViQWNsIGFzIFNzbVN0cmluZ1BhcmFtZXRlcikudmVyc2lvbik7XG4gICAgfSBlbHNlIGlmIChwcm9wcy53ZWJBY2wgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IHdhZiA9IG5ldyBDbG91ZEZyb250V2ViQWNsKHRoaXMsICdDbG91ZEZyb250V2ViQWNsJywge1xuICAgICAgICBuYW1lOiBgJHtkb21haW5Bc0lkKHByb3BzLmRvbWFpbk5hbWUpfWAsXG4gICAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3lcbiAgICAgIH0pO1xuICAgICAgdGhpcy53ZWJBY2wgPSB3YWYuYWNsO1xuICAgICAgd2ViQWNsSWQgPSB3YWYuYWNsLmF0dHJBcm47XG4gICAgfVxuXG4gICAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbih0aGlzLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24gPz8gcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgIHByaWNlQ2xhc3M6IHByb3BzLmVudlR5cGUsXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5zc2xDZXJ0aWZpY2F0ZSxcbiAgICAgIGRlZmF1bHRCZWhhdmlvcixcbiAgICAgIHdlYkFjbElkLFxuICAgICAgZXJyb3JSZXNwb25zZXM6IHByb3BzLmVycm9yUmVzcG9uc2VzXG4gICAgfSk7XG4gICAgdGhpcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uID0gY2ZEaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uO1xuXG4gICAgY29uc3QgY2ZBbGlhcyA9IG5ldyBDbG91ZEZyb250QWxpYXModGhpcywgJ0Nsb3VkRnJvbnRBbGlhcycsIHtcbiAgICAgIGRpc3RyaWJ1dGlvbjogY2ZEaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVcbiAgICB9KTtcbiAgICB0aGlzLmFSZWNvcmQgPSBjZkFsaWFzLmFSZWNvcmQ7XG4gICAgdGhpcy5hYWFhUmVjb3JkID0gY2ZBbGlhcy5hYWFhUmVjb3JkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ3NwQ3N2KHN0cjogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygc3RyICE9ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGxpbmVzID0gc3RyLnRyaW0oKS5zcGxpdCgnXFxuJyk7XG4gIGlmIChsaW5lcy5sZW5ndGggPCAxKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGhlYWRlcnMgPSBsaW5lc1swXS5zcGxpdCgnLCcpLm1hcChoID0+IGgudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xuICByZXR1cm4gaGVhZGVycy5pbmRleE9mKCdzb3VyY2UnKSAhPT0gLTE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ3NwQ3N2KGNzdjogc3RyaW5nKTogQ3NwSGVhZGVycyB7XG4gIGNvbnN0IGxpbmVzID0gY3N2LnRyaW0oKS5zcGxpdCgnXFxuJyk7XG4gIGlmIChsaW5lcy5sZW5ndGggPCAxKSByZXR1cm4ge307XG5cbiAgLy8gUGFyc2UgaGVhZGVyIHJvd1xuICBjb25zdCBoZWFkZXJzID0gbGluZXNbMF0uc3BsaXQoJywnKS5tYXAoaCA9PiBoLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgY29uc3Qgc291cmNlSW5kZXggPSBoZWFkZXJzLmluZGV4T2YoJ3NvdXJjZScpO1xuXG4gIGlmIChzb3VyY2VJbmRleCA9PT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NTViBtdXN0IGNvbnRhaW4gYSBcInNvdXJjZVwiIGNvbHVtbicpO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBDc3BIZWFkZXJzID0ge307XG5cbiAgLy8gUHJvY2VzcyBkYXRhIHJvd3NcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGxpbmUgPSBsaW5lc1tpXS50cmltKCk7XG4gICAgaWYgKCFsaW5lKSBjb250aW51ZTsgLy8gU2tpcCBlbXB0eSBsaW5lc1xuXG4gICAgY29uc3QgdmFsdWVzID0gbGluZS5zcGxpdCgnLCcpLm1hcCh2ID0+IHYudHJpbSgpKTtcbiAgICBjb25zdCBzb3VyY2UgPSB2YWx1ZXNbc291cmNlSW5kZXhdO1xuXG4gICAgaWYgKCFzb3VyY2UpIGNvbnRpbnVlOyAvLyBTa2lwIHJvd3Mgd2l0aCBubyBzb3VyY2VcblxuICAgIC8vIEZvciBlYWNoIGRpcmVjdGl2ZSwgYWRkIHNvdXJjZSBpZiB0aGUgdmFsdWUgaXMgbWFya2VkIHdpdGggJ3gnXG4gICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXIsIGNvbEluZGV4KSA9PiB7XG4gICAgICBpZiAoaGVhZGVyICE9PSAnc291cmNlJyAmJiB2YWx1ZXNbY29sSW5kZXhdLnRvTG93ZXJDYXNlKCkgPT09ICd4Jykge1xuICAgICAgICBpZiAoIXJlc3VsdFtoZWFkZXIgYXMga2V5b2YgQ3NwSGVhZGVyc10pIHtcbiAgICAgICAgICByZXN1bHRbaGVhZGVyIGFzIGtleW9mIENzcEhlYWRlcnNdID0gW107XG4gICAgICAgIH1cbiAgICAgICAgKHJlc3VsdFtoZWFkZXIgYXMga2V5b2YgQ3NwSGVhZGVyc10gYXMgc3RyaW5nW10pLnB1c2goc291cmNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNzcEhlYWRlcnNUb1N0cmluZyhoZWFkZXJzOiBDc3BIZWFkZXJzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpXG4gICAgLm1hcCgoW2RpcmVjdGl2ZSwgc291cmNlc10pID0+IGAke2RpcmVjdGl2ZX0gJHtzb3VyY2VzLmpvaW4oJyAnKX07YClcbiAgICAuam9pbignICcpO1xufSJdfQ==
@@ -28,12 +28,12 @@ export class WebStaticServerlessStage extends Stage {
28
28
  props.pipeline.codeBuildProject = props.pipeline.codeBuildProject ?? {};
29
29
  props.pipeline.codeBuildProject.cloudFrontDistributionArn = this.webStack.cloudFrontDistribution.distributionArn;
30
30
  props.pipeline.codeBuildProject.s3BucketName = this.webStack.s3Bucket.bucketName;
31
- if (!props.pipeline.pipelineName) {
32
- props.pipeline.pipelineName = props.stageName;
33
- }
34
- if (!props.pipeline.codeBuildProject.projectName) {
35
- props.pipeline.codeBuildProject.projectName = props.stageName;
36
- }
31
+ // if (!props.pipeline.pipelineName) {
32
+ // props.pipeline.pipelineName = props.stageName;
33
+ // }
34
+ // if (!props.pipeline.codeBuildProject.projectName) {
35
+ // props.pipeline.codeBuildProject.projectName = props.stageName;
36
+ // }
37
37
  this.codePipelineStack = new CodePipelineStack(this, 'codepipeline', {
38
38
  ...props.pipeline,
39
39
  env: props.env,
@@ -55,4 +55,4 @@ export class WebStaticServerlessStage extends Stage {
55
55
  });
56
56
  }
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXN0YXRpYy1zZXJ2ZXJsZXNzLXN0YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YWdlcy93ZWItc3RhdGljLXNlcnZlcmxlc3Mtc3RhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLEtBQUssRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBSWxFLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0scURBQXFELENBQUM7QUFDMUcseUZBQXlGO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSx1REFBdUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbkYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLEtBQUs7SUFDakQsbURBQW1EO0lBQ25DLFFBQVEsQ0FBaUI7SUFDekIsaUJBQWlCLENBQW9CO0lBRXJELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUQ7UUFDekYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUV6RyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNyRCxHQUFHLEtBQUs7WUFDUixHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTztnQkFDM0IsTUFBTSxFQUFFLFdBQVc7YUFDcEI7WUFDRCxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxtQkFBbUI7WUFDaEQsdURBQXVEO1lBQ3ZELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUN2RSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFrRCxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDO1lBQ25KLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWtELENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUVwSCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDakMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pELEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDaEUsQ0FBQztZQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7Z0JBQ25FLEdBQUcsS0FBSyxDQUFDLFFBQVE7Z0JBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDZCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLHFCQUFxQjtnQkFDbEQsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlEO1FBQzNGLE1BQU0sR0FBRyxHQUFHO1lBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1lBQzlELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQjtTQUM1RCxDQUFDO1FBQ0YsT0FBTyxJQUFJLHdCQUF3QixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDN0MsR0FBRyxLQUFLO1lBQ1IsR0FBRyxHQUFHO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnQsIFN0YWdlLCBTdGFnZVByb3BzIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuaW1wb3J0IHsgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMgfSBmcm9tICcuLi9jb25zdHJ1Y3RzL2NvZGVidWlsZC5qcyc7XG5pbXBvcnQgeyBXZWJHbG9iYWxTdGFjaywgV2ViR2xvYmFsU3RhY2tQcm9wcyB9IGZyb20gJy4uL3N0YWNrcy93ZWItc3RhdGljLXNlcnZlcmxlc3Mvd2ViLWdsb2JhbC1zdGFjay5qcyc7XG4vLyBpbXBvcnQgeyBXZWJSZWdpb25hbFN0YWNrIH0gZnJvbSAnLi4vc3RhY2tzL3dlYi1zdGF0aWMtc2VydmVybGVzcy93ZWItcmVnaW9uYWwtc3RhY2snO1xuaW1wb3J0IHsgQ29kZVBpcGVsaW5lU3RhY2ssIENvZGVQaXBlbGluZVN0YWNrUHJvcHMgfSBmcm9tICcuLi9zdGFja3Mvd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzL2NvZGVwaXBlbGluZS1zdGFjay5qcyc7XG5pbXBvcnQgeyBtZXJnZVRhZ3MsIGNyZWF0ZUV2b1ZlcnNpb25UYWcsIGNyZWF0ZUV2b1N0YWdlVGFnIH0gZnJvbSAnLi4vbGliL3RhZ3MudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZVByb3BzIGV4dGVuZHMgV2ViR2xvYmFsU3RhY2tQcm9wcyB7XG4gIHBpcGVsaW5lPzogT21pdDxDb2RlUGlwZWxpbmVTdGFja1Byb3BzLCAnY29kZUJ1aWxkUHJvamVjdCc+ICYge1xuICAgIGNvZGVCdWlsZFByb2plY3Q/OiBPbWl0PENvZGVCdWlsZFBpcGVsaW5lUHJvamVjdFByb3BzLCAnY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybicgfCAnczNCdWNrZXROYW1lJyB8ICdkZXN0cm95JyB8ICd0YWdzJz5cbiAgfVxuICBlbnY/OiBFbnZpcm9ubWVudDtcbiAgZGVzdHJveT86IGJvb2xlYW47XG4gIHRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgY2xhc3MgV2ViU3RhdGljU2VydmVybGVzc1N0YWdlIGV4dGVuZHMgU3RhZ2Uge1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgcmVnaW9uYWxTdGFjazogV2ViUmVnaW9uYWxTdGFjaztcbiAgcHVibGljIHJlYWRvbmx5IHdlYlN0YWNrOiBXZWJHbG9iYWxTdGFjaztcbiAgcHVibGljIHJlYWRvbmx5IGNvZGVQaXBlbGluZVN0YWNrOiBDb2RlUGlwZWxpbmVTdGFjaztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV2ViU3RhdGljU2VydmVybGVzc1N0YWdlUHJvcHMgJiBTdGFnZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgcHJvcHMudGFncyA9IG1lcmdlVGFncyhwcm9wcy50YWdzLCBjcmVhdGVFdm9WZXJzaW9uVGFnKCksIGNyZWF0ZUV2b1N0YWdlVGFnKCdXZWJTdGF0aWNTZXJ2ZXJsZXNzU3RhZ2UnKSk7XG5cbiAgICBpZiAocHJvcHMuZGVzdHJveSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcm9wcy5kZXN0cm95ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLndlYlN0YWNrID0gbmV3IFdlYkdsb2JhbFN0YWNrKHRoaXMsICd3ZWItZ2xvYmFsJywge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBlbnY6IHtcbiAgICAgICAgYWNjb3VudDogcHJvcHMuZW52Py5hY2NvdW50LFxuICAgICAgICByZWdpb246ICd1cy1lYXN0LTEnXG4gICAgICB9LFxuICAgICAgc3RhY2tOYW1lOiBgJHtwcm9wcy5zdGFnZU5hbWV9LXdlYi1nbG9iYWwtc3RhY2tgLFxuICAgICAgLy8gczNCdWNrZXROYW1lOiB0aGlzLnJlZ2lvbmFsU3RhY2suczNCdWNrZXQuYnVja2V0TmFtZVxuICAgICAgZGVzdHJveTogcHJvcHMuZGVzdHJveSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5waXBlbGluZSkge1xuICAgICAgcHJvcHMucGlwZWxpbmUuY29kZUJ1aWxkUHJvamVjdCA9IHByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QgPz8ge307XG4gICAgICAocHJvcHMucGlwZWxpbmUuY29kZUJ1aWxkUHJvamVjdCBhcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiA9IHRoaXMud2ViU3RhY2suY2xvdWRGcm9udERpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25Bcm47XG4gICAgICAocHJvcHMucGlwZWxpbmUuY29kZUJ1aWxkUHJvamVjdCBhcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykuczNCdWNrZXROYW1lID0gdGhpcy53ZWJTdGFjay5zM0J1Y2tldC5idWNrZXROYW1lO1xuICAgICAgXG4gICAgICBpZiAoIXByb3BzLnBpcGVsaW5lLnBpcGVsaW5lTmFtZSkge1xuICAgICAgICBwcm9wcy5waXBlbGluZS5waXBlbGluZU5hbWUgPSBwcm9wcy5zdGFnZU5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoIXByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QucHJvamVjdE5hbWUpIHtcbiAgICAgICAgcHJvcHMucGlwZWxpbmUuY29kZUJ1aWxkUHJvamVjdC5wcm9qZWN0TmFtZSA9IHByb3BzLnN0YWdlTmFtZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb2RlUGlwZWxpbmVTdGFjayA9IG5ldyBDb2RlUGlwZWxpbmVTdGFjayh0aGlzLCAnY29kZXBpcGVsaW5lJywge1xuICAgICAgICAuLi5wcm9wcy5waXBlbGluZSxcbiAgICAgICAgZW52OiBwcm9wcy5lbnYsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgc3RhY2tOYW1lOiBgJHtwcm9wcy5zdGFnZU5hbWV9LWNvZGVwaXBlbGluZS1zdGFja2AsXG4gICAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3ksXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZVByb3BzICYgU3RhZ2VQcm9wcykge1xuICAgIGNvbnN0IGVudiA9IHtcbiAgICAgIGFjY291bnQ6IHByb3BzLmVudj8uYWNjb3VudCA/PyBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5ULFxuICAgICAgcmVnaW9uOiBwcm9wcy5lbnY/LnJlZ2lvbiA/PyBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT05cbiAgICB9O1xuICAgIHJldHVybiBuZXcgV2ViU3RhdGljU2VydmVybGVzc1N0YWdlKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICAuLi5lbnZcbiAgICB9KTtcbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXN0YXRpYy1zZXJ2ZXJsZXNzLXN0YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YWdlcy93ZWItc3RhdGljLXNlcnZlcmxlc3Mtc3RhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLEtBQUssRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBSWxFLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0scURBQXFELENBQUM7QUFDMUcseUZBQXlGO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSx1REFBdUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbkYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLEtBQUs7SUFDakQsbURBQW1EO0lBQ25DLFFBQVEsQ0FBaUI7SUFDekIsaUJBQWlCLENBQW9CO0lBRXJELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUQ7UUFDekYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUV6RyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNyRCxHQUFHLEtBQUs7WUFDUixHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTztnQkFDM0IsTUFBTSxFQUFFLFdBQVc7YUFDcEI7WUFDRCxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxtQkFBbUI7WUFDaEQsdURBQXVEO1lBQ3ZELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUN2RSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFrRCxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDO1lBQ25KLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWtELENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUVwSCxzQ0FBc0M7WUFDdEMsbURBQW1EO1lBQ25ELElBQUk7WUFDSixzREFBc0Q7WUFDdEQsbUVBQW1FO1lBQ25FLElBQUk7WUFFSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO2dCQUNuRSxHQUFHLEtBQUssQ0FBQyxRQUFRO2dCQUNqQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7Z0JBQ2QsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUM5QixTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxxQkFBcUI7Z0JBQ2xELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpRDtRQUMzRixNQUFNLEdBQUcsR0FBRztZQUNWLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUM5RCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7U0FDNUQsQ0FBQztRQUNGLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzdDLEdBQUcsS0FBSztZQUNSLEdBQUcsR0FBRztTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50LCBTdGFnZSwgU3RhZ2VQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmltcG9ydCB7IENvZGVCdWlsZFBpcGVsaW5lUHJvamVjdFByb3BzIH0gZnJvbSAnLi4vY29uc3RydWN0cy9jb2RlYnVpbGQuanMnO1xuaW1wb3J0IHsgV2ViR2xvYmFsU3RhY2ssIFdlYkdsb2JhbFN0YWNrUHJvcHMgfSBmcm9tICcuLi9zdGFja3Mvd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzL3dlYi1nbG9iYWwtc3RhY2suanMnO1xuLy8gaW1wb3J0IHsgV2ViUmVnaW9uYWxTdGFjayB9IGZyb20gJy4uL3N0YWNrcy93ZWItc3RhdGljLXNlcnZlcmxlc3Mvd2ViLXJlZ2lvbmFsLXN0YWNrJztcbmltcG9ydCB7IENvZGVQaXBlbGluZVN0YWNrLCBDb2RlUGlwZWxpbmVTdGFja1Byb3BzIH0gZnJvbSAnLi4vc3RhY2tzL3dlYi1zdGF0aWMtc2VydmVybGVzcy9jb2RlcGlwZWxpbmUtc3RhY2suanMnO1xuaW1wb3J0IHsgbWVyZ2VUYWdzLCBjcmVhdGVFdm9WZXJzaW9uVGFnLCBjcmVhdGVFdm9TdGFnZVRhZyB9IGZyb20gJy4uL2xpYi90YWdzLnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWJTdGF0aWNTZXJ2ZXJsZXNzU3RhZ2VQcm9wcyBleHRlbmRzIFdlYkdsb2JhbFN0YWNrUHJvcHMge1xuICBwaXBlbGluZT86IE9taXQ8Q29kZVBpcGVsaW5lU3RhY2tQcm9wcywgJ2NvZGVCdWlsZFByb2plY3QnPiAmIHtcbiAgICBjb2RlQnVpbGRQcm9qZWN0PzogT21pdDxDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcywgJ2Nsb3VkRnJvbnREaXN0cmlidXRpb25Bcm4nIHwgJ3MzQnVja2V0TmFtZScgfCAnZGVzdHJveScgfCAndGFncyc+XG4gIH1cbiAgZW52PzogRW52aXJvbm1lbnQ7XG4gIGRlc3Ryb3k/OiBib29sZWFuO1xuICB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGNsYXNzIFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZSBleHRlbmRzIFN0YWdlIHtcbiAgLy8gcHVibGljIHJlYWRvbmx5IHJlZ2lvbmFsU3RhY2s6IFdlYlJlZ2lvbmFsU3RhY2s7XG4gIHB1YmxpYyByZWFkb25seSB3ZWJTdGFjazogV2ViR2xvYmFsU3RhY2s7XG4gIHB1YmxpYyByZWFkb25seSBjb2RlUGlwZWxpbmVTdGFjazogQ29kZVBpcGVsaW5lU3RhY2s7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZVByb3BzICYgU3RhZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHByb3BzLnRhZ3MgPSBtZXJnZVRhZ3MocHJvcHMudGFncywgY3JlYXRlRXZvVmVyc2lvblRhZygpLCBjcmVhdGVFdm9TdGFnZVRhZygnV2ViU3RhdGljU2VydmVybGVzc1N0YWdlJykpO1xuXG4gICAgaWYgKHByb3BzLmRlc3Ryb3kgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJvcHMuZGVzdHJveSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy53ZWJTdGFjayA9IG5ldyBXZWJHbG9iYWxTdGFjayh0aGlzLCAnd2ViLWdsb2JhbCcsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW52OiB7XG4gICAgICAgIGFjY291bnQ6IHByb3BzLmVudj8uYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJ1xuICAgICAgfSxcbiAgICAgIHN0YWNrTmFtZTogYCR7cHJvcHMuc3RhZ2VOYW1lfS13ZWItZ2xvYmFsLXN0YWNrYCxcbiAgICAgIC8vIHMzQnVja2V0TmFtZTogdGhpcy5yZWdpb25hbFN0YWNrLnMzQnVja2V0LmJ1Y2tldE5hbWVcbiAgICAgIGRlc3Ryb3k6IHByb3BzLmRlc3Ryb3ksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucGlwZWxpbmUpIHtcbiAgICAgIHByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QgPSBwcm9wcy5waXBlbGluZS5jb2RlQnVpbGRQcm9qZWN0ID8/IHt9O1xuICAgICAgKHByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QgYXMgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMpLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm4gPSB0aGlzLndlYlN0YWNrLmNsb3VkRnJvbnREaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uQXJuO1xuICAgICAgKHByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QgYXMgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMpLnMzQnVja2V0TmFtZSA9IHRoaXMud2ViU3RhY2suczNCdWNrZXQuYnVja2V0TmFtZTtcblxuICAgICAgLy8gaWYgKCFwcm9wcy5waXBlbGluZS5waXBlbGluZU5hbWUpIHtcbiAgICAgIC8vICAgcHJvcHMucGlwZWxpbmUucGlwZWxpbmVOYW1lID0gcHJvcHMuc3RhZ2VOYW1lO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKCFwcm9wcy5waXBlbGluZS5jb2RlQnVpbGRQcm9qZWN0LnByb2plY3ROYW1lKSB7XG4gICAgICAvLyAgIHByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QucHJvamVjdE5hbWUgPSBwcm9wcy5zdGFnZU5hbWU7XG4gICAgICAvLyB9XG5cbiAgICAgIHRoaXMuY29kZVBpcGVsaW5lU3RhY2sgPSBuZXcgQ29kZVBpcGVsaW5lU3RhY2sodGhpcywgJ2NvZGVwaXBlbGluZScsIHtcbiAgICAgICAgLi4ucHJvcHMucGlwZWxpbmUsXG4gICAgICAgIGVudjogcHJvcHMuZW52LFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIHN0YWNrTmFtZTogYCR7cHJvcHMuc3RhZ2VOYW1lfS1jb2RlcGlwZWxpbmUtc3RhY2tgLFxuICAgICAgICBkZXN0cm95OiBwcm9wcy5kZXN0cm95LFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJTdGF0aWNTZXJ2ZXJsZXNzU3RhZ2VQcm9wcyAmIFN0YWdlUHJvcHMpIHtcbiAgICBjb25zdCBlbnYgPSB7XG4gICAgICBhY2NvdW50OiBwcm9wcy5lbnY/LmFjY291bnQgPz8gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCxcbiAgICAgIHJlZ2lvbjogcHJvcHMuZW52Py5yZWdpb24gPz8gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZShzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLi4uZW52XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inizioevoke/evosynth",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "author": "",
5
5
  "license": "ISC",
6
6
  "description": "",
@@ -1,6 +1,6 @@
1
1
  import { RemovalPolicy } from "aws-cdk-lib";
2
2
  import { Construct } from 'constructs';
3
- import { BuildEnvironmentVariableType, BuildSpec, ComputeType, IBuildImage, LinuxBuildImage, PipelineProject } from 'aws-cdk-lib/aws-codebuild';
3
+ import { BuildEnvironmentVariableType, BuildSpec, CfnProject, ComputeType, IBuildImage, LinuxBuildImage, PipelineProject } from 'aws-cdk-lib/aws-codebuild';
4
4
  import { Repository } from "aws-cdk-lib/aws-ecr";
5
5
  import { PolicyStatement } from 'aws-cdk-lib/aws-iam';
6
6
  import { Bucket } from 'aws-cdk-lib/aws-s3';
@@ -1,8 +1,10 @@
1
- import { Stack, StackProps } from 'aws-cdk-lib/core';
2
- import { Construct } from 'constructs';
1
+ import { Stack, StackProps, CfnElement, Names } from 'aws-cdk-lib/core';
2
+ import { Construct, IConstruct } from 'constructs';
3
3
  import { CodeBuildPipelineProject, CodeBuildPipelineProjectProps } from '../../constructs/codebuild.js';
4
4
  import { CodePipelineProject, AddSourceStageParams, AddBuildStageParams } from '../../constructs/codepipeline.js';
5
5
  import { addEvoStackTags } from '../../lib/tags.ts';
6
+ import { CfnProject } from 'aws-cdk-lib/aws-bedrockmantle';
7
+ import { CfnPipeline } from 'aws-cdk-lib/aws-codepipeline';
6
8
 
7
9
  export interface CodePipelineStackProps {
8
10
  pipelineName?: string;
@@ -23,12 +25,17 @@ export class CodePipelineStack extends Stack {
23
25
  });
24
26
  addEvoStackTags(this, 'CodePipelineStack');
25
27
 
26
- const defaultName = props.description ? props.description.toLowerCase().replace(/ +/g, '-').replace(/[^0-9a-z_\-]/g, '') : undefined;
27
- props.pipelineName = props.pipelineName ?? defaultName;
28
+ const defaultName = props.description ? props.description.toLowerCase().replace(/ +/g, '-').replace(/[^0-9a-z_\-]/g, '') : '';
29
+
30
+ if (!props.pipelineName) {
31
+ props.pipelineName = defaultName;
32
+ }
28
33
  if (!props.codeBuildProject) {
29
34
  props.codeBuildProject = {};
30
35
  }
31
- props.codeBuildProject.projectName = props.codeBuildProject.projectName ?? defaultName;
36
+ if (!props.codeBuildProject.projectName) {
37
+ props.codeBuildProject.projectName = defaultName;
38
+ }
32
39
 
33
40
  this.codeBuildPipelineProject = new CodeBuildPipelineProject(this, 'CodeBuildPipelineProject', {
34
41
  ...props.codeBuildProject,
@@ -59,6 +59,8 @@ export class WebGlobalStack extends Stack {
59
59
  });
60
60
  addEvoStackTags(this, 'WebGlobalStack');
61
61
 
62
+ props.description = props.description ?? props.stackName;
63
+
62
64
  const hostedZone = getHostedZone(this, 'getHostedZone', props.hostedZone);
63
65
 
64
66
  const _sslCert = new SSLCertificate(this, 'SSLCertificate', {
@@ -45,13 +45,13 @@ export class WebStaticServerlessStage extends Stage {
45
45
  props.pipeline.codeBuildProject = props.pipeline.codeBuildProject ?? {};
46
46
  (props.pipeline.codeBuildProject as CodeBuildPipelineProjectProps).cloudFrontDistributionArn = this.webStack.cloudFrontDistribution.distributionArn;
47
47
  (props.pipeline.codeBuildProject as CodeBuildPipelineProjectProps).s3BucketName = this.webStack.s3Bucket.bucketName;
48
-
49
- if (!props.pipeline.pipelineName) {
50
- props.pipeline.pipelineName = props.stageName;
51
- }
52
- if (!props.pipeline.codeBuildProject.projectName) {
53
- props.pipeline.codeBuildProject.projectName = props.stageName;
54
- }
48
+
49
+ // if (!props.pipeline.pipelineName) {
50
+ // props.pipeline.pipelineName = props.stageName;
51
+ // }
52
+ // if (!props.pipeline.codeBuildProject.projectName) {
53
+ // props.pipeline.codeBuildProject.projectName = props.stageName;
54
+ // }
55
55
 
56
56
  this.codePipelineStack = new CodePipelineStack(this, 'codepipeline', {
57
57
  ...props.pipeline,