@inizioevoke/evosynth 2.2.4 → 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.
@@ -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==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inizioevoke/evosynth",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
4
  "author": "",
5
5
  "license": "ISC",
6
6
  "description": "",
@@ -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', {