@rio-cloud/cdk-v2-constructs 5.1.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +41 -24
- package/API.md +26 -0
- package/CHANGELOG.md +20 -0
- package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.js +1 -1
- package/lib/contributions/team-transport-two/datadog/datadog-dashboard-downloader.js +1 -1
- package/lib/contributions/team-transport-two/pipeline/pipeline-stack.js +1 -1
- package/lib/datadog/datadog-log-index-monitoring.js +1 -1
- package/lib/datadog/datadog-monitor.js +1 -1
- package/lib/datadogv2/datadog-log-index-monitoring.js +1 -1
- package/lib/datadogv2/datadog-monitor.js +1 -1
- package/lib/datadogv2/datadog-notification.js +1 -1
- package/lib/fargate/datadog.js +1 -1
- package/lib/fargate/rio-fargate-service.js +2 -2
- package/lib/kafka/kafka-event-spec.js +1 -1
- package/lib/kafka/kafka-topic.js +1 -1
- package/lib/pipeline/rio-backup-secrets-restore-stage.js +1 -1
- package/lib/toggle.js +1 -1
- package/lib/watchful/alb.d.ts +13 -13
- package/lib/watchful/alb.js +5 -2
- package/lib/watchful/aspect.js +1 -1
- package/lib/watchful/datadog-log-alarm.js +3 -3
- package/lib/watchful/datadog-metric-alarm.js +3 -3
- package/lib/watchful/ecs.js +2 -2
- package/lib/watchful/lambda.js +4 -4
- package/lib/watchful/metric-alarm.d.ts +4 -0
- package/lib/watchful/metric-alarm.js +1 -1
- package/lib/watchful/watchful.js +3 -3
- package/lib/watchfulv2/datadog-log-alarm.d.ts +1 -0
- package/lib/watchfulv2/datadog-log-alarm.js +19 -6
- package/lib/watchfulv2/datadog-metric-alarm.d.ts +4 -4
- package/lib/watchfulv2/datadog-metric-alarm.js +14 -7
- package/lib/watchfulv2/watchful.js +19 -9
- package/package.json +4 -4
- package/version.json +1 -1
package/lib/fargate/datadog.js
CHANGED
|
@@ -310,4 +310,4 @@ function ensureLoggingAndMonitoringAreReadyBeforeServiceStarts(rioFargateService
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
exports.ensureLoggingAndMonitoringAreReadyBeforeServiceStarts = ensureLoggingAndMonitoringAreReadyBeforeServiceStarts;
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL2RhdGFkb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQThEO0FBQzlELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDZDQUE2QztBQUc3QywrREFBOEU7QUFFOUU7O0dBRUc7QUFDSCxNQUFhLE9BQU87SUFFWCxNQUFNLENBQUMsdUNBQXVDLENBQ25ELEtBQWdCLEVBQ2hCLEtBQWEsRUFDYixXQUFtQixFQUNuQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsY0FBc0IsRUFDdEIsY0FBa0Q7UUFFbEQsT0FBTyx1Q0FBdUMsQ0FBQztZQUM3QyxLQUFLO1lBQ0wsS0FBSztZQUNMLFdBQVc7WUFDWCxPQUFPO1lBQ1AsV0FBVztZQUNYLFFBQVE7WUFDUixjQUFjO1lBQ2QsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBYSxFQUFFLFdBQW1CLEVBQUUsT0FBZTtRQUN0RixPQUFPLHNCQUFzQixDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQzdCLEtBQWdCLEVBQ2hCLGNBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLEtBQWEsRUFDYixXQUFtQixFQUNuQixPQUFlLEVBQ2Ysc0JBQTRDLEVBQzVDLFdBQW1CLEVBQ25CLGtCQUFzQyxFQUN0Qyx1QkFBaUMsRUFDakMsR0FBVyxFQUNYLGNBQXNCLEVBQ3RCLFNBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLGNBQWtEO1FBR2xELE9BQU8saUJBQWlCLENBQUM7WUFDdkIsS0FBSztZQUNMLGNBQWM7WUFDZCxXQUFXO1lBQ1gsUUFBUTtZQUNSLGNBQWM7WUFDZCxL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O2dCQUM1QixZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7Z0JBQ2pDLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtnQkFDdkMsYUFBYSxFQUFFLGtCQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQzthQUNsQyxDQUFDLENBQUM7S0FDTjtBQUNILENBQUM7QUFyR0Qsb0NBcUdDO0FBRUQsU0FBZ0IscURBQXFELENBQUMsaUJBQW9DO0lBRXhHLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxpQ0FBaUM7UUFDOUQsU0FBUyxFQUFFLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPO0tBQ3BELENBQUMsQ0FBQztJQUVILElBQUksaUJBQWlCLENBQUMsNEJBQTRCLEVBQUU7UUFDbEQsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLENBQUM7WUFDcEUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLDRCQUE0QjtZQUN6RCxTQUFTLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEtBQUs7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQkFBaUIsQ0FBQyxpQ0FBaUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxLQUFLLGFBQWEsRUFBRTtZQUNwRyxpQkFBaUIsQ0FBQyxpQ0FBaUMsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDM0UsU0FBUyxFQUFFLGlCQUFpQixDQUFDLDRCQUE0QjtnQkFDekQsU0FBUyxFQUFFLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLO2FBQ2xELENBQUMsQ0FBQztTQUNKO0tBQ0Y7QUFDSCxDQUFDO0FBcEJELHNIQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBGbiwgU2l6ZSwgU3RhY2ssIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YURvZ0xvZ2dpbmdNb2RlLCBSaW9GYXJnYXRlU2VydmljZSB9IGZyb20gJy4vcmlvLWZhcmdhdGUtc2VydmljZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTW92ZWQgb3V0IHN0YXRpYyBtZXRob2RzIGFuZCBpbXBvcm92ZWQgc2lnbmF0dXJlLiBVc2UgbmFtZWQgaW1wb3J0IGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhRG9nIHtcblxuICBwdWJsaWMgc3RhdGljIGdldEZhcmdhdGVDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHN0YWdlOiBzdHJpbmcsXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgYWNjb3VudE5hbWU6IHN0cmluZyxcbiAgICB0ZWFtTmFtZTogc3RyaW5nLFxuICAgIHRlYW1JZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQsXG4gICk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBnZXRGYXJnYXRlQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMoe1xuICAgICAgc2NvcGUsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGFjY291bnROYW1lLFxuICAgICAgdGVhbU5hbWUsXG4gICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgIGFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRGYXJnYXRlRG9ja2VyTGFiZWxzKHN0YWdlOiBzdHJpbmcsIHNlcnZpY2VOYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBnZXRGYXJnYXRlRG9ja2VyTGFiZWxzKHsgc3RhZ2UsIHNlcnZpY2VOYW1lLCB2ZXJzaW9uIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZGREYXRhZG9nU2lkZWNhcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24sXG4gICAgYWNjb3VudE5hbWU6IHN0cmluZyxcbiAgICB0ZWFtTmFtZTogc3RyaW5nLFxuICAgIHRlYW1JZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgc3RhZ2U6IHN0cmluZyxcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyOiBzc20uSVN0cmluZ1BhcmFtZXRlcixcbiAgICBkYXRhZG9nU2l0ZTogc3RyaW5nLFxuICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogRGF0YURvZ0xvZ2dpbmdNb2RlLFxuICAgIGFwbUdldFJlc291cmNlc1RvSWdub3JlOiBzdHJpbmdbXSxcbiAgICBjcHU6IG51bWJlcixcbiAgICBtZW1vcnlMaW1pdE1pQjogbnVtYmVyLFxuICAgIGVzc2VudGlhbDogYm9vbGVhbixcbiAgICBjb250YWluZXJUYWc6IHN0cmluZyxcbiAgICBhZGRpdGlvbmFsVGFnczogeyBbazogc3RyaW5nXTogc3RyaW5nfSB8IHVuZGVmaW5lZCxcbiAgKTogZWNzLkNvbnRhaW5lckRlZmluaXRpb24ge1xuXG4gICAgcmV0dXJuIGFkZERhdGFkb2dTaWRlY2FyKHtcbiAgICAgIHNjb3BlLFxuICAgICAgdGFza0RlZmluaXRpb24sXG4gICAgICBhY2NvdW50TmFtZSxcbiAgICAgIHRlYW1OYW1lLFxuICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZSxcbiAgICAgIGFwbUdldFJlc291cmNlc1RvSWdub3JlLFxuICAgICAgY3B1LFxuICAgICAgbWVtb3J5TGltaXRNaUIsXG4gICAgICBlc3NlbnRpYWwsXG4gICAgICBjb250YWluZXJUYWcsXG4gICAgICBhZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWRkRmlyZUxlbnNMb2dSb3V0ZXIoXG4gICAgdGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbixcbiAgICBjcHU6IG51bWJlcixcbiAgICBtZW1vcnlMaW1pdE1pQjogbnVtYmVyLFxuICAgIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGg6IHN0cmluZyxcbiAgICBmaXJlbGVuc0NvbmZpZ0J1Y2tldEFybjogc3RyaW5nLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIGFkZEZpcmVMZW5zTG9nUm91dGVyKHsgdGFza0RlZmluaXRpb24sIGNwdSwgbWVtb3J5TGltaXRNaUIsIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGgsIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXR1cExvZ2dpbmcoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBhY2NvdW50TmFtZTogc3RyaW5nLFxuICAgIHRlYW1OYW1lOiBzdHJpbmcsXG4gICAgdGVhbUlkZW50aWZpZXI6IHN0cmluZyxcbiAgICBzdGFnZTogc3RyaW5nLFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXI6IHNzbS5JU3RyaW5nUGFyYW1ldGVyLFxuICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogRGF0YURvZ0xvZ2dpbmdNb2RlLFxuICAgIGRhdGFkb2dTaXRlOiBzdHJpbmcsXG4gICAgY29udGFpbmVyVHlwZTogJ3NlcnZpY2UnIHwgJ2RhdGFkb2ctc2lkZWNhcicsXG4gICAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQsXG4gICk6IGVjcy5Mb2dEcml2ZXIge1xuXG4gICAgcmV0dXJuIHNldHVwTG9nZ2luZyh7XG4gICAgICBzY29wZSxcbiAgICAgIGFjY291bnROYW1lLFxuICAgICAgdGVhbU5hbWUsXG4gICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgIHN0YWdlLFxuICAgICAgc2VydmljZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGF0YWRvZ0FwaUtleVBhcmFtZXRlcixcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZSxcbiAgICAgIGRhdGFkb2dTaXRlLFxuICAgICAgY29udGFpbmVyVHlwZSxcbiAgICAgIGFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbnN1cmVMb2dnaW5nQW5kTW9uaXRvcmluZ0FyZVJlYWR5QmVmb3JlU2VydmljZVN0YXJ0cyhyaW9GYXJnYXRlU2VydmljZTogUmlvRmFyZ2F0ZVNlcnZpY2UpIHtcbiAgICBlbnN1cmVMb2dnaW5nQW5kTW9uaXRvcmluZ0FyZVJlYWR5QmVmb3JlU2VydmljZVN0YXJ0cyhyaW9GYXJnYXRlU2VydmljZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZhcmdhdGVDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyhwcm9wczoge1xuICBzY29wZTogQ29uc3RydWN0O1xuICBzdGFnZTogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGFjY291bnROYW1lOiBzdHJpbmc7XG4gIHRlYW1OYW1lOiBzdHJpbmc7XG4gIHRlYW1JZGVudGlmaWVyOiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxUYWdzOiB7IFtrOiBzdHJpbmddOiBzdHJpbmd9IHwgdW5kZWZpbmVkO1xufSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcblxuICByZXR1cm4ge1xuICAgIC8vIHVuaWZpZWQgdGFnZ2luZywgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2dldHRpbmdfc3RhcnRlZC90YWdnaW5nL3VuaWZpZWRfc2VydmljZV90YWdnaW5nLz90YWI9ZWNzXG4gICAgRERfRU5WOiBwcm9wcy5zdGFnZSxcbiAgICBERF9TRVJWSUNFOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICBERF9WRVJTSU9OOiBwcm9wcy52ZXJzaW9uLFxuICAgIC8vIEFQTSBhbmQgdHJhY2luZywgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL3RyYWNpbmcvc2V0dXBfb3ZlcnZpZXcvc2V0dXAvamF2YS8/dGFiPWNvbnRhaW5lcnNcbiAgICBERF9MT0dTX0lOSkVDVElPTjogJ3RydWUnLFxuICAgIEREX1NFUlZJQ0VfTUFQUElORzogZ2V0QXBtU2VydmljZU1hcHBpbmdFbnZpcm9ubWVudFZhcmlhYmxlVmFsdWUocHJvcHMuc2VydmljZU5hbWUpLFxuICAgIEREX1RBR1M6IGdldFRhZ3NFbnZpcm9ubWVudFZhcmlhYmxlVmFsdWUoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb250YWluZXJUeXBlOiAnc2VydmljZScsXG4gICAgICBhY2NvdW50SWQsXG4gICAgICByZWdpb24sXG4gICAgfSksXG4gICAgRERfVFJBQ0VfU0FNUExFX1JBVEU6ICcxLjAnLCAvLyBzZWUgaHR0cHM6Ly9kZHRyYWNlLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9jb25maWd1cmF0aW9uLmh0bWxcbiAgfTtcbn1cblxuLy8gd2UgYWRkIGFsbCBwb3NzaWJsZSBzZXJ2aWNlIG1hcHBpbmdzIGhlcmUgZXZlbiBpZiBub3QgdXNlZCBpbiBhIHBhcnRpY3VsYXIgc2VydmljZSB0byBnZXQgZ2xvYmFsbHkgdW5pcXVlIG5hbWVzXG5mdW5jdGlvbiBnZXRBcG1TZXJ2aWNlTWFwcGluZ0Vudmlyb25tZW50VmFyaWFibGVWYWx1ZShzZXJ2aWNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblxuICBjb25zdCBzZXJ2aWNlTWFwcGluZyA9IHtcbiAgICAnZGF0YWJhc2UnOiBgJHtzZXJ2aWNlTmFtZX0tYXVyb3JhYCxcbiAgICAnamF2YS1hd3Mtc2RrJzogYCR7c2VydmljZU5hbWV9LWF3cy1zZGtgLFxuICAgICdrYWZrYSc6IGAke3NlcnZpY2VOYW1lfS1rYWZrYWAsXG4gICAgJ215c3FsJzogYCR7c2VydmljZU5hbWV9LWF1cm9yYWAsXG4gICAgJ3JlZGlzJzogYCR7c2VydmljZU5hbWV9LXJlZGlzYCxcbiAgfTtcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc2VydmljZU1hcHBpbmcpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiR7dmFsdWV9YClcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFyZ2F0ZURvY2tlckxhYmVscyhwcm9wczoge3N0YWdlOiBzdHJpbmc7IHNlcnZpY2VOYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZ30pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgcmV0dXJuIHtcbiAgICAnY29tLmRhdGFkb2docS50YWdzLmVudic6IHByb3BzLnN0YWdlLFxuICAgICdjb20uZGF0YWRvZ2hxLnRhZ3Muc2VydmljZSc6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICdjb20uZGF0YWRvZ2hxLnRhZ3MudmVyc2lvbic6IHByb3BzLnZlcnNpb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREYXRhZG9nU2lkZWNhcihwcm9wczoge1xuICBzY29wZTogQ29uc3RydWN0O1xuICB0YXNrRGVmaW5pdGlvbjogZWNzLlRhc2tEZWZpbml0aW9uO1xuICBhY2NvdW50TmFtZTogc3RyaW5nO1xuICB0ZWFtTmFtZTogc3RyaW5nO1xuICB0ZWFtSWRlbnRpZmllcjogc3RyaW5nO1xuICBzdGFnZTogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXI6IHNzbS5JU3RyaW5nUGFyYW1ldGVyO1xuICBkYXRhZG9nU2l0ZTogc3RyaW5nO1xuICBkYXRhZG9nTG9nZ2luZ01vZGU6IERhdGFEb2dMb2dnaW5nTW9kZTtcbiAgYXBtR2V0UmVzb3VyY2VzVG9JZ25vcmU6IHN0cmluZ1tdO1xuICBjcHU6IG51bWJlcjtcbiAgbWVtb3J5TGltaXRNaUI6IG51bWJlcjtcbiAgZXNzZW50aWFsOiBib29sZWFuO1xuICBjb250YWluZXJUYWc6IHN0cmluZztcbiAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQ7XG59KTogZWNzLkNvbnRhaW5lckRlZmluaXRpb24ge1xuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcbiAgY29uc3QgZGF0YWRvZ1NpZGVjYXIgPSBwcm9wcy50YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoJ2RhdGFkb2ctYWdlbnQnLCB7XG4gICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tUmVnaXN0cnkoYHB1YmxpYy5lY3IuYXdzL2RhdGFkb2cvYWdlbnQ6JHtwcm9wcy5jb250YWluZXJUYWd9YCksXG4gICAgbG9nZ2luZzogc2V0dXBMb2dnaW5nKHsgLi4ucHJvcHMsIGNvbnRhaW5lclR5cGU6ICdkYXRhZG9nLXNpZGVjYXInIH0pLFxuICAgIGNwdTogcHJvcHMuY3B1LFxuICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQixcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgLy8gdW5pZmllZCB0YWdnaW5nLCBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vZ2V0dGluZ19zdGFydGVkL3RhZ2dpbmcvdW5pZmllZF9zZXJ2aWNlX3RhZ2dpbmcvP3RhYj1lY3NcbiAgICAgIEREX0VOVjogcHJvcHMuc3RhZ2UsXG4gICAgICBERF9TRVJWSUNFOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIEREX1ZFUlNJT046IHByb3BzLnZlcnNpb24sXG4gICAgICAvLyBBUE0gYW5kIHRyYWNpbmcgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2FnZW50L2RvY2tlci9hcG0vP3RhYj1saW51eFxuICAgICAgRERfQVBNX0VOQUJMRUQ6ICd0cnVlJyxcbiAgICAgIEREX0FQTV9JR05PUkVfUkVTT1VSQ0VTOiBwcm9wcy5hcG1HZXRSZXNvdXJjZXNUb0lnbm9yZVxuICAgICAgICAubWFwKChhcG1HZXRSZXNvdXJjZVRvSWdub3JlKSA9PiBgR0VUICR7YXBtR2V0UmVzb3VyY2VUb0lnbm9yZX1gKVxuICAgICAgICAuam9pbignLCcpLFxuICAgICAgLy8gZ2VuZXJhbCBzZXR0aW5nc1xuICAgICAgRERfU0lURTogcHJvcHMuZGF0YWRvZ1NpdGUsXG4gICAgICBERF9UQUdTOiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHsgLi4ucHJvcHMsIGFjY291bnRJZCwgcmVnaW9uLCBjb250YWluZXJUeXBlOiAnZGF0YWRvZy1zaWRlY2FyJyB9KSxcbiAgICAgIEVDU19GQVJHQVRFOiAndHJ1ZScsXG4gICAgICBERF9DTE9VRF9QUk9WSURFUl9NRVRBREFUQTogJ2F3cycsXG4gICAgICBERF9SRU1PVEVfQ09ORklHVVJBVElPTl9FTkFCTEVEOiAnZmFsc2UnLFxuICAgIH0sXG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXRhRG9nL2RhdGFkb2ctYWdlbnQvYmxvYi9tYXN0ZXIvRG9ja2VyZmlsZXMvYWdlbnQvYW1kNjQvRG9ja2VyZmlsZSNMMTcxLUwxNzJcbiAgICBoZWFsdGhDaGVjazoge1xuICAgICAgc3RhcnRQZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICBpbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDUpLFxuICAgICAgcmV0cmllczogMixcbiAgICAgIGNvbW1hbmQ6IFsnQ01ELVNIRUxMJywgJy9wcm9iZS5zaCddLFxuICAgIH0sXG4gICAgc2VjcmV0czoge1xuICAgICAgRERfQVBJX0tFWTogZWNzLlNlY3JldC5mcm9tU3NtUGFyYW1ldGVyKHByb3BzLmRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIpLFxuICAgIH0sXG4gICAgZXNzZW50aWFsOiBwcm9wcy5lc3NlbnRpYWwsXG4gIH0pO1xuXG4gIGRhdGFkb2dTaWRlY2FyLmFkZFBvcnRNYXBwaW5ncyh7XG4gICAgY29udGFpbmVyUG9ydDogODEyNSxcbiAgICBwcm90b2NvbDogZWNzLlByb3RvY29sLlVEUCxcbiAgfSk7XG5cbiAgZGF0YWRvZ1NpZGVjYXIuYWRkUG9ydE1hcHBpbmdzKHtcbiAgICBjb250YWluZXJQb3J0OiA4MTI2LFxuICAgIHByb3RvY29sOiBlY3MuUHJvdG9jb2wuVENQLFxuICB9KTtcblxuICByZXR1cm4gZGF0YWRvZ1NpZGVjYXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRGaXJlbGVuc0NvbmZpZ1VwbG9hZEZyb21TM1Blcm1pc3Npb25zKHByb3BzOiB7XG4gIHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb247XG4gIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuOiBzdHJpbmc7XG59KSB7XG4gIHByb3BzLnRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgIHJlc291cmNlczogW3Byb3BzLmZpcmVsZW5zQ29uZmlnQnVja2V0QXJuLCBgJHtwcm9wcy5maXJlbGVuc0NvbmZpZ0J1Y2tldEFybn0vKmBdLFxuICAgIGFjdGlvbnM6IFsnczM6R2V0KiddLFxuICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgfSkpO1xufVxuXG5mdW5jdGlvbiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHByb3BzOiB7XG4gIGFjY291bnRJZDogc3RyaW5nO1xuICBhY2NvdW50TmFtZTogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgdGVhbU5hbWU6IHN0cmluZztcbiAgdGVhbUlkZW50aWZpZXI6IHN0cmluZztcbiAgc3RhZ2U6IHN0cmluZztcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjb250YWluZXJUeXBlOiAnc2VydmljZScgfCAnZGF0YWRvZy1zaWRlY2FyJyB8ICdmbHVlbnQtYml0JztcbiAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQ7XG59KTogc3RyaW5nIHtcblxuICBjb25zdCBzZXBhcmF0b3IgPSBkZXRlcm1pbmVTZXBhcmF0b3IocHJvcHMuY29udGFpbmVyVHlwZSk7XG5cbiAgY29uc3QgdGFncyA9IHtcbiAgICAvLyB1bmlmaWVkIHRhZ2dpbmdcbiAgICAvLyBvdmVycmlkZGVuIGJ5IGRlZGljYXRlZCBzZXR0aW5ncyAoZW52aXJvbm1lbnQgdmFyaWFibGVzL3RhZ3MpXG4gICAgLy8gZHVwbGljYXRlZCBoZXJlIHRvIGVuc3VyZSB0aGV5IGFyZSB1c2VkIChhbmQgc29tZXRpbWVzLCBub3QgYWxsIHRocmVlIHZhbHVlcyBhcmUgc3VwcG9ydGVkKVxuICAgIGVudjogcHJvcHMuc3RhZ2UsXG4gICAgc2VydmljZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgdmVyc2lvbjogcHJvcHMudmVyc2lvbixcbiAgICAvLyBhY2NvdW50L3RlYW0gc3BlY2lmaWMgcGFydHNcbiAgICBhY2NvdW50X2lkOiBwcm9wcy5hY2NvdW50SWQsXG4gICAgYWNjb3VudF9uYW1lOiBwcm9wcy5hY2NvdW50TmFtZSxcbiAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICB0ZWFtOiBwcm9wcy50ZWFtTmFtZSxcbiAgICB0ZWFtX2lkZW50aWZpZXI6IHByb3BzLnRlYW1JZGVudGlmaWVyLFxuICB9O1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoeyAuLi50YWdzLCAuLi5wcm9wcy5hZGRpdGlvbmFsVGFncyB9KVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fToke3ZhbHVlfWApXG4gICAgLmpvaW4oc2VwYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gZGV0ZXJtaW5lU2VwYXJhdG9yKGNvbnRhaW5lclR5cGU6ICdzZXJ2aWNlJyB8ICdkYXRhZG9nLXNpZGVjYXInIHwgJ2ZsdWVudC1iaXQnKSB7XG4gIGlmIChjb250YWluZXJUeXBlID09PSAnZGF0YWRvZy1zaWRlY2FyJykge1xuICAgIHJldHVybiAnICc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICcsJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmlyZUxlbnNMb2dSb3V0ZXIocHJvcHM6IHtcbiAgdGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbjtcbiAgY3B1OiBudW1iZXI7XG4gIG1lbW9yeUxpbWl0TWlCOiBudW1iZXI7XG4gIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuOiBzdHJpbmc7XG4gIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGg6IHN0cmluZztcbn0pOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gIGNvbnN0IGZsdWVudEJpdFMzQ29uZmlnRmlsZSA9IHByb3BzLmZpcmVsZW5zQ29uZmlnQnVja2V0QXJuICsgcHJvcHMuZmlyZWxlbnNDb25maWdGaWxlUGF0aDtcbiAgcmV0dXJuIHByb3BzLnRhc2tEZWZpbml0aW9uLmFkZEZpcmVsZW5zTG9nUm91dGVyKCdmaXJlbGVucy1sb2ctcm91dGVyJywge1xuICAgIGltYWdlOiBlY3MuQ29udGFpbmVySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdwdWJsaWMuZWNyLmF3cy9hd3Mtb2JzZXJ2YWJpbGl0eS9hd3MtZm9yLWZsdWVudC1iaXQ6aW5pdC1sYXRlc3QnKSxcbiAgICBmaXJlbGVuc0NvbmZpZzoge1xuICAgICAgdHlwZTogZWNzLkZpcmVsZW5zTG9nUm91dGVyVHlwZS5GTFVFTlRCSVQsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGVuYWJsZUVDU0xvZ01ldGFkYXRhOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNwdTogcHJvcHMuY3B1LFxuICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQixcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgYXdzX2ZsdWVudF9iaXRfaW5pdF9zM18xOiBmbHVlbnRCaXRTM0NvbmZpZ0ZpbGUsXG4gICAgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cExvZ2dpbmcocHJvcHM6IHtcbiAgc2NvcGU6IENvbnN0cnVjdDtcbiAgYWNjb3VudE5hbWU6IHN0cmluZztcbiAgdGVhbU5hbWU6IHN0cmluZztcbiAgdGVhbUlkZW50aWZpZXI6IHN0cmluZztcbiAgc3RhZ2U6IHN0cmluZztcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyOiBzc20uSVN0cmluZ1BhcmFtZXRlcjtcbiAgZGF0YWRvZ0xvZ2dpbmdNb2RlOiBEYXRhRG9nTG9nZ2luZ01vZGU7XG4gIGRhdGFkb2dTaXRlOiBzdHJpbmc7XG4gIGNvbnRhaW5lclR5cGU6ICdzZXJ2aWNlJyB8ICdkYXRhZG9nLXNpZGVjYXInO1xuICBhZGRpdGlvbmFsVGFnczogeyBbazogc3RyaW5nXTogc3RyaW5nfSB8IHVuZGVmaW5lZDtcbn0pOiBlY3MuTG9nRHJpdmVyIHtcblxuICBsZXQgbG9nR3JvdXBOYW1lOiBzdHJpbmc7XG4gIGxldCBsb2dHcm91cElkOiBzdHJpbmc7XG4gIGxldCBjb250YWluZXJUeXBlQ2FtZWxDYXNlO1xuXG4gIHN3aXRjaCAocHJvcHMuY29udGFpbmVyVHlwZSkge1xuXG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICBsb2dHcm91cElkID0gJ0xvZ0dyb3VwRm9yU2VydmljZSc7XG4gICAgICBsb2dHcm91cE5hbWUgPSBwcm9wcy5zZXJ2aWNlTmFtZTtcbiAgICAgIGNvbnRhaW5lclR5cGVDYW1lbENhc2UgPSAnU2VydmljZSc7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RhdGFkb2ctc2lkZWNhcic6XG4gICAgICBsb2dHcm91cElkID0gJ0xvZ0dyb3VwRm9yRGF0YWRvZ1NpZGVjYXInO1xuICAgICAgbG9nR3JvdXBOYW1lID0gYCR7cHJvcHMuc2VydmljZU5hbWV9LSR7cHJvcHMuY29udGFpbmVyVHlwZX1gO1xuICAgICAgY29udGFpbmVyVHlwZUNhbWVsQ2FzZSA9ICdEYXRhZG9nU2lkZWNhcic7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcblxuICBzd2l0Y2ggKHByb3BzLmRhdGFkb2dMb2dnaW5nTW9kZSkge1xuXG4gICAgY2FzZSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUzpcbiAgICAgIC8vIFRPRE8gY2FuIHdlIHVzZSBgc2VjcmV0T3B0aW9uc2AgaGVyZSBhcyB3ZWxsLCBlLmcuIGFzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3Mtc2FtcGxlcy9hbWF6b24tZWNzLWZpcmVsZW5zLWV4YW1wbGVzL2Jsb2IvbWFpbmxpbmUvZXhhbXBsZXMvZmx1ZW50LWJpdC9kYXRhZG9nL3Rhc2stZGVmaW5pdGlvbi5qc29uI0wzMy1MMzZcbiAgICAgIC8vIFByb2JhYmx5IG5vdCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvODE3NFxuICAgICAgcmV0dXJuIGVjcy5Mb2dEcml2ZXJzLmZpcmVsZW5zKHtcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2ludGVncmF0aW9ucy9mbHVlbnRiaXQvI2NvbmZpZ3VyYXRpb24tcGFyYW1ldGVyc1xuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgTmFtZTogJ2RhdGFkb2cnLFxuICAgICAgICAgIE1hdGNoOiAnKicsXG4gICAgICAgICAgSG9zdDogYGh0dHAtaW50YWtlLmxvZ3MuJHtwcm9wcy5kYXRhZG9nU2l0ZX1gLFxuICAgICAgICAgIFRMUzogJ29uJyxcbiAgICAgICAgICBhcGlrZXk6IHByb3BzLmRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIuc3RyaW5nVmFsdWUsXG4gICAgICAgICAgY29tcHJlc3M6ICdnemlwJyxcbiAgICAgICAgICBkZF9zZXJ2aWNlOiBsb2dHcm91cE5hbWUsXG4gICAgICAgICAgZGRfc291cmNlOiAncmlvLWZhcmdhdGUnLFxuICAgICAgICAgIGRkX21lc3NhZ2Vfa2V5OiAnbG9nJyxcbiAgICAgICAgICBkZF90YWdzOiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHsgLi4ucHJvcHMsIGFjY291bnRJZCwgcmVnaW9uLCBjb250YWluZXJUeXBlOiAnZmx1ZW50LWJpdCcgfSksXG4gICAgICAgICAgcHJvdmlkZXI6ICdlY3MnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICBjYXNlIERhdGFEb2dMb2dnaW5nTW9kZS5GT1JXQVJERVJfTEFNQkRBOlxuICAgIGNhc2UgRGF0YURvZ0xvZ2dpbmdNb2RlLkRBVEFET0dfRk9SV0FSREVSX0xBTUJEQTpcbiAgICAgIGNvbnN0IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYSA9IG5ldyBsb2dzLkxvZ0dyb3VwKHByb3BzLnNjb3BlLCBsb2dHcm91cElkLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZSxcbiAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICB9KTtcbiAgICAgIFRhZ3Mub2YobG9nR3JvdXBGb3JGb3J3YXJkaW5nTGFtYmRhKS5hZGQoJ3NlcnZpY2UnLCBwcm9wcy5zZXJ2aWNlTmFtZSk7XG4gICAgICBjb25zdCBsb2dGb3J3YXJkZXJMYW1iZGFBcm5PdXRwdXROYW1lID0gcHJvcHMuZGF0YWRvZ0xvZ2dpbmdNb2RlID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuREFUQURPR19GT1JXQVJERVJfTEFNQkRBID8gJ2RhdGFkb2ctZm9yd2FyZGVyLUZvcndhcmRlckFybicgOiAnY3VzdG9tLXJlc291cmNlLWRhdGFkb2ctbG9nZm9yd2FyZGVyLWZ1bmN0aW9uLWFybic7XG4gICAgICBjb25zdCBsb2dGb3J3YXJkZXJMYW1iZGFBcm4gPSBGbi5pbXBvcnRWYWx1ZShsb2dGb3J3YXJkZXJMYW1iZGFBcm5PdXRwdXROYW1lKTtcbiAgICAgIGNvbnN0IGNmblBlcm1pc3Npb24gPSBuZXcgbGFtYmRhLkNmblBlcm1pc3Npb24ocHJvcHMuc2NvcGUsIGBMb2dGb3J3YXJkZXJQZXJtaXNzaW9uJHtjb250YWluZXJUeXBlQ2FtZWxDYXNlfWAsIHtcbiAgICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBsb2dGb3J3YXJkZXJMYW1iZGFBcm4sXG4gICAgICAgIHByaW5jaXBhbDogYGxvZ3MuJHtyZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICBzb3VyY2VBcm46IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYS5sb2dHcm91cEFybixcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2ZuU3Vic2NyaXB0aW9uRmlsdGVyID0gbmV3IGxvZ3MuQ2ZuU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgICAgICBwcm9wcy5zY29wZSxcbiAgICAgICAgYExvZ0ZvcndhcmRlclN1YnNjcmlwdGlvbkZpbHRlciR7Y29udGFpbmVyVHlwZUNhbWVsQ2FzZX1gLFxuICAgICAgICB7XG4gICAgICAgICAgZGVzdGluYXRpb25Bcm46IGxvZ0ZvcndhcmRlckxhbWJkYUFybixcbiAgICAgICAgICBmaWx0ZXJQYXR0ZXJuOiAnJyxcbiAgICAgICAgICBsb2dHcm91cE5hbWU6IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYS5sb2dHcm91cE5hbWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgY2ZuU3Vic2NyaXB0aW9uRmlsdGVyLmFkZERlcGVuZGVuY3koY2ZuUGVybWlzc2lvbik7XG4gICAgICByZXR1cm4gZWNzLkxvZ0RyaXZlcnMuYXdzTG9ncyh7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMuY29udGFpbmVyVHlwZSxcbiAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYSxcbiAgICAgICAgbW9kZTogZWNzLkF3c0xvZ0RyaXZlck1vZGUuTk9OX0JMT0NLSU5HLFxuICAgICAgICBtYXhCdWZmZXJTaXplOiBTaXplLm1lYmlieXRlcygyNSksXG4gICAgICB9KTtcblxuICAgIGNhc2UgRGF0YURvZ0xvZ2dpbmdNb2RlLk5PTkU6XG4gICAgICBjb25zdCBsb2dHcm91cEluQ2xvdWR3YXRjaE9ubHkgPSBuZXcgbG9ncy5Mb2dHcm91cChwcm9wcy5zY29wZSwgbG9nR3JvdXBJZCwge1xuICAgICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVjcy5Mb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHByb3BzLmNvbnRhaW5lclR5cGUsXG4gICAgICAgIGxvZ0dyb3VwOiBsb2dHcm91cEluQ2xvdWR3YXRjaE9ubHksXG4gICAgICAgIG1vZGU6IGVjcy5Bd3NMb2dEcml2ZXJNb2RlLk5PTl9CTE9DS0lORyxcbiAgICAgICAgbWF4QnVmZmVyU2l6ZTogU2l6ZS5tZWJpYnl0ZXMoMjUpLFxuICAgICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUxvZ2dpbmdBbmRNb25pdG9yaW5nQXJlUmVhZHlCZWZvcmVTZXJ2aWNlU3RhcnRzKHJpb0ZhcmdhdGVTZXJ2aWNlOiBSaW9GYXJnYXRlU2VydmljZSk6IHZvaWQge1xuXG4gIHJpb0ZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgY29udGFpbmVyOiByaW9GYXJnYXRlU2VydmljZS5kYXRhZG9nU2lkZUNhckNvbnRhaW5lckRlZmluaXRpb24sXG4gICAgY29uZGl0aW9uOiBlY3MuQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5IRUFMVEhZLFxuICB9KTtcblxuICBpZiAocmlvRmFyZ2F0ZVNlcnZpY2UubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbikge1xuICAgIHJpb0ZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgICBjb250YWluZXI6IHJpb0ZhcmdhdGVTZXJ2aWNlLmxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24sXG4gICAgICBjb25kaXRpb246IGVjcy5Db250YWluZXJEZXBlbmRlbmN5Q29uZGl0aW9uLlNUQVJULFxuICAgIH0pO1xuXG4gICAgaWYgKHJpb0ZhcmdhdGVTZXJ2aWNlLmRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbi5sb2dEcml2ZXJDb25maWc/LmxvZ0RyaXZlciA9PT0gJ2F3c2ZpcmVsZW5zJykge1xuICAgICAgcmlvRmFyZ2F0ZVNlcnZpY2UuZGF0YWRvZ1NpZGVDYXJDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgICAgIGNvbnRhaW5lcjogcmlvRmFyZ2F0ZVNlcnZpY2UubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbixcbiAgICAgICAgY29uZGl0aW9uOiBlY3MuQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5TVEFSVCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL2RhdGFkb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQThEO0FBQzlELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDZDQUE2QztBQUc3QywrREFBOEU7QUFFOUU7O0dBRUc7QUFDSCxNQUFhLE9BQU87SUFFWCxNQUFNLENBQUMsdUNBQXVDLENBQ25ELEtBQWdCLEVBQ2hCLEtBQWEsRUFDYixXQUFtQixFQUNuQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsY0FBc0IsRUFDdEIsY0FBa0Q7UUFFbEQsT0FBTyx1Q0FBdUMsQ0FBQztZQUM3QyxLQUFLO1lBQ0wsS0FBSztZQUNMLFdBQVc7WUFDWCxPQUFPO1lBQ1AsV0FBVztZQUNYLFFBQVE7WUFDUixjQUFjO1lBQ2QsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBYSxFQUFFLFdBQW1CLEVBQUUsT0FBZTtRQUN0RixPQUFPLHNCQUFzQixDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQzdCLEtBQWdCLEVBQ2hCLGNBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLEtBQWEsRUFDYixXQUFtQixFQUNuQixPQUFlLEVBQ2Ysc0JBQTRDLEVBQzVDLFdBQW1CLEVBQ25CLGtCQUFzQyxFQUN0Qyx1QkFBaUMsRUFDakMsR0FBVyxFQUNYLGNBQXNCLEVBQ3RCLFNBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLGNBQWtEO1FBR2xELE9BQU8saUJBQWlCLENBQUM7WUFDdkIsS0FBSztZQUNMLGNBQWM7WUFDZCxXQUFXO1lBQ1gsUUFBUTtZQUNSLGNBQWM7WUFDZCxL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LE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzVCLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDakMsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO2dCQUN2QyxhQUFhLEVBQUUsa0JBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2FBQ2xDLENBQUMsQ0FBQztJQUNQLENBQUM7QUFDSCxDQUFDO0FBckdELG9DQXFHQztBQUVELFNBQWdCLHFEQUFxRCxDQUFDLGlCQUFvQztJQUV4RyxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FBQztRQUNwRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsaUNBQWlDO1FBQzlELFNBQVMsRUFBRSxHQUFHLENBQUMsNEJBQTRCLENBQUMsT0FBTztLQUNwRCxDQUFDLENBQUM7SUFFSCxJQUFJLGlCQUFpQixDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDbkQsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLENBQUM7WUFDcEUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLDRCQUE0QjtZQUN6RCxTQUFTLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEtBQUs7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQkFBaUIsQ0FBQyxpQ0FBaUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQ3JHLGlCQUFpQixDQUFDLGlDQUFpQyxDQUFDLHdCQUF3QixDQUFDO2dCQUMzRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsNEJBQTRCO2dCQUN6RCxTQUFTLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEtBQUs7YUFDbEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBcEJELHNIQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBGbiwgU2l6ZSwgU3RhY2ssIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YURvZ0xvZ2dpbmdNb2RlLCBSaW9GYXJnYXRlU2VydmljZSB9IGZyb20gJy4vcmlvLWZhcmdhdGUtc2VydmljZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTW92ZWQgb3V0IHN0YXRpYyBtZXRob2RzIGFuZCBpbXBvcm92ZWQgc2lnbmF0dXJlLiBVc2UgbmFtZWQgaW1wb3J0IGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhRG9nIHtcblxuICBwdWJsaWMgc3RhdGljIGdldEZhcmdhdGVDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHN0YWdlOiBzdHJpbmcsXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgYWNjb3VudE5hbWU6IHN0cmluZyxcbiAgICB0ZWFtTmFtZTogc3RyaW5nLFxuICAgIHRlYW1JZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQsXG4gICk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBnZXRGYXJnYXRlQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMoe1xuICAgICAgc2NvcGUsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGFjY291bnROYW1lLFxuICAgICAgdGVhbU5hbWUsXG4gICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgIGFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRGYXJnYXRlRG9ja2VyTGFiZWxzKHN0YWdlOiBzdHJpbmcsIHNlcnZpY2VOYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBnZXRGYXJnYXRlRG9ja2VyTGFiZWxzKHsgc3RhZ2UsIHNlcnZpY2VOYW1lLCB2ZXJzaW9uIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZGREYXRhZG9nU2lkZWNhcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24sXG4gICAgYWNjb3VudE5hbWU6IHN0cmluZyxcbiAgICB0ZWFtTmFtZTogc3RyaW5nLFxuICAgIHRlYW1JZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgc3RhZ2U6IHN0cmluZyxcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyOiBzc20uSVN0cmluZ1BhcmFtZXRlcixcbiAgICBkYXRhZG9nU2l0ZTogc3RyaW5nLFxuICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogRGF0YURvZ0xvZ2dpbmdNb2RlLFxuICAgIGFwbUdldFJlc291cmNlc1RvSWdub3JlOiBzdHJpbmdbXSxcbiAgICBjcHU6IG51bWJlcixcbiAgICBtZW1vcnlMaW1pdE1pQjogbnVtYmVyLFxuICAgIGVzc2VudGlhbDogYm9vbGVhbixcbiAgICBjb250YWluZXJUYWc6IHN0cmluZyxcbiAgICBhZGRpdGlvbmFsVGFnczogeyBbazogc3RyaW5nXTogc3RyaW5nfSB8IHVuZGVmaW5lZCxcbiAgKTogZWNzLkNvbnRhaW5lckRlZmluaXRpb24ge1xuXG4gICAgcmV0dXJuIGFkZERhdGFkb2dTaWRlY2FyKHtcbiAgICAgIHNjb3BlLFxuICAgICAgdGFza0RlZmluaXRpb24sXG4gICAgICBhY2NvdW50TmFtZSxcbiAgICAgIHRlYW1OYW1lLFxuICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZSxcbiAgICAgIGFwbUdldFJlc291cmNlc1RvSWdub3JlLFxuICAgICAgY3B1LFxuICAgICAgbWVtb3J5TGltaXRNaUIsXG4gICAgICBlc3NlbnRpYWwsXG4gICAgICBjb250YWluZXJUYWcsXG4gICAgICBhZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWRkRmlyZUxlbnNMb2dSb3V0ZXIoXG4gICAgdGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbixcbiAgICBjcHU6IG51bWJlcixcbiAgICBtZW1vcnlMaW1pdE1pQjogbnVtYmVyLFxuICAgIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGg6IHN0cmluZyxcbiAgICBmaXJlbGVuc0NvbmZpZ0J1Y2tldEFybjogc3RyaW5nLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIGFkZEZpcmVMZW5zTG9nUm91dGVyKHsgdGFza0RlZmluaXRpb24sIGNwdSwgbWVtb3J5TGltaXRNaUIsIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGgsIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXR1cExvZ2dpbmcoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBhY2NvdW50TmFtZTogc3RyaW5nLFxuICAgIHRlYW1OYW1lOiBzdHJpbmcsXG4gICAgdGVhbUlkZW50aWZpZXI6IHN0cmluZyxcbiAgICBzdGFnZTogc3RyaW5nLFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXI6IHNzbS5JU3RyaW5nUGFyYW1ldGVyLFxuICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogRGF0YURvZ0xvZ2dpbmdNb2RlLFxuICAgIGRhdGFkb2dTaXRlOiBzdHJpbmcsXG4gICAgY29udGFpbmVyVHlwZTogJ3NlcnZpY2UnIHwgJ2RhdGFkb2ctc2lkZWNhcicsXG4gICAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQsXG4gICk6IGVjcy5Mb2dEcml2ZXIge1xuXG4gICAgcmV0dXJuIHNldHVwTG9nZ2luZyh7XG4gICAgICBzY29wZSxcbiAgICAgIGFjY291bnROYW1lLFxuICAgICAgdGVhbU5hbWUsXG4gICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgIHN0YWdlLFxuICAgICAgc2VydmljZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGF0YWRvZ0FwaUtleVBhcmFtZXRlcixcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZSxcbiAgICAgIGRhdGFkb2dTaXRlLFxuICAgICAgY29udGFpbmVyVHlwZSxcbiAgICAgIGFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbnN1cmVMb2dnaW5nQW5kTW9uaXRvcmluZ0FyZVJlYWR5QmVmb3JlU2VydmljZVN0YXJ0cyhyaW9GYXJnYXRlU2VydmljZTogUmlvRmFyZ2F0ZVNlcnZpY2UpIHtcbiAgICBlbnN1cmVMb2dnaW5nQW5kTW9uaXRvcmluZ0FyZVJlYWR5QmVmb3JlU2VydmljZVN0YXJ0cyhyaW9GYXJnYXRlU2VydmljZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZhcmdhdGVDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyhwcm9wczoge1xuICBzY29wZTogQ29uc3RydWN0O1xuICBzdGFnZTogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGFjY291bnROYW1lOiBzdHJpbmc7XG4gIHRlYW1OYW1lOiBzdHJpbmc7XG4gIHRlYW1JZGVudGlmaWVyOiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxUYWdzOiB7IFtrOiBzdHJpbmddOiBzdHJpbmd9IHwgdW5kZWZpbmVkO1xufSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcblxuICByZXR1cm4ge1xuICAgIC8vIHVuaWZpZWQgdGFnZ2luZywgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2dldHRpbmdfc3RhcnRlZC90YWdnaW5nL3VuaWZpZWRfc2VydmljZV90YWdnaW5nLz90YWI9ZWNzXG4gICAgRERfRU5WOiBwcm9wcy5zdGFnZSxcbiAgICBERF9TRVJWSUNFOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICBERF9WRVJTSU9OOiBwcm9wcy52ZXJzaW9uLFxuICAgIC8vIEFQTSBhbmQgdHJhY2luZywgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL3RyYWNpbmcvc2V0dXBfb3ZlcnZpZXcvc2V0dXAvamF2YS8/dGFiPWNvbnRhaW5lcnNcbiAgICBERF9MT0dTX0lOSkVDVElPTjogJ3RydWUnLFxuICAgIEREX1NFUlZJQ0VfTUFQUElORzogZ2V0QXBtU2VydmljZU1hcHBpbmdFbnZpcm9ubWVudFZhcmlhYmxlVmFsdWUocHJvcHMuc2VydmljZU5hbWUpLFxuICAgIEREX1RBR1M6IGdldFRhZ3NFbnZpcm9ubWVudFZhcmlhYmxlVmFsdWUoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb250YWluZXJUeXBlOiAnc2VydmljZScsXG4gICAgICBhY2NvdW50SWQsXG4gICAgICByZWdpb24sXG4gICAgfSksXG4gICAgRERfVFJBQ0VfU0FNUExFX1JBVEU6ICcxLjAnLCAvLyBzZWUgaHR0cHM6Ly9kZHRyYWNlLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9jb25maWd1cmF0aW9uLmh0bWxcbiAgfTtcbn1cblxuLy8gd2UgYWRkIGFsbCBwb3NzaWJsZSBzZXJ2aWNlIG1hcHBpbmdzIGhlcmUgZXZlbiBpZiBub3QgdXNlZCBpbiBhIHBhcnRpY3VsYXIgc2VydmljZSB0byBnZXQgZ2xvYmFsbHkgdW5pcXVlIG5hbWVzXG5mdW5jdGlvbiBnZXRBcG1TZXJ2aWNlTWFwcGluZ0Vudmlyb25tZW50VmFyaWFibGVWYWx1ZShzZXJ2aWNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblxuICBjb25zdCBzZXJ2aWNlTWFwcGluZyA9IHtcbiAgICAnZGF0YWJhc2UnOiBgJHtzZXJ2aWNlTmFtZX0tYXVyb3JhYCxcbiAgICAnamF2YS1hd3Mtc2RrJzogYCR7c2VydmljZU5hbWV9LWF3cy1zZGtgLFxuICAgICdrYWZrYSc6IGAke3NlcnZpY2VOYW1lfS1rYWZrYWAsXG4gICAgJ215c3FsJzogYCR7c2VydmljZU5hbWV9LWF1cm9yYWAsXG4gICAgJ3JlZGlzJzogYCR7c2VydmljZU5hbWV9LXJlZGlzYCxcbiAgfTtcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc2VydmljZU1hcHBpbmcpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiR7dmFsdWV9YClcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFyZ2F0ZURvY2tlckxhYmVscyhwcm9wczoge3N0YWdlOiBzdHJpbmc7IHNlcnZpY2VOYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZ30pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgcmV0dXJuIHtcbiAgICAnY29tLmRhdGFkb2docS50YWdzLmVudic6IHByb3BzLnN0YWdlLFxuICAgICdjb20uZGF0YWRvZ2hxLnRhZ3Muc2VydmljZSc6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICdjb20uZGF0YWRvZ2hxLnRhZ3MudmVyc2lvbic6IHByb3BzLnZlcnNpb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREYXRhZG9nU2lkZWNhcihwcm9wczoge1xuICBzY29wZTogQ29uc3RydWN0O1xuICB0YXNrRGVmaW5pdGlvbjogZWNzLlRhc2tEZWZpbml0aW9uO1xuICBhY2NvdW50TmFtZTogc3RyaW5nO1xuICB0ZWFtTmFtZTogc3RyaW5nO1xuICB0ZWFtSWRlbnRpZmllcjogc3RyaW5nO1xuICBzdGFnZTogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXI6IHNzbS5JU3RyaW5nUGFyYW1ldGVyO1xuICBkYXRhZG9nU2l0ZTogc3RyaW5nO1xuICBkYXRhZG9nTG9nZ2luZ01vZGU6IERhdGFEb2dMb2dnaW5nTW9kZTtcbiAgYXBtR2V0UmVzb3VyY2VzVG9JZ25vcmU6IHN0cmluZ1tdO1xuICBjcHU6IG51bWJlcjtcbiAgbWVtb3J5TGltaXRNaUI6IG51bWJlcjtcbiAgZXNzZW50aWFsOiBib29sZWFuO1xuICBjb250YWluZXJUYWc6IHN0cmluZztcbiAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQ7XG59KTogZWNzLkNvbnRhaW5lckRlZmluaXRpb24ge1xuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcbiAgY29uc3QgZGF0YWRvZ1NpZGVjYXIgPSBwcm9wcy50YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoJ2RhdGFkb2ctYWdlbnQnLCB7XG4gICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tUmVnaXN0cnkoYHB1YmxpYy5lY3IuYXdzL2RhdGFkb2cvYWdlbnQ6JHtwcm9wcy5jb250YWluZXJUYWd9YCksXG4gICAgbG9nZ2luZzogc2V0dXBMb2dnaW5nKHsgLi4ucHJvcHMsIGNvbnRhaW5lclR5cGU6ICdkYXRhZG9nLXNpZGVjYXInIH0pLFxuICAgIGNwdTogcHJvcHMuY3B1LFxuICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQixcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgLy8gdW5pZmllZCB0YWdnaW5nLCBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vZ2V0dGluZ19zdGFydGVkL3RhZ2dpbmcvdW5pZmllZF9zZXJ2aWNlX3RhZ2dpbmcvP3RhYj1lY3NcbiAgICAgIEREX0VOVjogcHJvcHMuc3RhZ2UsXG4gICAgICBERF9TRVJWSUNFOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIEREX1ZFUlNJT046IHByb3BzLnZlcnNpb24sXG4gICAgICAvLyBBUE0gYW5kIHRyYWNpbmcgc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2FnZW50L2RvY2tlci9hcG0vP3RhYj1saW51eFxuICAgICAgRERfQVBNX0VOQUJMRUQ6ICd0cnVlJyxcbiAgICAgIEREX0FQTV9JR05PUkVfUkVTT1VSQ0VTOiBwcm9wcy5hcG1HZXRSZXNvdXJjZXNUb0lnbm9yZVxuICAgICAgICAubWFwKChhcG1HZXRSZXNvdXJjZVRvSWdub3JlKSA9PiBgR0VUICR7YXBtR2V0UmVzb3VyY2VUb0lnbm9yZX1gKVxuICAgICAgICAuam9pbignLCcpLFxuICAgICAgLy8gZ2VuZXJhbCBzZXR0aW5nc1xuICAgICAgRERfU0lURTogcHJvcHMuZGF0YWRvZ1NpdGUsXG4gICAgICBERF9UQUdTOiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHsgLi4ucHJvcHMsIGFjY291bnRJZCwgcmVnaW9uLCBjb250YWluZXJUeXBlOiAnZGF0YWRvZy1zaWRlY2FyJyB9KSxcbiAgICAgIEVDU19GQVJHQVRFOiAndHJ1ZScsXG4gICAgICBERF9DTE9VRF9QUk9WSURFUl9NRVRBREFUQTogJ2F3cycsXG4gICAgICBERF9SRU1PVEVfQ09ORklHVVJBVElPTl9FTkFCTEVEOiAnZmFsc2UnLFxuICAgIH0sXG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXRhRG9nL2RhdGFkb2ctYWdlbnQvYmxvYi9tYXN0ZXIvRG9ja2VyZmlsZXMvYWdlbnQvYW1kNjQvRG9ja2VyZmlsZSNMMTcxLUwxNzJcbiAgICBoZWFsdGhDaGVjazoge1xuICAgICAgc3RhcnRQZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICBpbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDUpLFxuICAgICAgcmV0cmllczogMixcbiAgICAgIGNvbW1hbmQ6IFsnQ01ELVNIRUxMJywgJy9wcm9iZS5zaCddLFxuICAgIH0sXG4gICAgc2VjcmV0czoge1xuICAgICAgRERfQVBJX0tFWTogZWNzLlNlY3JldC5mcm9tU3NtUGFyYW1ldGVyKHByb3BzLmRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIpLFxuICAgIH0sXG4gICAgZXNzZW50aWFsOiBwcm9wcy5lc3NlbnRpYWwsXG4gIH0pO1xuXG4gIGRhdGFkb2dTaWRlY2FyLmFkZFBvcnRNYXBwaW5ncyh7XG4gICAgY29udGFpbmVyUG9ydDogODEyNSxcbiAgICBwcm90b2NvbDogZWNzLlByb3RvY29sLlVEUCxcbiAgfSk7XG5cbiAgZGF0YWRvZ1NpZGVjYXIuYWRkUG9ydE1hcHBpbmdzKHtcbiAgICBjb250YWluZXJQb3J0OiA4MTI2LFxuICAgIHByb3RvY29sOiBlY3MuUHJvdG9jb2wuVENQLFxuICB9KTtcblxuICByZXR1cm4gZGF0YWRvZ1NpZGVjYXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRGaXJlbGVuc0NvbmZpZ1VwbG9hZEZyb21TM1Blcm1pc3Npb25zKHByb3BzOiB7XG4gIHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb247XG4gIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuOiBzdHJpbmc7XG59KSB7XG4gIHByb3BzLnRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgIHJlc291cmNlczogW3Byb3BzLmZpcmVsZW5zQ29uZmlnQnVja2V0QXJuLCBgJHtwcm9wcy5maXJlbGVuc0NvbmZpZ0J1Y2tldEFybn0vKmBdLFxuICAgIGFjdGlvbnM6IFsnczM6R2V0KiddLFxuICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgfSkpO1xufVxuXG5mdW5jdGlvbiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHByb3BzOiB7XG4gIGFjY291bnRJZDogc3RyaW5nO1xuICBhY2NvdW50TmFtZTogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgdGVhbU5hbWU6IHN0cmluZztcbiAgdGVhbUlkZW50aWZpZXI6IHN0cmluZztcbiAgc3RhZ2U6IHN0cmluZztcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjb250YWluZXJUeXBlOiAnc2VydmljZScgfCAnZGF0YWRvZy1zaWRlY2FyJyB8ICdmbHVlbnQtYml0JztcbiAgYWRkaXRpb25hbFRhZ3M6IHsgW2s6IHN0cmluZ106IHN0cmluZ30gfCB1bmRlZmluZWQ7XG59KTogc3RyaW5nIHtcblxuICBjb25zdCBzZXBhcmF0b3IgPSBkZXRlcm1pbmVTZXBhcmF0b3IocHJvcHMuY29udGFpbmVyVHlwZSk7XG5cbiAgY29uc3QgdGFncyA9IHtcbiAgICAvLyB1bmlmaWVkIHRhZ2dpbmdcbiAgICAvLyBvdmVycmlkZGVuIGJ5IGRlZGljYXRlZCBzZXR0aW5ncyAoZW52aXJvbm1lbnQgdmFyaWFibGVzL3RhZ3MpXG4gICAgLy8gZHVwbGljYXRlZCBoZXJlIHRvIGVuc3VyZSB0aGV5IGFyZSB1c2VkIChhbmQgc29tZXRpbWVzLCBub3QgYWxsIHRocmVlIHZhbHVlcyBhcmUgc3VwcG9ydGVkKVxuICAgIGVudjogcHJvcHMuc3RhZ2UsXG4gICAgc2VydmljZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgdmVyc2lvbjogcHJvcHMudmVyc2lvbixcbiAgICAvLyBhY2NvdW50L3RlYW0gc3BlY2lmaWMgcGFydHNcbiAgICBhY2NvdW50X2lkOiBwcm9wcy5hY2NvdW50SWQsXG4gICAgYWNjb3VudF9uYW1lOiBwcm9wcy5hY2NvdW50TmFtZSxcbiAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICB0ZWFtOiBwcm9wcy50ZWFtTmFtZSxcbiAgICB0ZWFtX2lkZW50aWZpZXI6IHByb3BzLnRlYW1JZGVudGlmaWVyLFxuICB9O1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoeyAuLi50YWdzLCAuLi5wcm9wcy5hZGRpdGlvbmFsVGFncyB9KVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fToke3ZhbHVlfWApXG4gICAgLmpvaW4oc2VwYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gZGV0ZXJtaW5lU2VwYXJhdG9yKGNvbnRhaW5lclR5cGU6ICdzZXJ2aWNlJyB8ICdkYXRhZG9nLXNpZGVjYXInIHwgJ2ZsdWVudC1iaXQnKSB7XG4gIGlmIChjb250YWluZXJUeXBlID09PSAnZGF0YWRvZy1zaWRlY2FyJykge1xuICAgIHJldHVybiAnICc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICcsJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmlyZUxlbnNMb2dSb3V0ZXIocHJvcHM6IHtcbiAgdGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbjtcbiAgY3B1OiBudW1iZXI7XG4gIG1lbW9yeUxpbWl0TWlCOiBudW1iZXI7XG4gIGZpcmVsZW5zQ29uZmlnQnVja2V0QXJuOiBzdHJpbmc7XG4gIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGg6IHN0cmluZztcbn0pOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gIGNvbnN0IGZsdWVudEJpdFMzQ29uZmlnRmlsZSA9IHByb3BzLmZpcmVsZW5zQ29uZmlnQnVja2V0QXJuICsgcHJvcHMuZmlyZWxlbnNDb25maWdGaWxlUGF0aDtcbiAgcmV0dXJuIHByb3BzLnRhc2tEZWZpbml0aW9uLmFkZEZpcmVsZW5zTG9nUm91dGVyKCdmaXJlbGVucy1sb2ctcm91dGVyJywge1xuICAgIGltYWdlOiBlY3MuQ29udGFpbmVySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdwdWJsaWMuZWNyLmF3cy9hd3Mtb2JzZXJ2YWJpbGl0eS9hd3MtZm9yLWZsdWVudC1iaXQ6aW5pdC1sYXRlc3QnKSxcbiAgICBmaXJlbGVuc0NvbmZpZzoge1xuICAgICAgdHlwZTogZWNzLkZpcmVsZW5zTG9nUm91dGVyVHlwZS5GTFVFTlRCSVQsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGVuYWJsZUVDU0xvZ01ldGFkYXRhOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNwdTogcHJvcHMuY3B1LFxuICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQixcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgYXdzX2ZsdWVudF9iaXRfaW5pdF9zM18xOiBmbHVlbnRCaXRTM0NvbmZpZ0ZpbGUsXG4gICAgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cExvZ2dpbmcocHJvcHM6IHtcbiAgc2NvcGU6IENvbnN0cnVjdDtcbiAgYWNjb3VudE5hbWU6IHN0cmluZztcbiAgdGVhbU5hbWU6IHN0cmluZztcbiAgdGVhbUlkZW50aWZpZXI6IHN0cmluZztcbiAgc3RhZ2U6IHN0cmluZztcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyOiBzc20uSVN0cmluZ1BhcmFtZXRlcjtcbiAgZGF0YWRvZ0xvZ2dpbmdNb2RlOiBEYXRhRG9nTG9nZ2luZ01vZGU7XG4gIGRhdGFkb2dTaXRlOiBzdHJpbmc7XG4gIGNvbnRhaW5lclR5cGU6ICdzZXJ2aWNlJyB8ICdkYXRhZG9nLXNpZGVjYXInO1xuICBhZGRpdGlvbmFsVGFnczogeyBbazogc3RyaW5nXTogc3RyaW5nfSB8IHVuZGVmaW5lZDtcbn0pOiBlY3MuTG9nRHJpdmVyIHtcblxuICBsZXQgbG9nR3JvdXBOYW1lOiBzdHJpbmc7XG4gIGxldCBsb2dHcm91cElkOiBzdHJpbmc7XG4gIGxldCBjb250YWluZXJUeXBlQ2FtZWxDYXNlO1xuXG4gIHN3aXRjaCAocHJvcHMuY29udGFpbmVyVHlwZSkge1xuXG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICBsb2dHcm91cElkID0gJ0xvZ0dyb3VwRm9yU2VydmljZSc7XG4gICAgICBsb2dHcm91cE5hbWUgPSBwcm9wcy5zZXJ2aWNlTmFtZTtcbiAgICAgIGNvbnRhaW5lclR5cGVDYW1lbENhc2UgPSAnU2VydmljZSc7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RhdGFkb2ctc2lkZWNhcic6XG4gICAgICBsb2dHcm91cElkID0gJ0xvZ0dyb3VwRm9yRGF0YWRvZ1NpZGVjYXInO1xuICAgICAgbG9nR3JvdXBOYW1lID0gYCR7cHJvcHMuc2VydmljZU5hbWV9LSR7cHJvcHMuY29udGFpbmVyVHlwZX1gO1xuICAgICAgY29udGFpbmVyVHlwZUNhbWVsQ2FzZSA9ICdEYXRhZG9nU2lkZWNhcic7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudElkLCByZWdpb24gfSA9IFN0YWNrLm9mKHByb3BzLnNjb3BlKTtcblxuICBzd2l0Y2ggKHByb3BzLmRhdGFkb2dMb2dnaW5nTW9kZSkge1xuXG4gICAgY2FzZSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUzpcbiAgICAgIC8vIFRPRE8gY2FuIHdlIHVzZSBgc2VjcmV0T3B0aW9uc2AgaGVyZSBhcyB3ZWxsLCBlLmcuIGFzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3Mtc2FtcGxlcy9hbWF6b24tZWNzLWZpcmVsZW5zLWV4YW1wbGVzL2Jsb2IvbWFpbmxpbmUvZXhhbXBsZXMvZmx1ZW50LWJpdC9kYXRhZG9nL3Rhc2stZGVmaW5pdGlvbi5qc29uI0wzMy1MMzZcbiAgICAgIC8vIFByb2JhYmx5IG5vdCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvODE3NFxuICAgICAgcmV0dXJuIGVjcy5Mb2dEcml2ZXJzLmZpcmVsZW5zKHtcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2ludGVncmF0aW9ucy9mbHVlbnRiaXQvI2NvbmZpZ3VyYXRpb24tcGFyYW1ldGVyc1xuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgTmFtZTogJ2RhdGFkb2cnLFxuICAgICAgICAgIE1hdGNoOiAnKicsXG4gICAgICAgICAgSG9zdDogYGh0dHAtaW50YWtlLmxvZ3MuJHtwcm9wcy5kYXRhZG9nU2l0ZX1gLFxuICAgICAgICAgIFRMUzogJ29uJyxcbiAgICAgICAgICBhcGlrZXk6IHByb3BzLmRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIuc3RyaW5nVmFsdWUsXG4gICAgICAgICAgY29tcHJlc3M6ICdnemlwJyxcbiAgICAgICAgICBkZF9zZXJ2aWNlOiBsb2dHcm91cE5hbWUsXG4gICAgICAgICAgZGRfc291cmNlOiAncmlvLWZhcmdhdGUnLFxuICAgICAgICAgIGRkX21lc3NhZ2Vfa2V5OiAnbG9nJyxcbiAgICAgICAgICBkZF90YWdzOiBnZXRUYWdzRW52aXJvbm1lbnRWYXJpYWJsZVZhbHVlKHsgLi4ucHJvcHMsIGFjY291bnRJZCwgcmVnaW9uLCBjb250YWluZXJUeXBlOiAnZmx1ZW50LWJpdCcgfSksXG4gICAgICAgICAgcHJvdmlkZXI6ICdlY3MnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICBjYXNlIERhdGFEb2dMb2dnaW5nTW9kZS5GT1JXQVJERVJfTEFNQkRBOlxuICAgIGNhc2UgRGF0YURvZ0xvZ2dpbmdNb2RlLkRBVEFET0dfRk9SV0FSREVSX0xBTUJEQTpcbiAgICAgIGNvbnN0IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYSA9IG5ldyBsb2dzLkxvZ0dyb3VwKHByb3BzLnNjb3BlLCBsb2dHcm91cElkLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZSxcbiAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICB9KTtcbiAgICAgIFRhZ3Mub2YobG9nR3JvdXBGb3JGb3J3YXJkaW5nTGFtYmRhKS5hZGQoJ3NlcnZpY2UnLCBwcm9wcy5zZXJ2aWNlTmFtZSk7XG4gICAgICBjb25zdCBsb2dGb3J3YXJkZXJMYW1iZGFBcm5PdXRwdXROYW1lID0gcHJvcHMuZGF0YWRvZ0xvZ2dpbmdNb2RlID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuREFUQURPR19GT1JXQVJERVJfTEFNQkRBID8gJ2RhdGFkb2ctZm9yd2FyZGVyLUZvcndhcmRlckFybicgOiAnY3VzdG9tLXJlc291cmNlLWRhdGFkb2ctbG9nZm9yd2FyZGVyLWZ1bmN0aW9uLWFybic7XG4gICAgICBjb25zdCBsb2dGb3J3YXJkZXJMYW1iZGFBcm4gPSBGbi5pbXBvcnRWYWx1ZShsb2dGb3J3YXJkZXJMYW1iZGFBcm5PdXRwdXROYW1lKTtcbiAgICAgIGNvbnN0IGNmblBlcm1pc3Npb24gPSBuZXcgbGFtYmRhLkNmblBlcm1pc3Npb24ocHJvcHMuc2NvcGUsIGBMb2dGb3J3YXJkZXJQZXJtaXNzaW9uJHtjb250YWluZXJUeXBlQ2FtZWxDYXNlfWAsIHtcbiAgICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBsb2dGb3J3YXJkZXJMYW1iZGFBcm4sXG4gICAgICAgIHByaW5jaXBhbDogYGxvZ3MuJHtyZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICBzb3VyY2VBcm46IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYS5sb2dHcm91cEFybixcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2ZuU3Vic2NyaXB0aW9uRmlsdGVyID0gbmV3IGxvZ3MuQ2ZuU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgICAgICBwcm9wcy5zY29wZSxcbiAgICAgICAgYExvZ0ZvcndhcmRlclN1YnNjcmlwdGlvbkZpbHRlciR7Y29udGFpbmVyVHlwZUNhbWVsQ2FzZX1gLFxuICAgICAgICB7XG4gICAgICAgICAgZGVzdGluYXRpb25Bcm46IGxvZ0ZvcndhcmRlckxhbWJkYUFybixcbiAgICAgICAgICBmaWx0ZXJQYXR0ZXJuOiAnJyxcbiAgICAgICAgICBsb2dHcm91cE5hbWU6IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYS5sb2dHcm91cE5hbWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgY2ZuU3Vic2NyaXB0aW9uRmlsdGVyLmFkZERlcGVuZGVuY3koY2ZuUGVybWlzc2lvbik7XG4gICAgICByZXR1cm4gZWNzLkxvZ0RyaXZlcnMuYXdzTG9ncyh7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMuY29udGFpbmVyVHlwZSxcbiAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwRm9yRm9yd2FyZGluZ0xhbWJkYSxcbiAgICAgICAgbW9kZTogZWNzLkF3c0xvZ0RyaXZlck1vZGUuTk9OX0JMT0NLSU5HLFxuICAgICAgICBtYXhCdWZmZXJTaXplOiBTaXplLm1lYmlieXRlcygyNSksXG4gICAgICB9KTtcblxuICAgIGNhc2UgRGF0YURvZ0xvZ2dpbmdNb2RlLk5PTkU6XG4gICAgICBjb25zdCBsb2dHcm91cEluQ2xvdWR3YXRjaE9ubHkgPSBuZXcgbG9ncy5Mb2dHcm91cChwcm9wcy5zY29wZSwgbG9nR3JvdXBJZCwge1xuICAgICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVjcy5Mb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHByb3BzLmNvbnRhaW5lclR5cGUsXG4gICAgICAgIGxvZ0dyb3VwOiBsb2dHcm91cEluQ2xvdWR3YXRjaE9ubHksXG4gICAgICAgIG1vZGU6IGVjcy5Bd3NMb2dEcml2ZXJNb2RlLk5PTl9CTE9DS0lORyxcbiAgICAgICAgbWF4QnVmZmVyU2l6ZTogU2l6ZS5tZWJpYnl0ZXMoMjUpLFxuICAgICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUxvZ2dpbmdBbmRNb25pdG9yaW5nQXJlUmVhZHlCZWZvcmVTZXJ2aWNlU3RhcnRzKHJpb0ZhcmdhdGVTZXJ2aWNlOiBSaW9GYXJnYXRlU2VydmljZSk6IHZvaWQge1xuXG4gIHJpb0ZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgY29udGFpbmVyOiByaW9GYXJnYXRlU2VydmljZS5kYXRhZG9nU2lkZUNhckNvbnRhaW5lckRlZmluaXRpb24sXG4gICAgY29uZGl0aW9uOiBlY3MuQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5IRUFMVEhZLFxuICB9KTtcblxuICBpZiAocmlvRmFyZ2F0ZVNlcnZpY2UubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbikge1xuICAgIHJpb0ZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgICBjb250YWluZXI6IHJpb0ZhcmdhdGVTZXJ2aWNlLmxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24sXG4gICAgICBjb25kaXRpb246IGVjcy5Db250YWluZXJEZXBlbmRlbmN5Q29uZGl0aW9uLlNUQVJULFxuICAgIH0pO1xuXG4gICAgaWYgKHJpb0ZhcmdhdGVTZXJ2aWNlLmRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbi5sb2dEcml2ZXJDb25maWc/LmxvZ0RyaXZlciA9PT0gJ2F3c2ZpcmVsZW5zJykge1xuICAgICAgcmlvRmFyZ2F0ZVNlcnZpY2UuZGF0YWRvZ1NpZGVDYXJDb250YWluZXJEZWZpbml0aW9uLmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgICAgIGNvbnRhaW5lcjogcmlvRmFyZ2F0ZVNlcnZpY2UubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbixcbiAgICAgICAgY29uZGl0aW9uOiBlY3MuQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5TVEFSVCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -165,7 +165,7 @@ class RioFargateService extends constructs.Construct {
|
|
|
165
165
|
cpu: datadogSidecarCpu,
|
|
166
166
|
memoryLimitMiB: datadogSidecarMemoryMiB,
|
|
167
167
|
essential: datadogSidecarEssential,
|
|
168
|
-
containerTag: props.datadogOptions?.datadogSidecarTag ?? this.DEFAULT_DATADOG_SIDECAR_TAG,
|
|
168
|
+
containerTag: props.datadogOptions?.datadogSidecarTag ?? this.DEFAULT_DATADOG_SIDECAR_TAG, // These are positional parameters,
|
|
169
169
|
additionalTags: datadogOptions?.additionalTags,
|
|
170
170
|
});
|
|
171
171
|
datadog.ensureLoggingAndMonitoringAreReadyBeforeServiceStarts(this);
|
|
@@ -261,4 +261,4 @@ class ClusterVpcValidator {
|
|
|
261
261
|
return result;
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWZhcmdhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBQzNDLGdFQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQyxxQ0FBa0M7QUE4RGxDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDZDQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBb09ELElBQVksa0JBMEJYO0FBMUJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDZFQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCxtRkFBZ0IsQ0FBQTtJQUVoQjs7O09BR0c7SUFDSCxtR0FBd0IsQ0FBQTtJQUV4Qjs7T0FFRztJQUNILDJEQUFJLENBQUE7QUFDTixDQUFDLEVBMUJXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBMEI3QjtBQUVELE1BQWEsaUJBQWtCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUE4Q3pELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDaEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQTFCRix3Q0FBbUMsR0FBYSxFQUFFLENBQUM7UUFDbkQsZ0NBQTJCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLDZDQUF3QyxHQUFHLEdBQUcsQ0FBQztRQUMvQyxzQ0FBaUMsR0FBRyxJQUFJLENBQUM7UUFDekMscUNBQWdDLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDdkUsNkNBQXdDLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQ25FLGlDQUE0QixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUMvQixnQ0FBMkIsR0FBRyxRQUFRLENBQUM7UUFFdkMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0NBQTJCLEdBQUcsRUFBRSxDQUFDO1FBRWpDLCtCQUEwQixHQUFHLG1FQUFtRSxDQUFDO1FBQ2pHLDhCQUF5QixHQUFHLGtCQUFrQixDQUFDO1FBYzlELE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsR0FBRyxFQUNILE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCx5QkFBeUIsRUFDekIsS0FBSyxFQUNMLE9BQU8sRUFDUCxVQUFVLEdBQ1gsR0FBRyxLQUFLLENBQUM7UUFFVixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFzQixDQUNoRCxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFDbEMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFDM0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEZBQThGLENBQ3RILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQXNCLENBQ2hELGlCQUFpQixDQUFDLGdCQUFnQixFQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFDcEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsOEZBQThGLENBQzlHLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksbUJBQW1CLENBQzdDLEtBQUssQ0FBQyxHQUFHLEVBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FDZCxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxPQUFPLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDakUsR0FBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUMxRSxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUc7WUFDdkIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUFjO1lBQzdDLGVBQWUsRUFBRTtnQkFDZixlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxlQUFlLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNO2dCQUM5RixxQkFBcUIsRUFBRSxjQUFjLENBQUMsZUFBZSxFQUFFLHFCQUFxQixJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2FBQ2hIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3pILE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoSCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUVsSSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsc0NBQXNDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDekksTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUseUNBQXlDLENBQUMsQ0FBQztRQUU3SSxNQUFNLGlCQUFpQixHQUFHLGNBQWMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDO1FBQ2xGLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsd0NBQXdDLENBQUM7UUFDaEgsTUFBTSx1QkFBdUIsR0FBRyxjQUFjLEVBQUUsdUJBQXVCLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDO1FBRWxILE1BQU0scUJBQXFCLEdBQUcsY0FBYyxFQUFFLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztRQUM3RyxNQUFNLDBCQUEwQixHQUFHLGNBQWMsRUFBRSwwQkFBMEIsSUFBSSxJQUFJLENBQUMsd0NBQXdDLENBQUM7UUFDL0gsTUFBTSx5QkFBeUIsR0FDN0IscUJBQXFCLEtBQUssa0JBQWtCLENBQUMsYUFBYTtZQUMxRCwwQkFBMEIsS0FBSyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7UUFFbEUsSUFBSSx3QkFBd0IsQ0FBQztRQUM3QixJQUFJLDhCQUE4QixDQUFDO1FBRW5DLElBQUkseUJBQXlCLEVBQUU7WUFDN0Isd0JBQXdCLEdBQUcsY0FBYyxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ3hGLDhCQUE4QixHQUFHLGNBQWMsQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQzVILE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztnQkFDL0MsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsMEJBQTBCO2FBQ3pELENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCx3QkFBd0IsR0FBRyxjQUFjLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDO1lBQ2xFLDhCQUE4QixHQUFHLGNBQWMsQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLENBQUM7U0FDMUY7UUFDRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzlFLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxLQUFLO1lBQ3RDLEdBQUcsRUFBRSx3QkFBd0I7WUFDN0IsY0FBYyxFQUFFLDhCQUE4QjtZQUM5QyxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxPQUFPLENBQUMsdUNBQXVDLENBQUM7b0JBQ2pELEtBQUssRUFBRSxJQUFJO29CQUNYLEtBQUs7b0JBQ0wsV0FBVztvQkFDWCxPQUFPO29CQUNQLFdBQVc7b0JBQ1gsUUFBUTtvQkFDUixjQUFjO29CQUNkLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYztpQkFDL0MsQ0FBQztnQkFDRixHQUFHLHlCQUF5QixDQUFDLFdBQVc7YUFDekM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQ25FO1lBQ0QsV0FBVyxFQUFFLHlCQUF5QixDQUFDLFdBQVc7WUFDbEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLEtBQUs7Z0JBQ0wsV0FBVztnQkFDWCxRQUFRO2dCQUNSLGNBQWM7Z0JBQ2QsS0FBSztnQkFDTCxXQUFXO2dCQUNYLE9BQU87Z0JBQ1Asc0JBQXNCO2dCQUN0QixrQkFBa0IsRUFBRSxxQkFBcUI7Z0JBQ3pDLFdBQVc7Z0JBQ1gsYUFBYSxFQUFFLFNBQVM7Z0JBQ3hCLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYzthQUMvQyxDQUFDO1lBQ0YsT0FBTyxFQUFFLHlCQUF5QixDQUFDLE9BQU87U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQyxlQUFNLENBQUMsMENBQTBDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25HLGVBQU0sQ0FBQywwQ0FBMEMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEc7UUFFRCxJQUFJLHlCQUF5QixFQUFFO1lBQzdCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQy9ELGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUN4QixjQUFjLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtnQkFDaEQsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQjtnQkFDeEQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjthQUN2RCxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7WUFDakUsS0FBSztZQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxXQUFXO1lBQ1gsUUFBUTtZQUNSLGNBQWM7WUFDZCxLQUFLO1lBQ0wsV0FBVztZQUNYLE9BQU87WUFDUCxzQkFBc0I7WUFDdEIsV0FBVztZQUNYLGtCQUFrQixFQUFFLDBCQUEwQjtZQUM5Qyx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLElBQUksSUFBSSxDQUFDLG1DQUFtQztZQUM1RyxHQUFHLEVBQUUsaUJBQWlCO1lBQ3RCLGNBQWMsRUFBRSx1QkFBdUI7WUFDdkMsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsMkJBQTJCO1lBQ3pGLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYztTQUMvQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMscURBQXFELENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEUsTUFBTSxvQ0FBb0MsR0FBRyxtQkFBbUI7WUFDOUQsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUU7WUFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDckQsT0FBTyxFQUFFLGNBQWM7WUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDbEMsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixpQkFBaUIsRUFBRSxHQUFHO1lBQ3RCLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWTtZQUMxQyxHQUFHLG9DQUFvQztZQUN2QyxhQUFhLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU87U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUU1QyxJQUFJLG1CQUFtQixJQUFJLElBQUksRUFBRTtZQUMvQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUM7WUFDMUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUc7YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN2RSxHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsUUFBUSxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO2dCQUN6QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN2QixXQUFXLEVBQUUsbUJBQW1CLENBQUMsV0FBVztnQkFDNUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFDMUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyw0QkFBNEI7YUFDekcsQ0FBQyxDQUFDO1lBRUgsbUJBQW1CLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7Z0JBQ3JFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxRQUFRLGNBQWMsRUFBRTtvQkFDOUUsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQTJDLENBQUM7b0JBQ2hFLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsVUFBVTtpQkFDdkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O0FBNU9ILDhDQTZPQzs7O0FBM095QixrQ0FBZ0IsR0FBRztJQUN6QyxRQUFRO0lBQ1IsU0FBUztJQUNULFlBQVk7SUFDWixZQUFZO0lBQ1osbUJBQW1CO0NBQ3BCLEFBTnVDLENBTXRDO0FBRXNCLGtDQUFnQixHQUFHO0lBQ3pDLEtBQUs7SUFDTCxTQUFTO0lBQ1QsU0FBUztJQUNULFlBQVk7SUFDWixjQUFjO0lBQ2QsUUFBUTtJQUNSLE1BQU07SUFDTixpQkFBaUI7Q0FDbEIsQUFUdUMsQ0FTdEM7QUE0TkosTUFBTSxzQkFBc0I7SUFDMUIsWUFDbUIsUUFBa0IsRUFDbEIsSUFBd0MsRUFDeEMsZ0JBQTZDO1FBRjdDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBb0M7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtJQUM3RCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQUVELE1BQU0sbUJBQW1CO0lBQ3ZCLFlBQ21CLEdBQWEsRUFDYixPQUFzQjtRQUR0QixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUN0QyxDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLDhDQUE4QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdJO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGVsYnYyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBkYXRhZG9nIGZyb20gJy4vZGF0YWRvZyc7XG5pbXBvcnQgeyBTcHJpbmcgfSBmcm9tICcuL3NwcmluZyc7XG5cbi8qKlxuICogRmFyZ2F0ZSBUYXNrIERlZmluaXRpb24gUHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9GYXJnYXRlU2VydmljZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFnZSBvZiB0aGUgc2VydmljZSwgZS5nLiAncHJvZCcuXG4gICAqL1xuICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzZXJ2aWNlLCBlLmcuIHRoZSBnaXQgaGFzaCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb21taXQuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmcmFtZXdvcmtzIGluIHVzZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBObyBmcmFtZXdvcmtzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWV3b3Jrcz86IEZyYW1ld29ya1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIG9mIHRoZSBzZXJ2aWNlJ3MgZWNzLkNsdXN0ZXIgaWYgbm8gY2x1c3RlciBpcyBleHBsaWNpdGx5IHBhc3NlZCBhcyBwcm9wLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogVGhlIEZhcmdhdGUgY2x1c3RlciB0byBydW4gdGhlIHNlcnZpY2UgaW4uXG4gICAqIElmIG5vdCBudWxsLCB0aGUgY2x1c3Rlci52cGMgTVVTVCBtYXRjaCB0aGUgdnBjIHByb3ZpZGVkIGFzIGRpcmVjdCBhcmd1bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIENyZWF0ZSBhIG5ldyBGYXJnYXRlIGNsdXN0ZXIgd2l0aCBkZWZhdWx0IHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI/OiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5lciBkZWZpbml0aW9uIG9wdGlvbnMgbGlrZSBpbWFnZSwgY3B1LCBtZW1vcnkuXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uOiBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucztcblxuICAvKipcbiAgICogRmFyZ2F0ZSBUYXNrIERlZmluaXRpb24gUHJvcGVydGllcy5cbiAgICovXG4gIHJlYWRvbmx5IGZhcmdhdGVPcHRpb25zOiBGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcztcblxuICAvKipcbiAgICogTG9hZGJhbGFuY2VyIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJPcHRpb25zPzogTG9hZEJhbGFuY2VyT3B0aW9ucztcblxuICAvKipcbiAgICogRGF0YWRvZyBpbnRlZ3JhdGlvbiBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nT3B0aW9ucz86IERhdGFkb2dJbnRlZ3JhdGlvblByb3BzO1xufVxuXG5leHBvcnQgZW51bSBGcmFtZXdvcmsge1xuICAvKipcbiAgICogU3ByaW5nIEZyYW1ld29yaywgU3ByaW5nIEJvb3QsIGFuZCBTcHJpbmcgQ2xvdWQgQVdTLlxuICAgKi9cbiAgU1BSSU5HLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB1c2VkIHRvIHN0YXJ0IGEgY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGlzIHN0cmluZyBpcyBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIERvY2tlciBkYWVtb24uXG4gICAqIEltYWdlcyBpbiB0aGUgRG9ja2VyIEh1YiByZWdpc3RyeSBhcmUgYXZhaWxhYmxlIGJ5IGRlZmF1bHQuXG4gICAqIE90aGVyIHJlcG9zaXRvcmllcyBhcmUgc3BlY2lmaWVkIHdpdGggZWl0aGVyIHJlcG9zaXRvcnktdXJsL2ltYWdlOnRhZyBvciByZXBvc2l0b3J5LXVybC9pbWFnZUBkaWdlc3QuXG4gICAqL1xuICByZWFkb25seSBpbWFnZTogZWNzLkNvbnRhaW5lckltYWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogU29tZSBEYXRhZG9nIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgc2V0LFxuICAgKiBiZWNhdXNlIHRoZXkgYXJlIHNldCBhdXRvbWF0aWNhbGx5IG9yIGNvbXB1dGVkIGZyb20gb3RoZXIgYXR0cmlidXRlcy5cbiAgICogVGhlc2UgYXJlOlxuICAgKiAqIEREX0VOVjogU2V0IHNhbWUgYXMgcHJvcCBzdGFnZVxuICAgKiAqIEREX1NFUlZJQ0U6IFNldCBzYW1lIGFzIHByb3Agc2VydmljZU5hbWVcbiAgICogKiBERF9WRVJTSU9OOiBTZXQgc2FtZSBhcyBwcm9wIHZlcnNpb25cbiAgICogKiBERF9UQUdTOiBTZXQgc2FtZSBhcyBEYXRhZG9nSW50ZWdyYXRpb25Qcm9wcyNhZGRpdGlvbmFsVGFnc1xuICAgKiAqIEREX0xPR1NfSU5KRUNUSU9OOiB0cnVlXG4gICAqIE90aGVyIEREXy1wcmVmaXhlZCB2YWlhYmxlIG1heSBiZSBhZGRlZCB0byB0aGlzIGxpc3QuXG4gICAqXG4gICAqIE90aGVyIEVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgYnkgZGVmYXVsdCBhcmUgb3ZlcndyaXR0ZW4gaWYgcGFzc2VkLlxuICAgKiBUaGVzZSBhcmU6XG4gICAqICogRERfU0VSVklDRV9NQVBQSU5HOiBkYXRhYmFzZTpmYXJnYXRlLXdlYi1hcHAtYXVyb3JhLGphdmEtYXdzLXNkazpmYXJnYXRlLXdlYi1hcHAtYXdzLXNkayxrYWZrYTpmYXJnYXRlLXdlYi1hcHAta2Fma2EsbXlzcWw6ZmFyZ2F0ZS13ZWItYXBwLWF1cm9yYVxuICAgKiAqIEREX1RSQUNFX1NBTVBMRV9SQVRFOiAxLjBcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gTm8gc2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IGVjcy5TZWNyZXQgfTtcblxuICAvKipcbiAgICogVGhlIGhlYWx0aCBjaGVjayBjb21tYW5kIGFuZCBhc3NvY2lhdGVkIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIEhlYWx0aCBjaGVjayBjb25maWd1cmF0aW9uIGZyb20gY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2s/OiBlY3MuSGVhbHRoQ2hlY2s7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjcHUgdW5pdHMgdXNlZCBieSB0aGUgdGFzay4gRm9yIHRhc2tzIHVzaW5nIHRoZSBGYXJnYXRlIGxhdW5jaCB0eXBlLFxuICAgKiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCB5b3UgbXVzdCB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLFxuICAgKiB3aGljaCBkZXRlcm1pbmVzIHlvdXIgcmFuZ2Ugb2YgdmFsaWQgdmFsdWVzIGZvciB0aGUgbWVtb3J5IHBhcmFtZXRlcjpcbiAgICpcbiAgICogMjU2ICguMjUgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogNTEyICgwLjUgR0IpLCAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQilcbiAgICpcbiAgICogNTEyICguNSB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQiksIDMwNzIgKDMgR0IpLCA0MDk2ICg0IEdCKVxuICAgKlxuICAgKiAxMDI0ICgxIHZDUFUpIC0gQXZhaWxhYmxlIG1lbW9yeSB2YWx1ZXM6IDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQiksIDUxMjAgKDUgR0IpLCA2MTQ0ICg2IEdCKSwgNzE2OCAoNyBHQiksIDgxOTIgKDggR0IpXG4gICAqXG4gICAqIDIwNDggKDIgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogQmV0d2VlbiA0MDk2ICg0IEdCKSBhbmQgMTYzODQgKDE2IEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpXG4gICAqXG4gICAqIDQwOTYgKDQgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogQmV0d2VlbiA4MTkyICg4IEdCKSBhbmQgMzA3MjAgKDMwIEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgNTEyXG4gICAqL1xuICByZWFkb25seSBjcHU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCAoaW4gTWlCKSBvZiBtZW1vcnkgdXNlZCBieSB0aGUgdGFzay4gRm9yIHRhc2tzIHVzaW5nIHRoZSBGYXJnYXRlIGxhdW5jaCB0eXBlLFxuICAgKiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCB5b3UgbXVzdCB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLCB3aGljaCBkZXRlcm1pbmVzIHlvdXIgcmFuZ2Ugb2YgdmFsaWQgdmFsdWVzIGZvciB0aGUgY3B1IHBhcmFtZXRlcjpcbiAgICpcbiAgICogNTEyICgwLjUgR0IpLCAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogMjU2ICguMjUgdkNQVSlcbiAgICpcbiAgICogMTAyNCAoMSBHQiksIDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogNTEyICguNSB2Q1BVKVxuICAgKlxuICAgKiAyMDQ4ICgyIEdCKSwgMzA3MiAoMyBHQiksIDQwOTYgKDQgR0IpLCA1MTIwICg1IEdCKSwgNjE0NCAoNiBHQiksIDcxNjggKDcgR0IpLCA4MTkyICg4IEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAxMDI0ICgxIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gNDA5NiAoNCBHQikgYW5kIDE2Mzg0ICgxNiBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAyMDQ4ICgyIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gODE5MiAoOCBHQikgYW5kIDMwNzIwICgzMCBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiA0MDk2ICg0IHZDUFUpXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI6IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzaXJlZCBjb3VudCBvZiBydW5uaW5nIHRhc2tzXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBXaGVuIGNyZWF0aW5nIHRoZSBzZXJ2aWNlLCBkZWZhdWx0IGlzIDE7IHdoZW4gdXBkYXRpbmcgdGhlIHNlcnZpY2UsIGRlZmF1bHQgdXNlc1xuICAgKiB0aGUgY3VycmVudCB0YXNrIG51bWJlci5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCB5b3VyIHRhc2sgZGVmaW5pdGlvbnMgYXJlIHJ1bm5pbmcgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBVc2luZyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYIGFuZCBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZVBsYXRmb3JtPzogZWNzLlJ1bnRpbWVQbGF0Zm9ybTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lclJ1bGUge1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM6IGVsYnYyLkxpc3RlbmVyQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMaXN0ZW5lciBmb3IgYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlclxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXI6IGVsYnYyLklBcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSBwYXRoIHBhdHRlcm5zIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgcmVxdWVzdCBVUkwuXG4gICAqIFRoZSBtYXhpbXVtIHNpemUgb2YgZWFjaCBzdHJpbmcgaXMgMTI4IGNoYXJhY3RlcnMuXG4gICAqIFRoZSBjb21wYXJpc29uIGlzIGNhc2Ugc2Vuc2l0aXZlLlxuICAgKiBUaGUgZm9sbG93aW5nIHdpbGRjYXJkIGNoYXJhY3RlcnMgYXJlIHN1cHBvcnRlZDogKiAobWF0Y2hlcyAwIG9yIG1vcmUgY2hhcmFjdGVycykgYW5kID8gKG1hdGNoZXMgZXhhY3RseSAxIGNoYXJhY3RlcikuXG4gICAqXG4gICAqIFVwZGF0ZSByZXF1aXJlczogTm8gaW50ZXJydXB0aW9uXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lclJ1bGVzOiBMaXN0ZW5lclJ1bGVbXTtcblxuICAvKipcbiAgICogIEhlYWx0aCBjaGVjayBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2s6IGVsYnYyLkhlYWx0aENoZWNrO1xuXG4gIC8qKlxuICAgKiAgSGVhbHRoIGNoZWNrIGdyYWNlIHBlcmlvZC5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IGNkay5EdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgbG9hZCBiYWxhbmNlciBzZW5kcyBhIG5ld2x5IHJlZ2lzdGVyZWQgdGFyZ2V0IGEgbGluZWFybHkgaW5jcmVhc2luZyBzaGFyZSBvZiB0aGUgdHJhZmZpYyB0byB0aGUgdGFyZ2V0IGdyb3VwLlxuXG4gICAqVGhlIHJhbmdlIGlzIDMwLTkwMCBzZWNvbmRzICgxNSBtaW51dGVzKS5cblxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAqL1xuICByZWFkb25seSBzbG93U3RhcnQ/OiBjZGsuRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBmb3IgRWxhc3RpYyBMb2FkIEJhbGFuY2luZyB0byB3YWl0IGJlZm9yZSBkZXJlZ2lzdGVyaW5nIGEgdGFyZ2V0LlxuXG4gICAqIFRoZSByYW5nZSBpcyAwLTM2MDAgc2Vjb25kcy5cblxuICAgKiBAZGVmYXVsdFZhbHVlIDVcbiAgKi9cbiAgcmVhZG9ubHkgZGVyZWdpc3RyYXRpb25EZWxheT86IGNkay5EdXJhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nSW50ZWdyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgQ1BVIHVuaXRzIHRvIHJlc2VydmUgZm9yIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSA2NFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IChpbiBNaUIpIG9mIG1lbW9yeSB0byBwcmVzZW50IHRvIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIElmIHlvdXIgY29udGFpbmVyIGF0dGVtcHRzIHRvIGV4Y2VlZCB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgdGhlIGNvbnRhaW5lclxuICAgKiBpcyB0ZXJtaW5hdGVkLlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgbWVtb3J5TGltaXRNaUIgYW5kIG1lbW9yeVJlc2VydmF0aW9uTWlCIGlzIHJlcXVpcmVkIGZvciBub24tRmFyZ2F0ZSBzZXJ2aWNlcy5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIDEyOFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dnaW5nIG1vZGUgZm9yIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gVXNpbmcgdGhlIERhdGFkb2cgbG9nIGZvcndhcmRlciBsYW1iZGEgcHJvdmlkZWQgYnkgdGhlIGRhdGFkb2ctaW50ZWdyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nTW9kZUZvclNlcnZpY2U/OiBEYXRhRG9nTG9nZ2luZ01vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dnaW5nIG1vZGUgZm9yIHRoZSBEYXRhZG9nIGFnZW50IHNpZGVjYXIuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBObyBsb2dzIGluIERhdGFkb2csIENsb3Vkd2F0Y2ggb25seS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50PzogRGF0YURvZ0xvZ2dpbmdNb2RlO1xuXG4gIC8qKlxuICAgKiBHRVQgZW5kcG9pbnRzIHRvIGlnbm9yZSBpbiBEYXRhZG9nJ3MgQVBNIG92ZXJ2aWV3LiBUaGlzIGlzIHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFsbCBoZWFsdGggY2hlY2sgY2FsbHMuXG5cbiAgICAqIEBkZWZhdWx0VmFsdWUgLSBObyBlbmRwb2ludHMgYXJlIGlnbm9yZWQuXG4gICAgKi9cbiAgcmVhZG9ubHkgYXBtR2V0RW5kcG9pbnRzVG9JZ25vcmU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGlmIHRoZSBEYXRhZG9nIGFnZW50IHNpZGVjYXIgaXMgbWFya2VkIGFzIGVzc2VudGlhbC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIHRydWUuXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nU2lkZWNhckVzc2VudGlhbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIGRvY2tlciBpbWFnZSB0YWcgZm9yIGRhdGFkb2cgc2lkZWNhclxuICAgKiBAZGVmYXVsdFZhbHVlIC0gJ2xhdGVzdCdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlY2FyVGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYWRkaXRpb25hbCB0YWdzLCB3aGljaCBhcmUgYXBwZW5kZWQgdG8gdGhlIGRlZmF1bHRzLFxuICAgKiBXaGVuIHlvdSBkZWZpbmUgY3VzdG9tIHRhZ3Mgd2Ugd291bGQgYmUgZ2xhZCBpZiB5b3UgY29udGFjdCB1cy5cbiAgICogV2Ugd291bGQgbGlrZSB0byBsZWFybiBhYm91dCB5b3VyIHVzZSBjYXNlcy5cbiAgICpcbiAgICogRGVmYXVsdCB0YWdzIGFyZSBub3QgYWxsb3dlZCB0byBiZSBvdmVycmlkZGVuIVxuICAgKlxuICAgKiBEZWZhdWx0cyBhcmU6XG4gICAqICogZW52OiBTZXQgdG8gUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcyNzdGFnZSBwcm9wXG4gICAqICogc2VydmljZTogU2V0IHRvIFJpb0ZhcmdhdGVTZXJ2aWNlUHJvcHMjc2VydmljZU5hbWUgcHJvcFxuICAgKiAqIHZlcnNpb246IFNldCB0byBSaW9GYXJnYXRlU2VydmljZVByb3BzI3ZlcnNpb24gcHJvcFxuICAgKiAqIGFjY291bnRfaWQ6JHthY2NvdW50SUR9XG4gICAqICogYWNjb3VudF9uYW1lOiR7YWNjb3VudE5hbWV9XG4gICAqICogcmVnaW9uOiR7QVdTUmVnaW9ufVxuICAgKiAqIHRlYW06JHt0ZWFtTmFtZSBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vbmFtZX1cbiAgICogKiB0ZWFtX2lkZW50aWZpZXI6JHt0ZWFtSWRlbnRpZmllciBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vaWRlbnRpZmllcn1cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGVudW0gRGF0YURvZ0xvZ2dpbmdNb2RlIHtcbiAgLyoqXG4gICAqIEZvcndhcmQgbG9ncyBkaXJlY3RseSB0byBEYXRhZG9nIHVzaW5nIEFXUyBGaXJlTGVucyBhcyBsb2cgcm91dGVyLFxuICAgKiBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2Vjc19mYXJnYXRlLz90YWI9Zmx1ZW50Yml0YW5kZmlyZWxlbnMjbG9nLWNvbGxlY3Rpb24uXG4gICAqL1xuICBBV1NfRklSRV9MRU5TLFxuXG4gIC8qKlxuICAgKiBTdG9yZSBsb2dzIGluIEFXUyBDbG91ZHdhdGNoIGFuZCB1c2UgdGhlIFJJTyBjdXN0b21pemVkIERhdGFkb2cgbG9nIGZvcndhcmRlciBsYW1iZGEgZnJvbSB0aGUgbGVnYWN5XG4gICAqIGRhdGFkb2ctaW50ZWdyYXRpb24sIHRvIGZvcndhcmQgdGhlIGxvZ3MgdG8gRGF0YWRvZyxcbiAgICpcbiAgICogQHNlZSBodHRwczovL2JpdGJ1Y2tldC5jb2xsYWJvcmF0aW9uLW1hbi5jb20vcHJvamVjdHMvUklPREVWL3JlcG9zL2RhdGFkb2ctaW50ZWdyYXRpb24vYnJvd3NlXG4gICAqIEBkZXByZWNhdGVkIHVzZSBEQVRBRE9HX0ZPUldBUkRFUl9MQU1CREFcbiAgICovXG4gIEZPUldBUkRFUl9MQU1CREEsXG5cbiAgLyoqXG4gICAqIFN0b3JlIGxvZ3MgaW4gQVdTIENsb3Vkd2F0Y2ggYW5kIHVzZSB0aGUgRGF0YWRvZyBsb2cgZm9yd2FyZGVyIGxhbWJkYSB0byBmb3J3YXJkIHRoZSBsb2dzIHRvIERhdGFkb2csXG4gICAqIHNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9pbnRlZ3JhdGlvbnMvZWNzX2ZhcmdhdGUvP3RhYj1sb2dkcml2ZXIjbG9nLWNvbGxlY3Rpb24uXG4gICAqL1xuICBEQVRBRE9HX0ZPUldBUkRFUl9MQU1CREEsXG5cbiAgLyoqXG4gICAqIE9ubHkgbG9nIHRvIEFXUyBDbG91ZHdhdGNoIHdpdGhvdXQgZm9yd2FyZGluZyB0aGUgbG9ncyB0byBEYXRhZG9nLlxuICAgKi9cbiAgTk9ORSxcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0ZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3QgaW1wbGVtZW50cyBlYzIuSUNvbm5lY3RhYmxlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERF9FTlZfREVOWV9MSVNUID0gW1xuICAgICdERF9FTlYnLFxuICAgICdERF9UQUdTJyxcbiAgICAnRERfU0VSVklDRScsXG4gICAgJ0REX1ZFUlNJT04nLFxuICAgICdERF9MT0dTX0lOSkVDVElPTicsXG4gIF07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRERfVEFHX0RFTllfTElTVCA9IFtcbiAgICAnZW52JyxcbiAgICAnc2VydmljZScsXG4gICAgJ3ZlcnNpb24nLFxuICAgICdhY2NvdW50X2lkJyxcbiAgICAnYWNjb3VudF9uYW1lJyxcbiAgICAncmVnaW9uJyxcbiAgICAndGVhbScsXG4gICAgJ3RlYW1faWRlbnRpZmllcicsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0FQTV9HRVRfRU5EUE9JTlRTX1RPX0lHTk9SRTogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RBVEFET0dfU0lERUNBUl9DUFUgPSA2NDtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RBVEFET0dfU0lERUNBUl9NRU1PUllfTElNSVRfTUlCID0gMTI4O1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX0VTU0VOVElBTCA9IHRydWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9MT0dHSU5HX01PREVfRk9SX1NFUlZJQ0UgPSBEYXRhRG9nTG9nZ2luZ01vZGUuRk9SV0FSREVSX0xBTUJEQTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0xPR0dJTkdfTU9ERV9GT1JfREFUQURPR19TSURFQ0FSID0gRGF0YURvZ0xvZ2dpbmdNb2RlLk5PTkU7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9ERVJFR0lTVFJBVElPTl9ERUxBWSA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDUpO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfU0xPV19TVEFSVCA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RBVEFET0dfU0lERUNBUl9UQUcgPSAnbGF0ZXN0JztcblxuICBwcml2YXRlIHJlYWRvbmx5IExPR19ST1VURVJfQ1BVID0gNjQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgTE9HX1JPVVRFUl9NRU1PUllfTElNSVRfTUlCID0gNjQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBGSVJFTEVOU19DT05GSUdfQlVDS0VUX0FSTiA9ICdhcm46YXdzOnMzOjo6NTc3MTQ2ODk3Nzg1LWV1LXdlc3QtMS1maXJlbGVucy1jb25maWd1cmF0aW9uLWJ1Y2tldCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgRklSRUxFTlNfQ09ORklHX0ZJTEVfUEFUSCA9ICcvcGFyc2UtanNvbi5jb25mJztcblxuICByZWFkb25seSBzZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24/OiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcmVhZG9ubHkgdGFza0RlZmluaXRpb246IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb247XG5cbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucztcbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLkZhcmdhdGVTZXJ2aWNlO1xuICByZWFkb25seSB0YXJnZXRHcm91cDogZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cHx1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLFxuICAgICAgdnBjLFxuICAgICAgY2x1c3RlcixcbiAgICAgIGZhcmdhdGVPcHRpb25zLFxuICAgICAgZGF0YWRvZ09wdGlvbnMsXG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24sXG4gICAgICBzdGFnZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBmcmFtZXdvcmtzLFxuICAgIH0gPSBwcm9wcztcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBEZW55TGlzdGVkS2V5VmFsaWRhdG9yKFxuICAgICAgUmlvRmFyZ2F0ZVNlcnZpY2UuRERfRU5WX0RFTllfTElTVCxcbiAgICAgIHByb3BzLmNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uZW52aXJvbm1lbnQsXG4gICAgICBpdCA9PiBgRW52aXJvbm1lbnQgJHtpdH0gaXMgbm90IGFsbG93ZWQgdG8gYmUgc2V0LiBUaGlzIHZhbHVlIHdpbGwgYmUgaW5mZXJyZWQgZnJvbSB0aGUgYWNjb3VudCBvciBvdGhlciBwcm9wZXJ0aWVzLmAsXG4gICAgKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24obmV3IERlbnlMaXN0ZWRLZXlWYWxpZGF0b3IoXG4gICAgICBSaW9GYXJnYXRlU2VydmljZS5ERF9UQUdfREVOWV9MSVNULFxuICAgICAgcHJvcHMuZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgaXQgPT4gYFRhZyAke2l0fSBpcyBub3QgYWxsb3dlZCB0byBiZSBzZXQuIFRoaXMgdmFsdWUgd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBhY2NvdW50IG9yIG90aGVyIHByb3BlcnRpZXMuYCxcbiAgICApKTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBDbHVzdGVyVnBjVmFsaWRhdG9yKFxuICAgICAgcHJvcHMudnBjLFxuICAgICAgcHJvcHMuY2x1c3RlcixcbiAgICApKTtcblxuICAgIGNvbnN0IGZhcmdhdGVDbHVzdGVyID0gY2x1c3RlciA/PyBuZXcgZWNzLkNsdXN0ZXIodGhpcywgJ0NsdXN0ZXInLCB7XG4gICAgICB2cGM6IHZwYyxcbiAgICB9KTtcbiAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgJ1Rhc2tEZWZpbml0aW9uJywge1xuICAgICAgY3B1OiBmYXJnYXRlT3B0aW9ucy5jcHUsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogZmFyZ2F0ZU9wdGlvbnMubWVtb3J5TGltaXRNaUIsXG4gICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgY3B1QXJjaGl0ZWN0dXJlOiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/LmNwdUFyY2hpdGVjdHVyZSA/PyBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NCxcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/Lm9wZXJhdGluZ1N5c3RlbUZhbWlseSA/PyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBhY2NvdW50TmFtZSA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0FjY291bnROYW1lJywgJy9jb25maWcvYWNjb3VudC9uYW1lJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IHRlYW1JZGVudGlmaWVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnVGVhbUlkZW50aWZpZXInLCAnL2NvbmZpZy90ZWFtL2lkZW50aWZpZXInKS5zdHJpbmdWYWx1ZTtcblxuICAgIGNvbnN0IGRhdGFkb2dTaXRlID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnRGF0YWRvZ1NpdGUnLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9zaXRlJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgZGF0YWRvZ0FwaUtleVBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0RhdGFkb2dBcGlLZXknLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9hcGkta2V5Jyk7XG5cbiAgICBjb25zdCBkYXRhZG9nU2lkZWNhckNwdSA9IGRhdGFkb2dPcHRpb25zPy5jcHUgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9DUFU7XG4gICAgY29uc3QgZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUIgPSBkYXRhZG9nT3B0aW9ucz8ubWVtb3J5TGltaXRNaUIgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9NRU1PUllfTElNSVRfTUlCO1xuICAgIGNvbnN0IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID0gZGF0YWRvZ09wdGlvbnM/LmRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID8/IHRoaXMuREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMO1xuXG4gICAgY29uc3QgbG9nZ2luZ01vZGVGb3JTZXJ2aWNlID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yU2VydmljZSA/PyB0aGlzLkRFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9TRVJWSUNFO1xuICAgIGNvbnN0IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID8/IHRoaXMuREVGQVVMVF9MT0dHSU5HX01PREVfRk9SX0RBVEFET0dfU0lERUNBUjtcbiAgICBjb25zdCBmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkID1cbiAgICAgIGxvZ2dpbmdNb2RlRm9yU2VydmljZSA9PT0gRGF0YURvZ0xvZ2dpbmdNb2RlLkFXU19GSVJFX0xFTlMgfHxcbiAgICAgIGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUztcblxuICAgIGxldCBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHM7XG4gICAgbGV0IHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQjtcblxuICAgIGlmIChmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkKSB7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHMgPSBmYXJnYXRlT3B0aW9ucy5jcHUgLSBkYXRhZG9nU2lkZWNhckNwdSAtIHRoaXMuTE9HX1JPVVRFUl9DUFU7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyTWVtb3J5TGltaXRNaUIgPSBmYXJnYXRlT3B0aW9ucy5tZW1vcnlMaW1pdE1pQiAtIGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCIC0gdGhpcy5MT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUI7XG4gICAgICBkYXRhZG9nLmFkZEZpcmVsZW5zQ29uZmlnVXBsb2FkRnJvbVMzUGVybWlzc2lvbnMoe1xuICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgZmlyZWxlbnNDb25maWdCdWNrZXRBcm46IHRoaXMuRklSRUxFTlNfQ09ORklHX0JVQ0tFVF9BUk4sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2VydmljZUNvbnRhaW5lckNwdVVuaXRzID0gZmFyZ2F0ZU9wdGlvbnMuY3B1IC0gZGF0YWRvZ1NpZGVjYXJDcHU7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyTWVtb3J5TGltaXRNaUIgPSBmYXJnYXRlT3B0aW9ucy5tZW1vcnlMaW1pdE1pQiAtIGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCO1xuICAgIH1cbiAgICB0aGlzLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uID0gdGhpcy50YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoc2VydmljZU5hbWUsIHtcbiAgICAgIGltYWdlOiBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uLmltYWdlLFxuICAgICAgY3B1OiBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHMsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogc2VydmljZUNvbnRhaW5lck1lbW9yeUxpbWl0TWlCLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLi4uZGF0YWRvZy5nZXRGYXJnYXRlQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMoe1xuICAgICAgICAgIHNjb3BlOiB0aGlzLFxuICAgICAgICAgIHN0YWdlLFxuICAgICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgYWNjb3VudE5hbWUsXG4gICAgICAgICAgdGVhbU5hbWUsXG4gICAgICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICAgICAgYWRkaXRpb25hbFRhZ3M6IGRhdGFkb2dPcHRpb25zPy5hZGRpdGlvbmFsVGFncyxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLmNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uZW52aXJvbm1lbnQsXG4gICAgICB9LFxuICAgICAgZG9ja2VyTGFiZWxzOiB7XG4gICAgICAgIC4uLmRhdGFkb2cuZ2V0RmFyZ2F0ZURvY2tlckxhYmVscyh7IHN0YWdlLCBzZXJ2aWNlTmFtZSwgdmVyc2lvbiB9KSxcbiAgICAgIH0sXG4gICAgICBoZWFsdGhDaGVjazogY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5oZWFsdGhDaGVjayxcbiAgICAgIGxvZ2dpbmc6IGRhdGFkb2cuc2V0dXBMb2dnaW5nKHtcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGFjY291bnROYW1lLFxuICAgICAgICB0ZWFtTmFtZSxcbiAgICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICAgIHN0YWdlLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgdmVyc2lvbixcbiAgICAgICAgZGF0YWRvZ0FwaUtleVBhcmFtZXRlcixcbiAgICAgICAgZGF0YWRvZ0xvZ2dpbmdNb2RlOiBsb2dnaW5nTW9kZUZvclNlcnZpY2UsXG4gICAgICAgIGRhdGFkb2dTaXRlLFxuICAgICAgICBjb250YWluZXJUeXBlOiAnc2VydmljZScsXG4gICAgICAgIGFkZGl0aW9uYWxUYWdzOiBkYXRhZG9nT3B0aW9ucz8uYWRkaXRpb25hbFRhZ3MsXG4gICAgICB9KSxcbiAgICAgIHNlY3JldHM6IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uc2VjcmV0cyxcbiAgICB9KTtcblxuICAgIGlmIChmcmFtZXdvcmtzPy5pbmNsdWRlcyhGcmFtZXdvcmsuU1BSSU5HKSkge1xuICAgICAgU3ByaW5nLmFsbG93UGFyYW1ldGVyU3RvcmVBY2Nlc3NGb3JTcHJpbmdDbG91ZEF3cyh0aGlzLCBzZXJ2aWNlTmFtZSwgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSk7XG4gICAgICBTcHJpbmcuYWxsb3dTZWNyZXRzTWFuYWdlckFjY2Vzc0ZvclNwcmluZ0Nsb3VkQXdzKHRoaXMsIHNlcnZpY2VOYW1lLCB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyZUxlbnNMb2dSb3V0ZXJSZXF1aXJlZCkge1xuICAgICAgdGhpcy5sb2dSb3V0ZXJDb250YWluZXJEZWZpbml0aW9uID0gZGF0YWRvZy5hZGRGaXJlTGVuc0xvZ1JvdXRlcih7XG4gICAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2tEZWZpbml0aW9uLFxuICAgICAgICBjcHU6IHRoaXMuTE9HX1JPVVRFUl9DUFUsXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiB0aGlzLkxPR19ST1VURVJfTUVNT1JZX0xJTUlUX01JQixcbiAgICAgICAgZmlyZWxlbnNDb25maWdCdWNrZXRBcm46IHRoaXMuRklSRUxFTlNfQ09ORklHX0JVQ0tFVF9BUk4sXG4gICAgICAgIGZpcmVsZW5zQ29uZmlnRmlsZVBhdGg6IHRoaXMuRklSRUxFTlNfQ09ORklHX0ZJTEVfUEFUSCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbiA9IGRhdGFkb2cuYWRkRGF0YWRvZ1NpZGVjYXIoe1xuICAgICAgc2NvcGUsXG4gICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgIGFjY291bnROYW1lLFxuICAgICAgdGVhbU5hbWUsXG4gICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgIHN0YWdlLFxuICAgICAgc2VydmljZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGF0YWRvZ0FwaUtleVBhcmFtZXRlcixcbiAgICAgIGRhdGFkb2dTaXRlLFxuICAgICAgZGF0YWRvZ0xvZ2dpbmdNb2RlOiBsb2dnaW5nTW9kZUZvckRhdGFkb2dBZ2VudCxcbiAgICAgIGFwbUdldFJlc291cmNlc1RvSWdub3JlOiBkYXRhZG9nT3B0aW9ucz8uYXBtR2V0RW5kcG9pbnRzVG9JZ25vcmUgPz8gdGhpcy5ERUZBVUxUX0FQTV9HRVRfRU5EUE9JTlRTX1RPX0lHTk9SRSxcbiAgICAgIGNwdTogZGF0YWRvZ1NpZGVjYXJDcHUsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUIsXG4gICAgICBlc3NlbnRpYWw6IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsLFxuICAgICAgY29udGFpbmVyVGFnOiBwcm9wcy5kYXRhZG9nT3B0aW9ucz8uZGF0YWRvZ1NpZGVjYXJUYWcgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9UQUcsIC8vIFRoZXNlIGFyZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsXG4gICAgICBhZGRpdGlvbmFsVGFnczogZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuXG4gICAgZGF0YWRvZy5lbnN1cmVMb2dnaW5nQW5kTW9uaXRvcmluZ0FyZVJlYWR5QmVmb3JlU2VydmljZVN0YXJ0cyh0aGlzKTtcblxuICAgIGNvbnN0IGxvYWRCYWxhbmNlck9wdGlvbnNGb3JGYXJnYXRlU2VydmljZSA9IGxvYWRCYWxhbmNlck9wdGlvbnNcbiAgICAgID8geyBoZWFsdGhDaGVja0dyYWNlUGVyaW9kOiBsb2FkQmFsYW5jZXJPcHRpb25zLmhlYWx0aENoZWNrR3JhY2VQZXJpb2QgfVxuICAgICAgOiB7fTtcblxuICAgIHRoaXMuc2VydmljZSA9IG5ldyBlY3MuRmFyZ2F0ZVNlcnZpY2UodGhpcywgJ1NlcnZpY2UnLCB7XG4gICAgICBjbHVzdGVyOiBmYXJnYXRlQ2x1c3RlcixcbiAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2tEZWZpbml0aW9uLFxuICAgICAgY2lyY3VpdEJyZWFrZXI6IHsgcm9sbGJhY2s6IHRydWUgfSxcbiAgICAgIG1heEhlYWx0aHlQZXJjZW50OiAyMDAsXG4gICAgICBtaW5IZWFsdGh5UGVyY2VudDogMTAwLFxuICAgICAgZGVzaXJlZENvdW50OiBmYXJnYXRlT3B0aW9ucz8uZGVzaXJlZENvdW50LFxuICAgICAgLi4ubG9hZEJhbGFuY2VyT3B0aW9uc0ZvckZhcmdhdGVTZXJ2aWNlLFxuICAgICAgcHJvcGFnYXRlVGFnczogZWNzLlByb3BhZ2F0ZWRUYWdTb3VyY2UuU0VSVklDRSxcbiAgICB9KTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLnNlcnZpY2UuY29ubmVjdGlvbnM7XG5cbiAgICBpZiAobG9hZEJhbGFuY2VyT3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjb250YWluZXJQb3J0ID0gNDQzO1xuICAgICAgdGhpcy5zZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbi5hZGRQb3J0TWFwcGluZ3Moe1xuICAgICAgICBjb250YWluZXJQb3J0OiBjb250YWluZXJQb3J0LFxuICAgICAgICBwcm90b2NvbDogZWNzLlByb3RvY29sLlRDUCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy50YXJnZXRHcm91cCA9IG5ldyBlbGJ2Mi5BcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsICdUYXJnZXRHcm91cCcsIHtcbiAgICAgICAgdnBjOiB2cGMsXG4gICAgICAgIHBvcnQ6IGNvbnRhaW5lclBvcnQsXG4gICAgICAgIHByb3RvY29sOiBlbGJ2Mi5BcHBsaWNhdGlvblByb3RvY29sLkhUVFBTLFxuICAgICAgICB0YXJnZXRUeXBlOiBlbGJ2Mi5UYXJnZXRUeXBlLklQLFxuICAgICAgICB0YXJnZXRzOiBbdGhpcy5zZXJ2aWNlXSxcbiAgICAgICAgaGVhbHRoQ2hlY2s6IGxvYWRCYWxhbmNlck9wdGlvbnMuaGVhbHRoQ2hlY2ssXG4gICAgICAgIHNsb3dTdGFydDogcHJvcHMubG9hZEJhbGFuY2VyT3B0aW9ucz8uc2xvd1N0YXJ0ID8/IHRoaXMuREVGQVVMVF9TTE9XX1NUQVJULFxuICAgICAgICBkZXJlZ2lzdHJhdGlvbkRlbGF5OiBwcm9wcy5sb2FkQmFsYW5jZXJPcHRpb25zPy5kZXJlZ2lzdHJhdGlvbkRlbGF5ID8/IHRoaXMuREVGQVVMVF9ERVJFR0lTVFJBVElPTl9ERUxBWSxcbiAgICAgIH0pO1xuXG4gICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLmxpc3RlbmVyUnVsZXMuZm9yRWFjaCgoeyBwcmlvcml0eSwgY29uZGl0aW9ucyB9KSA9PiB7XG4gICAgICAgIGxvYWRCYWxhbmNlck9wdGlvbnMubGlzdGVuZXIuYWRkVGFyZ2V0R3JvdXBzKGBQcmlvcml0eSR7cHJpb3JpdHl9TGlzdGVuZXJSdWxlYCwge1xuICAgICAgICAgIHRhcmdldEdyb3VwczogW3RoaXMudGFyZ2V0R3JvdXAgYXMgZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cF0sXG4gICAgICAgICAgcHJpb3JpdHk6IHByaW9yaXR5LFxuICAgICAgICAgIGNvbmRpdGlvbnM6IGNvbmRpdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIERlbnlMaXN0ZWRLZXlWYWxpZGF0b3IgaW1wbGVtZW50cyBjb25zdHJ1Y3RzLklWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZW55TGlzdDogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZUdlbmVyYXRvcjogKGtleU5hbWU6IHN0cmluZykgPT4gc3RyaW5nLFxuICApIHt9XG5cbiAgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5kaWN0KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMuZGVueUxpc3QuZm9yRWFjaChrZXlOYW1lID0+IHtcbiAgICAgIGlmICh0aGlzLmRpY3QgJiYga2V5TmFtZSBpbiB0aGlzLmRpY3QpIHtcbiAgICAgICAgcmVzdWx0LnB1c2godGhpcy5tZXNzYWdlR2VuZXJhdG9yKGtleU5hbWUpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuY2xhc3MgQ2x1c3RlclZwY1ZhbGlkYXRvciBpbXBsZW1lbnRzIGNvbnN0cnVjdHMuSVZhbGlkYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZwYzogZWMyLklWcGMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbHVzdGVyPzogZWNzLklDbHVzdGVyLFxuICApIHt9XG5cbiAgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGlmICh0aGlzLmNsdXN0ZXIgJiYgdGhpcy5jbHVzdGVyLnZwYy52cGNJZCAhPT0gdGhpcy52cGMudnBjSWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGBUaGUgVlBDIHByb3ZpZGVkIGluIHRoZSBjbHVzdGVyICgke3RoaXMuY2x1c3Rlci52cGMubm9kZS5pZH0pIE1VU1QgbWF0Y2ggdGhlIFZQQyBwcm92aWRlZCBhcyBhcmd1bWVudCAoJHt0aGlzLnZwYy5ub2RlLmlkfSkuYCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWZhcmdhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBQzNDLGdFQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQyxxQ0FBa0M7QUE4RGxDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDZDQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBb09ELElBQVksa0JBMEJYO0FBMUJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDZFQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCxtRkFBZ0IsQ0FBQTtJQUVoQjs7O09BR0c7SUFDSCxtR0FBd0IsQ0FBQTtJQUV4Qjs7T0FFRztJQUNILDJEQUFJLENBQUE7QUFDTixDQUFDLEVBMUJXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBMEI3QjtBQUVELE1BQWEsaUJBQWtCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUE4Q3pELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDaEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQTFCRix3Q0FBbUMsR0FBYSxFQUFFLENBQUM7UUFDbkQsZ0NBQTJCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLDZDQUF3QyxHQUFHLEdBQUcsQ0FBQztRQUMvQyxzQ0FBaUMsR0FBRyxJQUFJLENBQUM7UUFDekMscUNBQWdDLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDdkUsNkNBQXdDLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQ25FLGlDQUE0QixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxD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QztnQkFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLG1CQUFtQjtJQUN2QixZQUNtQixHQUFhLEVBQ2IsT0FBc0I7UUFEdEIsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFDdEMsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlELE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLDhDQUE4QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlJLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZWxidjIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmltcG9ydCB7IFNwcmluZyB9IGZyb20gJy4vc3ByaW5nJztcblxuLyoqXG4gKiBGYXJnYXRlIFRhc2sgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJpb0ZhcmdhdGVTZXJ2aWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIHN0YWdlIG9mIHRoZSBzZXJ2aWNlLCBlLmcuICdwcm9kJy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBOYW1lIG9mIHRoZSBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIHNlcnZpY2UsIGUuZy4gdGhlIGdpdCBoYXNoIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNvbW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZyYW1ld29ya3MgaW4gdXNlcy5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIE5vIGZyYW1ld29ya3MuXG4gICAqL1xuICByZWFkb25seSBmcmFtZXdvcmtzPzogRnJhbWV3b3JrW107XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgb2YgdGhlIHNlcnZpY2UncyBlY3MuQ2x1c3RlciBpZiBubyBjbHVzdGVyIGlzIGV4cGxpY2l0bHkgcGFzc2VkIGFzIHByb3AuXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgRmFyZ2F0ZSBjbHVzdGVyIHRvIHJ1biB0aGUgc2VydmljZSBpbi5cbiAgICogSWYgbm90IG51bGwsIHRoZSBjbHVzdGVyLnZwYyBNVVNUIG1hdGNoIHRoZSB2cGMgcHJvdmlkZWQgYXMgZGlyZWN0IGFyZ3VtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gQ3JlYXRlIGEgbmV3IEZhcmdhdGUgY2x1c3RlciB3aXRoIGRlZmF1bHQgcHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3Rlcj86IGVjcy5JQ2x1c3RlcjtcblxuICAvKipcbiAgICogQ29udGFpbmVyIGRlZmluaXRpb24gb3B0aW9ucyBsaWtlIGltYWdlLCBjcHUsIG1lbW9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb246IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBGYXJnYXRlIFRhc2sgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZmFyZ2F0ZU9wdGlvbnM6IEZhcmdhdGVUYXNrRGVmaW5pdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBMb2FkYmFsYW5jZXIgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlck9wdGlvbnM/OiBMb2FkQmFsYW5jZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBEYXRhZG9nIGludGVncmF0aW9uIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dPcHRpb25zPzogRGF0YWRvZ0ludGVncmF0aW9uUHJvcHM7XG59XG5cbmV4cG9ydCBlbnVtIEZyYW1ld29yayB7XG4gIC8qKlxuICAgKiBTcHJpbmcgRnJhbWV3b3JrLCBTcHJpbmcgQm9vdCwgYW5kIFNwcmluZyBDbG91ZCBBV1MuXG4gICAqL1xuICBTUFJJTkcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGltYWdlIHVzZWQgdG8gc3RhcnQgYSBjb250YWluZXIuXG4gICAqXG4gICAqIFRoaXMgc3RyaW5nIGlzIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgRG9ja2VyIGRhZW1vbi5cbiAgICogSW1hZ2VzIGluIHRoZSBEb2NrZXIgSHViIHJlZ2lzdHJ5IGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdC5cbiAgICogT3RoZXIgcmVwb3NpdG9yaWVzIGFyZSBzcGVjaWZpZWQgd2l0aCBlaXRoZXIgcmVwb3NpdG9yeS11cmwvaW1hZ2U6dGFnIG9yIHJlcG9zaXRvcnktdXJsL2ltYWdlQGRpZ2VzdC5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlOiBlY3MuQ29udGFpbmVySW1hZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBTb21lIERhdGFkb2cgc3BlY2lmaWMgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBub3QgYWxsb3dlZCB0byBiZSBzZXQsXG4gICAqIGJlY2F1c2UgdGhleSBhcmUgc2V0IGF1dG9tYXRpY2FsbHkgb3IgY29tcHV0ZWQgZnJvbSBvdGhlciBhdHRyaWJ1dGVzLlxuICAgKiBUaGVzZSBhcmU6XG4gICAqICogRERfRU5WOiBTZXQgc2FtZSBhcyBwcm9wIHN0YWdlXG4gICAqICogRERfU0VSVklDRTogU2V0IHNhbWUgYXMgcHJvcCBzZXJ2aWNlTmFtZVxuICAgKiAqIEREX1ZFUlNJT046IFNldCBzYW1lIGFzIHByb3AgdmVyc2lvblxuICAgKiAqIEREX1RBR1M6IFNldCBzYW1lIGFzIERhdGFkb2dJbnRlZ3JhdGlvblByb3BzI2FkZGl0aW9uYWxUYWdzXG4gICAqICogRERfTE9HU19JTkpFQ1RJT046IHRydWVcbiAgICogT3RoZXIgRERfLXByZWZpeGVkIHZhaWFibGUgbWF5IGJlIGFkZGVkIHRvIHRoaXMgbGlzdC5cbiAgICpcbiAgICogT3RoZXIgRW52aXJvbm1lbnQgdmFyaWFibGVzIHNldCBieSBkZWZhdWx0IGFyZSBvdmVyd3JpdHRlbiBpZiBwYXNzZWQuXG4gICAqIFRoZXNlIGFyZTpcbiAgICogKiBERF9TRVJWSUNFX01BUFBJTkc6IGRhdGFiYXNlOmZhcmdhdGUtd2ViLWFwcC1hdXJvcmEsamF2YS1hd3Mtc2RrOmZhcmdhdGUtd2ViLWFwcC1hd3Mtc2RrLGthZmthOmZhcmdhdGUtd2ViLWFwcC1rYWZrYSxteXNxbDpmYXJnYXRlLXdlYi1hcHAtYXVyb3JhXG4gICAqICogRERfVFJBQ0VfU0FNUExFX1JBVEU6IDEuMFxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gTm8gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBObyBzZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0cz86IHsgW2tleTogc3RyaW5nXTogZWNzLlNlY3JldCB9O1xuXG4gIC8qKlxuICAgKiBUaGUgaGVhbHRoIGNoZWNrIGNvbW1hbmQgYW5kIGFzc29jaWF0ZWQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gSGVhbHRoIGNoZWNrIGNvbmZpZ3VyYXRpb24gZnJvbSBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVjaz86IGVjcy5IZWFsdGhDaGVjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNwdSB1bml0cyB1c2VkIGJ5IHRoZSB0YXNrLiBGb3IgdGFza3MgdXNpbmcgdGhlIEZhcmdhdGUgbGF1bmNoIHR5cGUsXG4gICAqIHRoaXMgZmllbGQgaXMgcmVxdWlyZWQgYW5kIHlvdSBtdXN0IHVzZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMsXG4gICAqIHdoaWNoIGRldGVybWluZXMgeW91ciByYW5nZSBvZiB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBtZW1vcnkgcGFyYW1ldGVyOlxuICAgKlxuICAgKiAyNTYgKC4yNSB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiA1MTIgKDAuNSBHQiksIDEwMjQgKDEgR0IpLCAyMDQ4ICgyIEdCKVxuICAgKlxuICAgKiA1MTIgKC41IHZDUFUpIC0gQXZhaWxhYmxlIG1lbW9yeSB2YWx1ZXM6IDEwMjQgKDEgR0IpLCAyMDQ4ICgyIEdCKSwgMzA3MiAoMyBHQiksIDQwOTYgKDQgR0IpXG4gICAqXG4gICAqIDEwMjQgKDEgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogMjA0OCAoMiBHQiksIDMwNzIgKDMgR0IpLCA0MDk2ICg0IEdCKSwgNTEyMCAoNSBHQiksIDYxNDQgKDYgR0IpLCA3MTY4ICg3IEdCKSwgODE5MiAoOCBHQilcbiAgICpcbiAgICogMjA0OCAoMiB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiBCZXR3ZWVuIDQwOTYgKDQgR0IpIGFuZCAxNjM4NCAoMTYgR0IpIGluIGluY3JlbWVudHMgb2YgMTAyNCAoMSBHQilcbiAgICpcbiAgICogNDA5NiAoNCB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiBCZXR3ZWVuIDgxOTIgKDggR0IpIGFuZCAzMDcyMCAoMzAgR0IpIGluIGluY3JlbWVudHMgb2YgMTAyNCAoMSBHQilcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSA1MTJcbiAgICovXG4gIHJlYWRvbmx5IGNwdTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IChpbiBNaUIpIG9mIG1lbW9yeSB1c2VkIGJ5IHRoZSB0YXNrLiBGb3IgdGFza3MgdXNpbmcgdGhlIEZhcmdhdGUgbGF1bmNoIHR5cGUsXG4gICAqIHRoaXMgZmllbGQgaXMgcmVxdWlyZWQgYW5kIHlvdSBtdXN0IHVzZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMsIHdoaWNoIGRldGVybWluZXMgeW91ciByYW5nZSBvZiB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBjcHUgcGFyYW1ldGVyOlxuICAgKlxuICAgKiA1MTIgKDAuNSBHQiksIDEwMjQgKDEgR0IpLCAyMDQ4ICgyIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAyNTYgKC4yNSB2Q1BVKVxuICAgKlxuICAgKiAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQiksIDMwNzIgKDMgR0IpLCA0MDk2ICg0IEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiA1MTIgKC41IHZDUFUpXG4gICAqXG4gICAqIDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQiksIDUxMjAgKDUgR0IpLCA2MTQ0ICg2IEdCKSwgNzE2OCAoNyBHQiksIDgxOTIgKDggR0IpIC0gQXZhaWxhYmxlIGNwdSB2YWx1ZXM6IDEwMjQgKDEgdkNQVSlcbiAgICpcbiAgICogQmV0d2VlbiA0MDk2ICg0IEdCKSBhbmQgMTYzODQgKDE2IEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpIC0gQXZhaWxhYmxlIGNwdSB2YWx1ZXM6IDIwNDggKDIgdkNQVSlcbiAgICpcbiAgICogQmV0d2VlbiA4MTkyICg4IEdCKSBhbmQgMzA3MjAgKDMwIEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpIC0gQXZhaWxhYmxlIGNwdSB2YWx1ZXM6IDQwOTYgKDQgdkNQVSlcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAxMDI0XG4gICAqL1xuICByZWFkb25seSBtZW1vcnlMaW1pdE1pQjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZXNpcmVkIGNvdW50IG9mIHJ1bm5pbmcgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIFdoZW4gY3JlYXRpbmcgdGhlIHNlcnZpY2UsIGRlZmF1bHQgaXMgMTsgd2hlbiB1cGRhdGluZyB0aGUgc2VydmljZSwgZGVmYXVsdCB1c2VzXG4gICAqIHRoZSBjdXJyZW50IHRhc2sgbnVtYmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzaXJlZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0IHlvdXIgdGFzayBkZWZpbml0aW9ucyBhcmUgcnVubmluZyBvbi5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIFVzaW5nIGVjcy5PcGVyYXRpbmdTeXN0ZW1GYW1pbHkuTElOVVggYW5kIGVjcy5DcHVBcmNoaXRlY3R1cmUuWDg2XzY0XG4gICAqL1xuICByZWFkb25seSBydW50aW1lUGxhdGZvcm0/OiBlY3MuUnVudGltZVBsYXRmb3JtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RlbmVyUnVsZSB7XG4gIHJlYWRvbmx5IHByaW9yaXR5OiBudW1iZXI7XG5cbiAgcmVhZG9ubHkgY29uZGl0aW9uczogZWxidjIuTGlzdGVuZXJDb25kaXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkQmFsYW5jZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3RlbmVyIGZvciBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lcjogZWxidjIuSUFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgLyoqXG4gICAqIE9uZSBvciBtb3JlIHBhdGggcGF0dGVybnMgdG8gY29tcGFyZSBhZ2FpbnN0IHRoZSByZXF1ZXN0IFVSTC5cbiAgICogVGhlIG1heGltdW0gc2l6ZSBvZiBlYWNoIHN0cmluZyBpcyAxMjggY2hhcmFjdGVycy5cbiAgICogVGhlIGNvbXBhcmlzb24gaXMgY2FzZSBzZW5zaXRpdmUuXG4gICAqIFRoZSBmb2xsb3dpbmcgd2lsZGNhcmQgY2hhcmFjdGVycyBhcmUgc3VwcG9ydGVkOiAqIChtYXRjaGVzIDAgb3IgbW9yZSBjaGFyYWN0ZXJzKSBhbmQgPyAobWF0Y2hlcyBleGFjdGx5IDEgY2hhcmFjdGVyKS5cbiAgICpcbiAgICogVXBkYXRlIHJlcXVpcmVzOiBObyBpbnRlcnJ1cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RlbmVyUnVsZXM6IExpc3RlbmVyUnVsZVtdO1xuXG4gIC8qKlxuICAgKiAgSGVhbHRoIGNoZWNrIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVjazogZWxidjIuSGVhbHRoQ2hlY2s7XG5cbiAgLyoqXG4gICAqICBIZWFsdGggY2hlY2sgZ3JhY2UgcGVyaW9kLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDogY2RrLkR1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBsb2FkIGJhbGFuY2VyIHNlbmRzIGEgbmV3bHkgcmVnaXN0ZXJlZCB0YXJnZXQgYSBsaW5lYXJseSBpbmNyZWFzaW5nIHNoYXJlIG9mIHRoZSB0cmFmZmljIHRvIHRoZSB0YXJnZXQgZ3JvdXAuXG5cbiAgICpUaGUgcmFuZ2UgaXMgMzAtOTAwIHNlY29uZHMgKDE1IG1pbnV0ZXMpLlxuXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICovXG4gIHJlYWRvbmx5IHNsb3dTdGFydD86IGNkay5EdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGZvciBFbGFzdGljIExvYWQgQmFsYW5jaW5nIHRvIHdhaXQgYmVmb3JlIGRlcmVnaXN0ZXJpbmcgYSB0YXJnZXQuXG5cbiAgICogVGhlIHJhbmdlIGlzIDAtMzYwMCBzZWNvbmRzLlxuXG4gICAqIEBkZWZhdWx0VmFsdWUgNVxuICAqL1xuICByZWFkb25seSBkZXJlZ2lzdHJhdGlvbkRlbGF5PzogY2RrLkR1cmF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dJbnRlZ3JhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBDUFUgdW5pdHMgdG8gcmVzZXJ2ZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIDY0XG4gICAqL1xuICByZWFkb25seSBjcHU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgKGluIE1pQikgb2YgbWVtb3J5IHRvIHByZXNlbnQgdG8gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogSWYgeW91ciBjb250YWluZXIgYXR0ZW1wdHMgdG8gZXhjZWVkIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LCB0aGUgY29udGFpbmVyXG4gICAqIGlzIHRlcm1pbmF0ZWQuXG4gICAqXG4gICAqIEF0IGxlYXN0IG9uZSBvZiBtZW1vcnlMaW1pdE1pQiBhbmQgbWVtb3J5UmVzZXJ2YXRpb25NaUIgaXMgcmVxdWlyZWQgZm9yIG5vbi1GYXJnYXRlIHNlcnZpY2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gMTI4XG4gICAqL1xuICByZWFkb25seSBtZW1vcnlMaW1pdE1pQj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGxvZ2dpbmcgbW9kZSBmb3IgdGhlIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBVc2luZyB0aGUgRGF0YWRvZyBsb2cgZm9yd2FyZGVyIGxhbWJkYSBwcm92aWRlZCBieSB0aGUgZGF0YWRvZy1pbnRlZ3JhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdNb2RlRm9yU2VydmljZT86IERhdGFEb2dMb2dnaW5nTW9kZTtcblxuICAvKipcbiAgICogVGhlIGxvZ2dpbmcgbW9kZSBmb3IgdGhlIERhdGFkb2cgYWdlbnQgc2lkZWNhci5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIE5vIGxvZ3MgaW4gRGF0YWRvZywgQ2xvdWR3YXRjaCBvbmx5LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQ/OiBEYXRhRG9nTG9nZ2luZ01vZGU7XG5cbiAgLyoqXG4gICAqIEdFVCBlbmRwb2ludHMgdG8gaWdub3JlIGluIERhdGFkb2cncyBBUE0gb3ZlcnZpZXcuIFRoaXMgaXMgdXNlZnVsIHRvIGZpbHRlciBvdXQgYWxsIGhlYWx0aCBjaGVjayBjYWxscy5cblxuICAgICogQGRlZmF1bHRWYWx1ZSAtIE5vIGVuZHBvaW50cyBhcmUgaWdub3JlZC5cbiAgICAqL1xuICByZWFkb25seSBhcG1HZXRFbmRwb2ludHNUb0lnbm9yZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgaWYgdGhlIERhdGFkb2cgYWdlbnQgc2lkZWNhciBpcyBtYXJrZWQgYXMgZXNzZW50aWFsLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgZG9ja2VyIGltYWdlIHRhZyBmb3IgZGF0YWRvZyBzaWRlY2FyXG4gICAqIEBkZWZhdWx0VmFsdWUgLSAnbGF0ZXN0J1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWRvZ1NpZGVjYXJUYWc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBhZGRpdGlvbmFsIHRhZ3MsIHdoaWNoIGFyZSBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdHMsXG4gICAqIFdoZW4geW91IGRlZmluZSBjdXN0b20gdGFncyB3ZSB3b3VsZCBiZSBnbGFkIGlmIHlvdSBjb250YWN0IHVzLlxuICAgKiBXZSB3b3VsZCBsaWtlIHRvIGxlYXJuIGFib3V0IHlvdXIgdXNlIGNhc2VzLlxuICAgKlxuICAgKiBEZWZhdWx0IHRhZ3MgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIG92ZXJyaWRkZW4hXG4gICAqXG4gICAqIERlZmF1bHRzIGFyZTpcbiAgICogKiBlbnY6IFNldCB0byBSaW9GYXJnYXRlU2VydmljZVByb3BzI3N0YWdlIHByb3BcbiAgICogKiBzZXJ2aWNlOiBTZXQgdG8gUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcyNzZXJ2aWNlTmFtZSBwcm9wXG4gICAqICogdmVyc2lvbjogU2V0IHRvIFJpb0ZhcmdhdGVTZXJ2aWNlUHJvcHMjdmVyc2lvbiBwcm9wXG4gICAqICogYWNjb3VudF9pZDoke2FjY291bnRJRH1cbiAgICogKiBhY2NvdW50X25hbWU6JHthY2NvdW50TmFtZX1cbiAgICogKiByZWdpb246JHtBV1NSZWdpb259XG4gICAqICogdGVhbToke3RlYW1OYW1lIGZyb20gc3NtIHBhcmFtIC9jb25maWcvdGVhbS9uYW1lfVxuICAgKiAqIHRlYW1faWRlbnRpZmllcjoke3RlYW1JZGVudGlmaWVyIGZyb20gc3NtIHBhcmFtIC9jb25maWcvdGVhbS9pZGVudGlmaWVyfVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbFRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5leHBvcnQgZW51bSBEYXRhRG9nTG9nZ2luZ01vZGUge1xuICAvKipcbiAgICogRm9yd2FyZCBsb2dzIGRpcmVjdGx5IHRvIERhdGFkb2cgdXNpbmcgQVdTIEZpcmVMZW5zIGFzIGxvZyByb3V0ZXIsXG4gICAqIHNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9pbnRlZ3JhdGlvbnMvZWNzX2ZhcmdhdGUvP3RhYj1mbHVlbnRiaXRhbmRmaXJlbGVucyNsb2ctY29sbGVjdGlvbi5cbiAgICovXG4gIEFXU19GSVJFX0xFTlMsXG5cbiAgLyoqXG4gICAqIFN0b3JlIGxvZ3MgaW4gQVdTIENsb3Vkd2F0Y2ggYW5kIHVzZSB0aGUgUklPIGN1c3RvbWl6ZWQgRGF0YWRvZyBsb2cgZm9yd2FyZGVyIGxhbWJkYSBmcm9tIHRoZSBsZWdhY3lcbiAgICogZGF0YWRvZy1pbnRlZ3JhdGlvbiwgdG8gZm9yd2FyZCB0aGUgbG9ncyB0byBEYXRhZG9nLFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYml0YnVja2V0LmNvbGxhYm9yYXRpb24tbWFuLmNvbS9wcm9qZWN0cy9SSU9ERVYvcmVwb3MvZGF0YWRvZy1pbnRlZ3JhdGlvbi9icm93c2VcbiAgICogQGRlcHJlY2F0ZWQgdXNlIERBVEFET0dfRk9SV0FSREVSX0xBTUJEQVxuICAgKi9cbiAgRk9SV0FSREVSX0xBTUJEQSxcblxuICAvKipcbiAgICogU3RvcmUgbG9ncyBpbiBBV1MgQ2xvdWR3YXRjaCBhbmQgdXNlIHRoZSBEYXRhZG9nIGxvZyBmb3J3YXJkZXIgbGFtYmRhIHRvIGZvcndhcmQgdGhlIGxvZ3MgdG8gRGF0YWRvZyxcbiAgICogc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2ludGVncmF0aW9ucy9lY3NfZmFyZ2F0ZS8/dGFiPWxvZ2RyaXZlciNsb2ctY29sbGVjdGlvbi5cbiAgICovXG4gIERBVEFET0dfRk9SV0FSREVSX0xBTUJEQSxcblxuICAvKipcbiAgICogT25seSBsb2cgdG8gQVdTIENsb3Vkd2F0Y2ggd2l0aG91dCBmb3J3YXJkaW5nIHRoZSBsb2dzIHRvIERhdGFkb2cuXG4gICAqL1xuICBOT05FLFxufVxuXG5leHBvcnQgY2xhc3MgUmlvRmFyZ2F0ZVNlcnZpY2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCBpbXBsZW1lbnRzIGVjMi5JQ29ubmVjdGFibGUge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEREX0VOVl9ERU5ZX0xJU1QgPSBbXG4gICAgJ0REX0VOVicsXG4gICAgJ0REX1RBR1MnLFxuICAgICdERF9TRVJWSUNFJyxcbiAgICAnRERfVkVSU0lPTicsXG4gICAgJ0REX0xPR1NfSU5KRUNUSU9OJyxcbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERF9UQUdfREVOWV9MSVNUID0gW1xuICAgICdlbnYnLFxuICAgICdzZXJ2aWNlJyxcbiAgICAndmVyc2lvbicsXG4gICAgJ2FjY291bnRfaWQnLFxuICAgICdhY2NvdW50X25hbWUnLFxuICAgICdyZWdpb24nLFxuICAgICd0ZWFtJyxcbiAgICAndGVhbV9pZGVudGlmaWVyJyxcbiAgXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQVBNX0dFVF9FTkRQT0lOVFNfVE9fSUdOT1JFOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX0NQVSA9IDY0O1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX01FTU9SWV9MSU1JVF9NSUIgPSAxMjg7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0xPR0dJTkdfTU9ERV9GT1JfU0VSVklDRSA9IERhdGFEb2dMb2dnaW5nTW9kZS5GT1JXQVJERVJfTEFNQkRBO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9EQVRBRE9HX1NJREVDQVIgPSBEYXRhRG9nTG9nZ2luZ01vZGUuTk9ORTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RFUkVHSVNUUkFUSU9OX0RFTEFZID0gY2RrLkR1cmF0aW9uLnNlY29uZHMoNSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9TTE9XX1NUQVJUID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX1RBRyA9ICdsYXRlc3QnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9HX1JPVVRFUl9DUFUgPSA2NDtcbiAgcHJpdmF0ZSByZWFkb25seSBMT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUIgPSA2NDtcblxuICBwcml2YXRlIHJlYWRvbmx5IEZJUkVMRU5TX0NPTkZJR19CVUNLRVRfQVJOID0gJ2Fybjphd3M6czM6Ojo1NzcxNDY4OTc3ODUtZXUtd2VzdC0xLWZpcmVsZW5zLWNvbmZpZ3VyYXRpb24tYnVja2V0JztcbiAgcHJpdmF0ZSByZWFkb25seSBGSVJFTEVOU19DT05GSUdfRklMRV9QQVRIID0gJy9wYXJzZS1qc29uLmNvbmYnO1xuXG4gIHJlYWRvbmx5IHNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcmVhZG9ubHkgZGF0YWRvZ1NpZGVDYXJDb250YWluZXJEZWZpbml0aW9uOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcmVhZG9ubHkgbG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbj86IGVjcy5Db250YWluZXJEZWZpbml0aW9uO1xuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbjtcblxuICByZWFkb25seSBjb25uZWN0aW9uczogZWMyLkNvbm5lY3Rpb25zO1xuICByZWFkb25seSBzZXJ2aWNlOiBlY3MuRmFyZ2F0ZVNlcnZpY2U7XG4gIHJlYWRvbmx5IHRhcmdldEdyb3VwOiBlbGJ2Mi5BcHBsaWNhdGlvblRhcmdldEdyb3VwfHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9GYXJnYXRlU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGxvYWRCYWxhbmNlck9wdGlvbnMsXG4gICAgICB2cGMsXG4gICAgICBjbHVzdGVyLFxuICAgICAgZmFyZ2F0ZU9wdGlvbnMsXG4gICAgICBkYXRhZG9nT3B0aW9ucyxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbixcbiAgICAgIHN0YWdlLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGZyYW1ld29ya3MsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24obmV3IERlbnlMaXN0ZWRLZXlWYWxpZGF0b3IoXG4gICAgICBSaW9GYXJnYXRlU2VydmljZS5ERF9FTlZfREVOWV9MSVNULFxuICAgICAgcHJvcHMuY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5lbnZpcm9ubWVudCxcbiAgICAgIGl0ID0+IGBFbnZpcm9ubWVudCAke2l0fSBpcyBub3QgYWxsb3dlZCB0byBiZSBzZXQuIFRoaXMgdmFsdWUgd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBhY2NvdW50IG9yIG90aGVyIHByb3BlcnRpZXMuYCxcbiAgICApKTtcbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbihuZXcgRGVueUxpc3RlZEtleVZhbGlkYXRvcihcbiAgICAgIFJpb0ZhcmdhdGVTZXJ2aWNlLkREX1RBR19ERU5ZX0xJU1QsXG4gICAgICBwcm9wcy5kYXRhZG9nT3B0aW9ucz8uYWRkaXRpb25hbFRhZ3MsXG4gICAgICBpdCA9PiBgVGFnICR7aXR9IGlzIG5vdCBhbGxvd2VkIHRvIGJlIHNldC4gVGhpcyB2YWx1ZSB3aWxsIGJlIGluZmVycmVkIGZyb20gdGhlIGFjY291bnQgb3Igb3RoZXIgcHJvcGVydGllcy5gLFxuICAgICkpO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24obmV3IENsdXN0ZXJWcGNWYWxpZGF0b3IoXG4gICAgICBwcm9wcy52cGMsXG4gICAgICBwcm9wcy5jbHVzdGVyLFxuICAgICkpO1xuXG4gICAgY29uc3QgZmFyZ2F0ZUNsdXN0ZXIgPSBjbHVzdGVyID8/IG5ldyBlY3MuQ2x1c3Rlcih0aGlzLCAnQ2x1c3RlcicsIHtcbiAgICAgIHZwYzogdnBjLFxuICAgIH0pO1xuICAgIHRoaXMudGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nLCB7XG4gICAgICBjcHU6IGZhcmdhdGVPcHRpb25zLmNwdSxcbiAgICAgIG1lbW9yeUxpbWl0TWlCOiBmYXJnYXRlT3B0aW9ucy5tZW1vcnlMaW1pdE1pQixcbiAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICBjcHVBcmNoaXRlY3R1cmU6IGZhcmdhdGVPcHRpb25zLnJ1bnRpbWVQbGF0Zm9ybT8uY3B1QXJjaGl0ZWN0dXJlID8/IGVjcy5DcHVBcmNoaXRlY3R1cmUuWDg2XzY0LFxuICAgICAgICBvcGVyYXRpbmdTeXN0ZW1GYW1pbHk6IGZhcmdhdGVPcHRpb25zLnJ1bnRpbWVQbGF0Zm9ybT8ub3BlcmF0aW5nU3lzdGVtRmFtaWx5ID8/IGVjcy5PcGVyYXRpbmdTeXN0ZW1GYW1pbHkuTElOVVgsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnROYW1lID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnQWNjb3VudE5hbWUnLCAnL2NvbmZpZy9hY2NvdW50L25hbWUnKS5zdHJpbmdWYWx1ZTtcbiAgICBjb25zdCB0ZWFtTmFtZSA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ1RlYW1OYW1lJywgJy9jb25maWcvdGVhbS9uYW1lJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgdGVhbUlkZW50aWZpZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtSWRlbnRpZmllcicsICcvY29uZmlnL3RlYW0vaWRlbnRpZmllcicpLnN0cmluZ1ZhbHVlO1xuXG4gICAgY29uc3QgZGF0YWRvZ1NpdGUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdEYXRhZG9nU2l0ZScsICcvcmlvL2NvbmZpZy9kYXRhZG9nLWludGVncmF0aW9uL3NpdGUnKS5zdHJpbmdWYWx1ZTtcbiAgICBjb25zdCBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnRGF0YWRvZ0FwaUtleScsICcvcmlvL2NvbmZpZy9kYXRhZG9nLWludGVncmF0aW9uL2FwaS1rZXknKTtcblxuICAgIGNvbnN0IGRhdGFkb2dTaWRlY2FyQ3B1ID0gZGF0YWRvZ09wdGlvbnM/LmNwdSA/PyB0aGlzLkRFRkFVTFRfREFUQURPR19TSURFQ0FSX0NQVTtcbiAgICBjb25zdCBkYXRhZG9nU2lkZWNhck1lbW9yeU1pQiA9IGRhdGFkb2dPcHRpb25zPy5tZW1vcnlMaW1pdE1pQiA/PyB0aGlzLkRFRkFVTFRfREFUQURPR19TSURFQ0FSX01FTU9SWV9MSU1JVF9NSUI7XG4gICAgY29uc3QgZGF0YWRvZ1NpZGVjYXJFc3NlbnRpYWwgPSBkYXRhZG9nT3B0aW9ucz8uZGF0YWRvZ1NpZGVjYXJFc3NlbnRpYWwgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9FU1NFTlRJQUw7XG5cbiAgICBjb25zdCBsb2dnaW5nTW9kZUZvclNlcnZpY2UgPSBkYXRhZG9nT3B0aW9ucz8ubG9nZ2luZ01vZGVGb3JTZXJ2aWNlID8/IHRoaXMuREVGQVVMVF9MT0dHSU5HX01PREVfRk9SX1NFUlZJQ0U7XG4gICAgY29uc3QgbG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQgPSBkYXRhZG9nT3B0aW9ucz8ubG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQgPz8gdGhpcy5ERUZBVUxUX0xPR0dJTkdfTU9ERV9GT1JfREFUQURPR19TSURFQ0FSO1xuICAgIGNvbnN0IGZpcmVMZW5zTG9nUm91dGVyUmVxdWlyZWQgPVxuICAgICAgbG9nZ2luZ01vZGVGb3JTZXJ2aWNlID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUyB8fFxuICAgICAgbG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQgPT09IERhdGFEb2dMb2dnaW5nTW9kZS5BV1NfRklSRV9MRU5TO1xuXG4gICAgbGV0IHNlcnZpY2VDb250YWluZXJDcHVVbml0cztcbiAgICBsZXQgc2VydmljZUNvbnRhaW5lck1lbW9yeUxpbWl0TWlCO1xuXG4gICAgaWYgKGZpcmVMZW5zTG9nUm91dGVyUmVxdWlyZWQpIHtcbiAgICAgIHNlcnZpY2VDb250YWluZXJDcHVVbml0cyA9IGZhcmdhdGVPcHRpb25zLmNwdSAtIGRhdGFkb2dTaWRlY2FyQ3B1IC0gdGhpcy5MT0dfUk9VVEVSX0NQVTtcbiAgICAgIHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQiA9IGZhcmdhdGVPcHRpb25zLm1lbW9yeUxpbWl0TWlCIC0gZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUIgLSB0aGlzLkxPR19ST1VURVJfTUVNT1JZX0xJTUlUX01JQjtcbiAgICAgIGRhdGFkb2cuYWRkRmlyZWxlbnNDb25maWdVcGxvYWRGcm9tUzNQZXJtaXNzaW9ucyh7XG4gICAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2tEZWZpbml0aW9uLFxuICAgICAgICBmaXJlbGVuc0NvbmZpZ0J1Y2tldEFybjogdGhpcy5GSVJFTEVOU19DT05GSUdfQlVDS0VUX0FSTixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHMgPSBmYXJnYXRlT3B0aW9ucy5jcHUgLSBkYXRhZG9nU2lkZWNhckNwdTtcbiAgICAgIHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQiA9IGZhcmdhdGVPcHRpb25zLm1lbW9yeUxpbWl0TWlCIC0gZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUI7XG4gICAgfVxuICAgIHRoaXMuc2VydmljZUNvbnRhaW5lckRlZmluaXRpb24gPSB0aGlzLnRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihzZXJ2aWNlTmFtZSwge1xuICAgICAgaW1hZ2U6IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uaW1hZ2UsXG4gICAgICBjcHU6IHNlcnZpY2VDb250YWluZXJDcHVVbml0cyxcbiAgICAgIG1lbW9yeUxpbWl0TWlCOiBzZXJ2aWNlQ29udGFpbmVyTWVtb3J5TGltaXRNaUIsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5kYXRhZG9nLmdldEZhcmdhdGVDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyh7XG4gICAgICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICAgICAgc3RhZ2UsXG4gICAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICBhY2NvdW50TmFtZSxcbiAgICAgICAgICB0ZWFtTmFtZSxcbiAgICAgICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgICAgICBhZGRpdGlvbmFsVGFnczogZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgICB9KSxcbiAgICAgICAgLi4uY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgICBkb2NrZXJMYWJlbHM6IHtcbiAgICAgICAgLi4uZGF0YWRvZy5nZXRGYXJnYXRlRG9ja2VyTGFiZWxzKHsgc3RhZ2UsIHNlcnZpY2VOYW1lLCB2ZXJzaW9uIH0pLFxuICAgICAgfSxcbiAgICAgIGhlYWx0aENoZWNrOiBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uLmhlYWx0aENoZWNrLFxuICAgICAgbG9nZ2luZzogZGF0YWRvZy5zZXR1cExvZ2dpbmcoe1xuICAgICAgICBzY29wZSxcbiAgICAgICAgYWNjb3VudE5hbWUsXG4gICAgICAgIHRlYW1OYW1lLFxuICAgICAgICB0ZWFtSWRlbnRpZmllcixcbiAgICAgICAgc3RhZ2UsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICB2ZXJzaW9uLFxuICAgICAgICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyLFxuICAgICAgICBkYXRhZG9nTG9nZ2luZ01vZGU6IGxvZ2dpbmdNb2RlRm9yU2VydmljZSxcbiAgICAgICAgZGF0YWRvZ1NpdGUsXG4gICAgICAgIGNvbnRhaW5lclR5cGU6ICdzZXJ2aWNlJyxcbiAgICAgICAgYWRkaXRpb25hbFRhZ3M6IGRhdGFkb2dPcHRpb25zPy5hZGRpdGlvbmFsVGFncyxcbiAgICAgIH0pLFxuICAgICAgc2VjcmV0czogY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5zZWNyZXRzLFxuICAgIH0pO1xuXG4gICAgaWYgKGZyYW1ld29ya3M/LmluY2x1ZGVzKEZyYW1ld29yay5TUFJJTkcpKSB7XG4gICAgICBTcHJpbmcuYWxsb3dQYXJhbWV0ZXJTdG9yZUFjY2Vzc0ZvclNwcmluZ0Nsb3VkQXdzKHRoaXMsIHNlcnZpY2VOYW1lLCB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlKTtcbiAgICAgIFNwcmluZy5hbGxvd1NlY3JldHNNYW5hZ2VyQWNjZXNzRm9yU3ByaW5nQ2xvdWRBd3ModGhpcywgc2VydmljZU5hbWUsIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUpO1xuICAgIH1cblxuICAgIGlmIChmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24gPSBkYXRhZG9nLmFkZEZpcmVMZW5zTG9nUm91dGVyKHtcbiAgICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgICAgIGNwdTogdGhpcy5MT0dfUk9VVEVSX0NQVSxcbiAgICAgICAgbWVtb3J5TGltaXRNaUI6IHRoaXMuTE9HX1JPVVRFUl9NRU1PUllfTElNSVRfTUlCLFxuICAgICAgICBmaXJlbGVuc0NvbmZpZ0J1Y2tldEFybjogdGhpcy5GSVJFTEVOU19DT05GSUdfQlVDS0VUX0FSTixcbiAgICAgICAgZmlyZWxlbnNDb25maWdGaWxlUGF0aDogdGhpcy5GSVJFTEVOU19DT05GSUdfRklMRV9QQVRILFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZGF0YWRvZ1NpZGVDYXJDb250YWluZXJEZWZpbml0aW9uID0gZGF0YWRvZy5hZGREYXRhZG9nU2lkZWNhcih7XG4gICAgICBzY29wZSxcbiAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2tEZWZpbml0aW9uLFxuICAgICAgYWNjb3VudE5hbWUsXG4gICAgICB0ZWFtTmFtZSxcbiAgICAgIHRlYW1JZGVudGlmaWVyLFxuICAgICAgc3RhZ2UsXG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBkYXRhZG9nQXBpS2V5UGFyYW1ldGVyLFxuICAgICAgZGF0YWRvZ1NpdGUsXG4gICAgICBkYXRhZG9nTG9nZ2luZ01vZGU6IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50LFxuICAgICAgYXBtR2V0UmVzb3VyY2VzVG9JZ25vcmU6IGRhdGFkb2dPcHRpb25zPy5hcG1HZXRFbmRwb2ludHNUb0lnbm9yZSA/PyB0aGlzLkRFRkFVTFRfQVBNX0dFVF9FTkRQT0lOVFNfVE9fSUdOT1JFLFxuICAgICAgY3B1OiBkYXRhZG9nU2lkZWNhckNwdSxcbiAgICAgIG1lbW9yeUxpbWl0TWlCOiBkYXRhZG9nU2lkZWNhck1lbW9yeU1pQixcbiAgICAgIGVzc2VudGlhbDogZGF0YWRvZ1NpZGVjYXJFc3NlbnRpYWwsXG4gICAgICBjb250YWluZXJUYWc6IHByb3BzLmRhdGFkb2dPcHRpb25zPy5kYXRhZG9nU2lkZWNhclRhZyA/PyB0aGlzLkRFRkFVTFRfREFUQURPR19TSURFQ0FSX1RBRywgLy8gVGhlc2UgYXJlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyxcbiAgICAgIGFkZGl0aW9uYWxUYWdzOiBkYXRhZG9nT3B0aW9ucz8uYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBkYXRhZG9nLmVuc3VyZUxvZ2dpbmdBbmRNb25pdG9yaW5nQXJlUmVhZHlCZWZvcmVTZXJ2aWNlU3RhcnRzKHRoaXMpO1xuXG4gICAgY29uc3QgbG9hZEJhbGFuY2VyT3B0aW9uc0ZvckZhcmdhdGVTZXJ2aWNlID0gbG9hZEJhbGFuY2VyT3B0aW9uc1xuICAgICAgPyB7IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IGxvYWRCYWxhbmNlck9wdGlvbnMuaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZCB9XG4gICAgICA6IHt9O1xuXG4gICAgdGhpcy5zZXJ2aWNlID0gbmV3IGVjcy5GYXJnYXRlU2VydmljZSh0aGlzLCAnU2VydmljZScsIHtcbiAgICAgIGNsdXN0ZXI6IGZhcmdhdGVDbHVzdGVyLFxuICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgICBjaXJjdWl0QnJlYWtlcjogeyByb2xsYmFjazogdHJ1ZSB9LFxuICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IDIwMCxcbiAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiAxMDAsXG4gICAgICBkZXNpcmVkQ291bnQ6IGZhcmdhdGVPcHRpb25zPy5kZXNpcmVkQ291bnQsXG4gICAgICAuLi5sb2FkQmFsYW5jZXJPcHRpb25zRm9yRmFyZ2F0ZVNlcnZpY2UsXG4gICAgICBwcm9wYWdhdGVUYWdzOiBlY3MuUHJvcGFnYXRlZFRhZ1NvdXJjZS5TRVJWSUNFLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuc2VydmljZS5jb25uZWN0aW9ucztcblxuICAgIGlmIChsb2FkQmFsYW5jZXJPcHRpb25zICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lclBvcnQgPSA0NDM7XG4gICAgICB0aGlzLnNlcnZpY2VDb250YWluZXJEZWZpbml0aW9uLmFkZFBvcnRNYXBwaW5ncyh7XG4gICAgICAgIGNvbnRhaW5lclBvcnQ6IGNvbnRhaW5lclBvcnQsXG4gICAgICAgIHByb3RvY29sOiBlY3MuUHJvdG9jb2wuVENQLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnRhcmdldEdyb3VwID0gbmV3IGVsYnYyLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAodGhpcywgJ1RhcmdldEdyb3VwJywge1xuICAgICAgICB2cGM6IHZwYyxcbiAgICAgICAgcG9ydDogY29udGFpbmVyUG9ydCxcbiAgICAgICAgcHJvdG9jb2w6IGVsYnYyLkFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUFMsXG4gICAgICAgIHRhcmdldFR5cGU6IGVsYnYyLlRhcmdldFR5cGUuSVAsXG4gICAgICAgIHRhcmdldHM6IFt0aGlzLnNlcnZpY2VdLFxuICAgICAgICBoZWFsdGhDaGVjazogbG9hZEJhbGFuY2VyT3B0aW9ucy5oZWFsdGhDaGVjayxcbiAgICAgICAgc2xvd1N0YXJ0OiBwcm9wcy5sb2FkQmFsYW5jZXJPcHRpb25zPy5zbG93U3RhcnQgPz8gdGhpcy5ERUZBVUxUX1NMT1dfU1RBUlQsXG4gICAgICAgIGRlcmVnaXN0cmF0aW9uRGVsYXk6IHByb3BzLmxvYWRCYWxhbmNlck9wdGlvbnM/LmRlcmVnaXN0cmF0aW9uRGVsYXkgPz8gdGhpcy5ERUZBVUxUX0RFUkVHSVNUUkFUSU9OX0RFTEFZLFxuICAgICAgfSk7XG5cbiAgICAgIGxvYWRCYWxhbmNlck9wdGlvbnMubGlzdGVuZXJSdWxlcy5mb3JFYWNoKCh7IHByaW9yaXR5LCBjb25kaXRpb25zIH0pID0+IHtcbiAgICAgICAgbG9hZEJhbGFuY2VyT3B0aW9ucy5saXN0ZW5lci5hZGRUYXJnZXRHcm91cHMoYFByaW9yaXR5JHtwcmlvcml0eX1MaXN0ZW5lclJ1bGVgLCB7XG4gICAgICAgICAgdGFyZ2V0R3JvdXBzOiBbdGhpcy50YXJnZXRHcm91cCBhcyBlbGJ2Mi5BcHBsaWNhdGlvblRhcmdldEdyb3VwXSxcbiAgICAgICAgICBwcmlvcml0eTogcHJpb3JpdHksXG4gICAgICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgRGVueUxpc3RlZEtleVZhbGlkYXRvciBpbXBsZW1lbnRzIGNvbnN0cnVjdHMuSVZhbGlkYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlbnlMaXN0OiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlR2VuZXJhdG9yOiAoa2V5TmFtZTogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICkge31cblxuICB2YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF0aGlzLmRpY3QpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5kZW55TGlzdC5mb3JFYWNoKGtleU5hbWUgPT4ge1xuICAgICAgaWYgKHRoaXMuZGljdCAmJiBrZXlOYW1lIGluIHRoaXMuZGljdCkge1xuICAgICAgICByZXN1bHQucHVzaCh0aGlzLm1lc3NhZ2VHZW5lcmF0b3Ioa2V5TmFtZSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG5jbGFzcyBDbHVzdGVyVnBjVmFsaWRhdG9yIGltcGxlbWVudHMgY29uc3RydWN0cy5JVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsdXN0ZXI/OiBlY3MuSUNsdXN0ZXIsXG4gICkge31cblxuICB2YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgaWYgKHRoaXMuY2x1c3RlciAmJiB0aGlzLmNsdXN0ZXIudnBjLnZwY0lkICE9PSB0aGlzLnZwYy52cGNJZCkge1xuICAgICAgcmVzdWx0LnB1c2goYFRoZSBWUEMgcHJvdmlkZWQgaW4gdGhlIGNsdXN0ZXIgKCR7dGhpcy5jbHVzdGVyLnZwYy5ub2RlLmlkfSkgTVVTVCBtYXRjaCB0aGUgVlBDIHByb3ZpZGVkIGFzIGFyZ3VtZW50ICgke3RoaXMudnBjLm5vZGUuaWR9KS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -103,4 +103,4 @@ class KafkaEventSpecSource {
|
|
|
103
103
|
exports.KafkaEventSpecSource = KafkaEventSpecSource;
|
|
104
104
|
_b = JSII_RTTI_SYMBOL_1;
|
|
105
105
|
KafkaEventSpecSource[_b] = { fqn: "@rio-cloud/cdk-v2-constructs.KafkaEventSpecSource", version: "0.0.0" };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtZXZlbnQtc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rYWZrYS9rYWZrYS1ldmVudC1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZDQUFvQztBQUNwQywyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJDQUF1QztBQUN2QyxnQ0FBZ0M7QUFNaEM7O0dBRUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQUMzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsK0RBQStELENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQWtCO1lBQzVCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLFNBQVM7WUFDakIsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLGlCQUFpQixFQUFFO29CQUNqQixTQUFTLEVBQUU7d0JBQ1QsUUFBUSxFQUFFLFFBQVE7d0JBQ2xCLFdBQVcsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPO3FCQUNwQztpQkFDRjthQUNGO1lBQ0Qsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyx1REFBdUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLE9BQU8sQ0FBQztTQUNuSSxDQUFDO1FBRUYsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDL0UsUUFBUSxFQUFFLE1BQU07WUFDaEIsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQzlFLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSw2RUFBNkUsQ0FBQyxDQUFDO1FBQy9JLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7O0FBN0JILHdDQThCQzs7O0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFhLG9CQUFvQjtJQUMvQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZ0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQVk7UUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxLQUFLLENBQUMsaUZBQWlGLENBQUMsQ0FBQztRQUNqRyxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxjQUFtQjtRQUMxRCxPQUFPLE9BQU8sY0FBYyxLQUFLLFFBQVEsSUFBSSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxJQUE2QjtRQUM5RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNsRCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFJRCxZQUE0QixJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtRQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7QUF6REgsb0RBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcblxuZXhwb3J0IGludGVyZmFjZSBLYWZrYUV2ZW50U3BlY1Byb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlOiBLYWZrYUV2ZW50U3BlY1NvdXJjZTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gcHJvdmlkZSBhbiBldmVudCBzcGVjaWZpY2F0aW9uIGZvciBhIEthZmthIHRvcGljIGFuZCB1cGxvYWQgaXQgdG8gdGhlIGNlbnRyYWwgZXZlbnQgc3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYUV2ZW50U3BlYyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLYWZrYUV2ZW50U3BlY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNuc1RvcGljQXJuID0gJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZXZlbnQtc3BlY2lmaWNhdGlvbi11cGxvYWQnO1xuICAgIGNvbnN0IGFjdGlvbjogY3IuQXdzU2RrQ2FsbCA9IHtcbiAgICAgIHNlcnZpY2U6ICdTTlMnLFxuICAgICAgYWN0aW9uOiAncHVibGlzaCcsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIFRvcGljQXJuOiBzbnNUb3BpY0FybixcbiAgICAgICAgTWVzc2FnZTogcHJvcHMuc291cmNlLnRvU25zTWVzc2FnZSgpLFxuICAgICAgICBNZXNzYWdlQXR0cmlidXRlczoge1xuICAgICAgICAgIGFjY291bnRJZDoge1xuICAgICAgICAgICAgRGF0YVR5cGU6ICdTdHJpbmcnLFxuICAgICAgICAgICAgU3RyaW5nVmFsdWU6IFN0YWNrLm9mKHRoaXMpLmFjY291bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGNyLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihgYXJuOmF3czpzMzo6OmV2ZW50LXNwZWNpZmljYXRpb24tc3RvcmUtMTg2OTkzNzU3NzM0LyR7cHJvcHMuc291cmNlLmV2ZW50TmFtZX0ueWFtbGApLFxuICAgIH07XG5cbiAgICBjb25zdCBldmVudFNwZWNDdXN0b21SZXNvdXJjZSA9IG5ldyBjci5Bd3NDdXN0b21SZXNvdXJjZSh0aGlzLCAnS2Fma2FFdmVudFNwZWMnLCB7XG4gICAgICBvbkNyZWF0ZTogYWN0aW9uLFxuICAgICAgb25VcGRhdGU6IGFjdGlvbixcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVNka0NhbGxzKHsgcmVzb3VyY2VzOiBbc25zVG9waWNBcm5dIH0pLFxuICAgIH0pO1xuXG4gICAgY29uc3Qga21zS2V5ID0ga21zLktleS5mcm9tS2V5QXJuKHRoaXMsICdldmVudFNwZWNTbnNUb3BpY0tleScsICdhcm46YXdzOmttczpldS13ZXN0LTE6MTg2OTkzNzU3NzM0OmtleS8xZjcyZGQ1OS1mMzJkLTRkNTItOWIyYi00NDdkZjg4YjNmYTMnKTtcbiAgICBrbXNLZXkuZ3JhbnRFbmNyeXB0RGVjcnlwdChldmVudFNwZWNDdXN0b21SZXNvdXJjZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNsYXNzIGZvciB0aGUgZXZlbnQgc3BlYyBpdHNlbGYgdG8gc3VwcG9ydCBwcm92aWRpbmcgaXQgdmlhIGZpbGUgb3IgaW5saW5lIHN0cmluZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vY29sbGFib3JhdGlvbi5tc2kuYXVkaS5jb20vc3Rhc2gvcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1jcmVhdGlvbi1leGFtcGxlIGZvclxuICogZnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgeWFtbCBzcGVjLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FFdmVudFNwZWNTb3VyY2Uge1xuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBjcmVhdGUgYSBLYWZrYUV2ZW50U3BlY1NvdXJjZSBieSBsb2FkaW5nIHNwZWMgZnJvbSBhIChVVEYtOCBlbmNvZGVkKSB5YW1sIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlbmFtZSB0aGUgZmlsZW5hbWUgb2YgdGhlIGV2ZW50IHNwZWNpZmljYXRpb24gZmlsZS4gTXVzdCBlaXRoZXIgYmUgYW4gYWJzb2x1dGUgcGF0aCBvciBhIHBhdGggcmVsYXRpdmUgdG8gQ0RLJ3Mgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqIEByZXR1cm5zIGEgS2Fma2FFdmVudFNwZWNTb3VyY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tWWFtbEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IEthZmthRXZlbnRTcGVjU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tWWFtbFN0cmluZyhmcy5yZWFkRmlsZVN5bmMoZmlsZW5hbWUsICd1dGY4JykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gY3JlYXRlIGEgS2Fma2FFdmVudFNwZWNTb3VyY2UgZnJvbSBhbiBpbmxpbmUgeWFtbCBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIGFzIHlhbWwgZm9ybWF0dGVkIHN0cmluZ1xuICAgKiBAcmV0dXJucyBhIEthZmthRXZlbnRTcGVjU291cmNlXG4gICAqL1xuICBzdGF0aWMgZnJvbVlhbWxTdHJpbmcoc3BlYzogc3RyaW5nKTogS2Fma2FFdmVudFNwZWNTb3VyY2Uge1xuICAgIGNvbnN0IHBhcnNlZFNwZWMgPSB0aGlzLnBhcnNlWWFtbFNwZWMoc3BlYyk7XG4gICAgcmV0dXJuIG5ldyBLYWZrYUV2ZW50U3BlY1NvdXJjZShwYXJzZWRTcGVjKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHBhcnNlWWFtbFNwZWMoc3BlYzogc3RyaW5nKTogS2Fma2FFdmVudFNwZWNpZmljYXRpb24ge1xuICAgIGNvbnN0IHBhcnNlZFlhbWxTcGVjID0geWFtbC5sb2FkKHNwZWMpIGFzIGFueTtcbiAgICBpZiAoIXRoaXMuaXNLYWZrYUV2ZW50U3BlY2lmaWNhdGlvbihwYXJzZWRZYW1sU3BlYykpIHtcbiAgICAgIHRocm93IEVycm9yKCdFeHBlY3RpbmcgZXZlbnQgc3BlYyB0byBiZSBkZXNjcmliZSBhbiBvYmplY3Qgd2l0aCB0aGUgcHJvcGVydHkgW2luZm8ueC1ldmVudF0uJyk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZWRZYW1sU3BlYztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzS2Fma2FFdmVudFNwZWNpZmljYXRpb24ocGFyc2VkWWFtbFNwZWM6IGFueSk6IHBhcnNlZFlhbWxTcGVjIGlzIEthZmthRXZlbnRTcGVjaWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdHlwZW9mIHBhcnNlZFlhbWxTcGVjID09PSAnb2JqZWN0JyAmJiBwYXJzZWRZYW1sU3BlYz8uaW5mbz8uWyd4LWV2ZW50J107XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkZXRlcm1pbmVFdmVudE5hbWVGcm9tU3BlY2lmaWNhdGlvbihzcGVjOiBLYWZrYUV2ZW50U3BlY2lmaWNhdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgZXZlbnROYW1lcyA9IE9iamVjdC5rZXlzKHNwZWMuaW5mb1sneC1ldmVudCddKTtcbiAgICBpZiAoZXZlbnROYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IEVycm9yKCdFeHBlY3RpbmcgYXQgbGVhc3Qgb25lIGV2ZW50IGF0IFtpbmZvLngtZXZlbnRdLicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZW1vdmVZYW1sRmlsZUVuZGluZyhldmVudE5hbWVzWzBdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlbW92ZVlhbWxGaWxlRW5kaW5nKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaWxlbmFtZS5yZXBsYWNlKC9cXC55YT9tbCQvLCAnJyk7XG4gIH1cblxuICByZWFkb25seSBldmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgc3BlYzogS2Fma2FFdmVudFNwZWNpZmljYXRpb24pIHtcbiAgICB0aGlzLmV2ZW50TmFtZSA9IEthZmthRXZlbnRTcGVjU291cmNlLmRldGVybWluZUV2ZW50TmFtZUZyb21TcGVjaWZpY2F0aW9uKHNwZWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHRoZSBtZXNzYWdlIGJhc2U2NCBlbmNvZGVkIHNwZWMgYXMgZXhwZWN0ZWQgYnkgdGhlIGV2ZW50IHN0b3JlXG4gICAqL1xuICB0b1Nuc01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oeWFtbC5kdW1wKHRoaXMuc3BlYykpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxufVxuXG4vLyBUaGlzIHR5cGUgaXMgbm90IGV4aGF1c3RpdmUgYnV0IG9ubHkgcmVmbGVjdHMgdGhlIG1pbmltdW0gcHJvcGVydGllcyByZXF1aXJlZCB0byB2YWxpZGF0ZSB0aGUgZXZlbnQgc3BlY2lmaWNhdGlvblxuaW50ZXJmYWNlIEthZmthRXZlbnRTcGVjaWZpY2F0aW9uIHtcbiAgaW5mbzoge1xuICAgICd4LWV2ZW50JzogeyBbZXZlbnROYW1lOiBzdHJpbmddOiBhbnkgfVtdO1xuICB9O1xufVxuIl19
|
package/lib/kafka/kafka-topic.js
CHANGED
|
@@ -107,4 +107,4 @@ const mapProperties = (scope, props) => {
|
|
|
107
107
|
},
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUU7QUFDakUsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx5REFBMEU7QUFDMUUsMERBQXFEO0FBeU5yRDs7OztHQUlHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBR2pCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUV6RSxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUsR0FBRzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFqQkgsZ0NBa0JDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUs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RUFDN0U7c0RBQ2dELEtBQUssQ0FBQyxJQUFJO0NBQy9ELENBQ0ksQ0FBQztLQUNIO0lBQ0QsT0FBTztRQUNMLFlBQVksRUFBRSwrREFBK0Q7UUFDN0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVc7UUFDdkMsTUFBTSxFQUFFLE1BQU07UUFDZCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1FBQzVDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxDQUFDO1FBQy9DLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUU7UUFDbkUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDOUYsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixJQUFJLEtBQUs7UUFDN0QsYUFBYSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUTtRQUMxRCxTQUFTLEVBQUUsU0FBUztRQUNwQixHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTTtTQUN6QjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgQ2ZuUmVzb3VyY2UsIEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgS2Fma2FFdmVudFNwZWMsIEthZmthRXZlbnRTcGVjU291cmNlIH0gZnJvbSAnLi9rYWZrYS1ldmVudC1zcGVjJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGEgZGF0YSBvZiBhIHRvcGljLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgc3BlY3Mgb2YgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqL1xuICByZWFkb25seSBldmVudHM6IEthZmthRXZlbnRTcGVjU291cmNlW107XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB0aGUgaW50ZW50IG9mIHRoZSB0b3BpYy4gVGhpcyBtaWdodCBiZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvZHVjZXIgYW5kIHRoZSBjb250ZXh0IG9mIHRoZSBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB2NCB0b3BpYyBzcGVjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YVY0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBzcGVjcyBvZiB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50czogS2Fma2FFdmVudFNwZWNTb3VyY2VbXTtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBpbnRlbnQgb2YgdGhlIHRvcGljLiBUaGlzIG1pZ2h0IGJlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9kdWNlciBhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHRvcGljIGlzIG1lYW50IGZvciBjb21wb25lbnQgaW50ZXJuYWwgdXNhZ2Ugb25seSBvciBpZiBvdGhlciBzZXJ2aWNlcyBjb3VsZFxuICAgKiB1c2UgaXQgdG9vLlxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaWVuY2U6IFRvcGljQXVkaWVuY2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgcHJvZHVjZXIgd2lsbCByZXN0b3JlIHRoZSBkYXRhIGluIGNhc2Ugb2YgYSBkaXNhc3RlciBvciBub3QuXG4gICAqL1xuICByZWFkb25seSByZWNvdmVyeVBvbGljeTogVG9waWNSZWNvdmVyeVBvbGljeTtcbn1cblxuLyoqXG4gKiBSZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHRvcGljLlxuICpcbiAqIHN0cmluZ3MgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgQ05BTUUgb2YgdGhlIGNlcnRpZmljYXRlIG9mIHRoZSBLYWZrYSBjbGllbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQWNsU3RhdGVtZW50IHtcbiAgLyoqXG4gICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCB3cml0ZSBwZXJtaXNzaW9uc1xuICAqL1xuICByZWFkb25seSB3cml0ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgcmVhZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgZGVsZXRlIHBlcm1pc3Npb25zLlxuICAgKlxuICAgKiBBdHRlbnRpb246IE9ubHkgdXNlIERlbGV0aW9uIHBvbGljeSBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchXG4gICAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIEtTdHJlYW0gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gZGVsZXRlIG1lc3NhZ2VzIGFuZCB0aGUgdG9waWMuPGJyPlxuICAgKiBJZiB5b3UganVzdCB3YW50IHRvIFwiZGVsZXRlXCIgYSBtZXNzYWdlIG9uIGEgbG9nIGNvbXBhY3RlZCB0b3BpYywgeW91IHNob3VsZCBub3Qgc2V0IHRoaXMgcGVybWlzc2lvbiBhbmQgc2VuZCBhIHRvbWJzdG9uZSBtZXNzYWdlIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBkZWxldGU/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBhbGwgbG9nIGNvbXBhY3Rpb24gcmVsYXRlZCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSB0byByZXRhaW4gZGVsZXRlIHRvbWJzdG9uZSBtYXJrZXJzIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcztcbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMTAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDEgZGF5XG4gICAqL1xuICByZWFkb25seSBkZWxldGVSZXRlbnRpb24/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgY3VycmVudCBzZXJ2aWNlIGxpbWl0cyBjYW4gYmUgZm91bmQgaW4gdGhlIHRvcGljIGxpbWl0cyBjb25maWd1cmF0aW9uIG9mIHRoZSB0b3BpYyBtYW5hZ2VyLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9jb2xsYWJvcmF0aW9uLm1zaS5hdWRpLmNvbS9zdGFzaC9wcm9qZWN0cy9SU0VWVEJVL3JlcG9zL3RvcGljLW1hbmFnZXIvYnJvd3NlL2NvbmZpZy90b3BpYy1zZXJ2aWNlLWxpbWl0cy55YW1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgY2FuIGJlIGZvdW5kIGluIHRoZSB0b3BpYyBsaW1pdHMgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9waWMgbWFuYWdlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vY29sbGFib3JhdGlvbi5tc2kuYXVkaS5jb20vc3Rhc2gvcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1tYW5hZ2VyL2Jyb3dzZS9jb25maWcvdG9waWMtc2VydmljZS1saW1pdHMueWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNWNFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhVjQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgdG8gdGhlIHRvcGljJ3MgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGFjbDogS2Fma2FBY2xTdGF0ZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hldGhlciB0aGUgdG9waWMgaXMgbG9nIGNvbXBhY3RlZCBvciBub3QuXG4gICAqL1xuICByZWFkb25seSBpc0xvZ0NvbXBhY3RlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogTXVzdCBvbmx5IGJlIHByb3ZpZGVkIGlmICdpc0xvZ0NvbXBhY3RlZCcgaXMgJ3RydWUnLlxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29tcGFjdGlvblByb3BlcnRpZXM/OiBMb2dDb21wYWN0aW9uUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBUaGUgVG9waWNzIHRhcmdldCBhdWRpZW5jZVxuICovXG5leHBvcnQgdHlwZSBUb3BpY0F1ZGllbmNlID0gJ2NvbXBvbmVudC1pbnRlcm5hbCcgfCAnY29tcGFueS1pbnRlcm5hbCc7XG5cbi8qKlxuICogVGhlIFRvcGljcyByZWNvdmVyeSBwb2xpY3kgZ3VhcmFudGVlZCBieSB0aGUgcHJvZHVjZXJcbiAqL1xuZXhwb3J0IHR5cGUgVG9waWNSZWNvdmVyeVBvbGljeSA9ICdub25lJyB8ICdyZWNvdmVyYWJsZSc7XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgS2Fma2FUb3BpY1Y0fSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYVRvcGljIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuXG4gICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRGVwcmVjYXRpb24oJ0thZmthVG9waWMnLCBcIlVzZSAnS2Fma2FUb3BpY1Y0JyFcIik7XG5cbiAgICBuZXcgQ2ZuUmVzb3VyY2UodGhpcywgJ0thZmthVG9waWMnLCB7XG4gICAgICB0eXBlOiAnQ3VzdG9tOjpLYWZrYVRvcGljJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4ubWFwUHJvcGVydGllcyh0aGlzLCBwcm9wcyksXG4gICAgICAgIFZlcnNpb246ICczJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0b3IocHJvcHMpKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnN0cnVjdCB0byBjcmVhdGUgYSBrYWZrYSB0b3BpYy5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthVG9waWNWNCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEthZmthVG9waWNWNFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBDZm5SZXNvdXJjZSh0aGlzLCAnS2Fma2FUb3BpYycsIHtcbiAgICAgIHR5cGU6ICdDdXN0b206OkthZmthVG9waWMnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5tYXBQcm9wZXJ0aWVzKHRoaXMsIHByb3BzKSxcbiAgICAgICAgVmVyc2lvbjogJzQnLFxuICAgICAgICBBdWRpZW5jZTogcHJvcHMubWV0YWRhdGEuYXVkaWVuY2UsXG4gICAgICAgIFJlY292ZXJ5UG9saWN5OiBwcm9wcy5tZXRhZGF0YS5yZWNvdmVyeVBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0b3IocHJvcHMpKTtcbiAgfVxufVxuXG5jb25zdCB2YWxpZGF0b3IgPSAocHJvcHM6IEthZmthVG9waWNQcm9wcykgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbGlkYXRlOiAoKTogc3RyaW5nW10gPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgIGlmICghcHJvcHMubmFtZS5tYXRjaCgvXltBLVphLXowLTkuLV0rJC8pKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtuYW1lXTogZXhwZWN0aW5nIHRvcGljIG5hbWUgdG8gbWF0Y2ggdGhlIHJlZyBleHAgYFtBLVphLXowLTkuLV0rYC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLm51bWJlck9mUGFydGl0aW9ucykgfHwgcHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zIDwgMSkge1xuICAgICAgICByZXN1bHQucHVzaChgSW52YWxpZCBbbnVtYmVyT2ZQYXJ0aXRpb25zXTogZXhwZWN0aW5nIG51bWJlciBvZiBwYXJ0aXRpb25zIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciBidXQgZ290ICR7cHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zfS5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMucmVwbGljYXRpb25GYWN0b3IpIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yIDwgMSB8fCBwcm9wcy5yZXBsaWNhdGlvbkZhY3RvciA+IDMpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtyZXBsaWNhdGlvbkZhY3Rvcl06IGV4cGVjdGluZyBhbiBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgMy4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLm1ldGFkYXRhLmV2ZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21ldGFkYXRhXTogZXhwZWN0aW5nIFtldmVudHNdIHRvIGhhdmUgYXQgbGVhc3Qgb24gZWxlbWVudC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFwcm9wcy5pc0xvZ0NvbXBhY3RlZCAmJiBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcykge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbG9nQ29tcGFjdGlvblByb3BlcnRpZXNdOiBsb2cgY29tcGFjdGlvbiBpcyBkaXNhYmxlZCBzbyBwcm9wZXJ0aWVzIG11c3QgYmUgdW5kZWZpbmVkLicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gIH07XG59O1xuXG5jb25zdCBtYXBQcm9wZXJ0aWVzID0gKHNjb3BlOiBJQ29uc3RydWN0LCBwcm9wczogS2Fma2FUb3BpY1Byb3BzIHwgS2Fma2FUb3BpY1Y0UHJvcHMpID0+IHtcbiAgY29uc3QgdGVhbUVtYWlsID0gUmlvTGFuZGluZ1pvbmUuZ2V0VGVhbUVtYWlsUGFyYW1ldGVyKHNjb3BlKS5zdHJpbmdWYWx1ZTtcblxuICBjb25zdCBldmVudHMgPSBwcm9wcy5tZXRhZGF0YS5ldmVudHMubWFwKHNvdXJjZSA9PiB7XG4gICAgbmV3IEthZmthRXZlbnRTcGVjKHNjb3BlLCBgJHtzb3VyY2UuZXZlbnROYW1lLnJlcGxhY2UoL1xcLi9nLCAnXycpfS1FdmVudFNwZWNgLCB7IHNvdXJjZSB9KTtcbiAgICByZXR1cm4gc291cmNlLmV2ZW50TmFtZTtcbiAgfSk7XG5cbiAgY29uc3QgZGVsZXRlUmV0ZW50aW9uRHVyYXRpb24gPSBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcz8uZGVsZXRlUmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNyk7XG4gIGlmIChwcm9wcy5hY2wuZGVsZXRlICE9IHVuZGVmaW5lZCAmJiBwcm9wcy5hY2wuZGVsZXRlLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGNkay5Bbm5vdGF0aW9ucy5vZihjZGsuU3RhY2sub2Yoc2NvcGUpKTtcbiAgICBhbm5vdGF0aW9ucy5hZGRXYXJuaW5nVjIoXG4gICAgICBgQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy9rYWZrYS9rYWZrYS10b3BpYy8ke3Byb3BzLm5hbWV9L0RlbGV0aW9uUG9saWN5YCxcbiAgICAgIGBcbiDinYwgWW91IGhhdmUgc2V0IFwiZGVsZXRlXCIgcGVybWlzc2lvbiBmb3Iga2Fma2EtdG9waWMgJHtwcm9wcy5uYW1lfS4gWW91IHByb2JhYmx5IGRvIG5vdCBuZWVkIHRoaXMuIFBsZWFzZSB1c2UgdGhpcyBvbmx5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy5cbmAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIFNlcnZpY2VUb2tlbjogJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZHAtdG9waWMtbWFuYWdlci1zbnMtdG9waWMnLFxuICAgIFRvcGljTmFtZTogcHJvcHMubmFtZSxcbiAgICBEZXNjcmlwdGlvbjogcHJvcHMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgRXZlbnRzOiBldmVudHMsXG4gICAgTnVtYmVyT2ZQYXJ0aXRpb25zOiBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMsXG4gICAgUmVwbGljYXRpb25GYWN0b3I6IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID8/IDMsXG4gICAgUmV0ZW50aW9uTXM6IChwcm9wcy5yZXRlbnRpb24gPz8gRHVyYXRpb24uZGF5cyg3KSkudG9NaWxsaXNlY29uZHMoKSxcbiAgICBEZWxldGVSZXRlbnRpb25NczogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyBkZWxldGVSZXRlbnRpb25EdXJhdGlvbi50b01pbGxpc2Vjb25kcygpIDogdW5kZWZpbmVkLFxuICAgIEluc3RhbnREZWxldGlvbkVuYWJsZWQ6IHByb3BzLmluc3RhbnREZWxldGlvbkVuYWJsZWQgPz8gZmFsc2UsXG4gICAgQ2xlYW51cFBvbGljeTogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyAnY29tcGFjdCcgOiAnZGVsZXRlJyxcbiAgICBUZWFtRW1haWw6IHRlYW1FbWFpbCxcbiAgICBBQ0w6IHtcbiAgICAgIFJlYWQ6IHByb3BzLmFjbC5yZWFkLFxuICAgICAgV3JpdGU6IHByb3BzLmFjbC53cml0ZSxcbiAgICAgIERlbGV0ZTogcHJvcHMuYWNsLmRlbGV0ZSxcbiAgICB9LFxuICB9O1xufTsiXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUU7QUFDakUsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx5REFBMEU7QUFDMUUsMERBQXFEO0FBeU5yRDs7OztHQUlHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBR2pCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUV6RSxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUsR0FBRzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFqQkgsZ0NBa0JDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUs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QUM1RCxXQUFXLENBQUMsWUFBWSxDQUN0QixrREFBa0QsS0FBSyxDQUFDLElBQUksaUJBQWlCLEVBQzdFO3NEQUNnRCxLQUFLLENBQUMsSUFBSTtDQUMvRCxDQUNJLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztRQUNMLFlBQVksRUFBRSwrREFBK0Q7UUFDN0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVc7UUFDdkMsTUFBTSxFQUFFLE1BQU07UUFDZCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1FBQzVDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxDQUFDO1FBQy9DLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUU7UUFDbkUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDOUYsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixJQUFJLEtBQUs7UUFDN0QsYUFBYSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUTtRQUMxRCxTQUFTLEVBQUUsU0FBUztRQUNwQixHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTTtTQUN6QjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgQ2ZuUmVzb3VyY2UsIEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgS2Fma2FFdmVudFNwZWMsIEthZmthRXZlbnRTcGVjU291cmNlIH0gZnJvbSAnLi9rYWZrYS1ldmVudC1zcGVjJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGEgZGF0YSBvZiBhIHRvcGljLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgc3BlY3Mgb2YgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqL1xuICByZWFkb25seSBldmVudHM6IEthZmthRXZlbnRTcGVjU291cmNlW107XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB0aGUgaW50ZW50IG9mIHRoZSB0b3BpYy4gVGhpcyBtaWdodCBiZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvZHVjZXIgYW5kIHRoZSBjb250ZXh0IG9mIHRoZSBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB2NCB0b3BpYyBzcGVjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YVY0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBzcGVjcyBvZiB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50czogS2Fma2FFdmVudFNwZWNTb3VyY2VbXTtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBpbnRlbnQgb2YgdGhlIHRvcGljLiBUaGlzIG1pZ2h0IGJlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9kdWNlciBhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHRvcGljIGlzIG1lYW50IGZvciBjb21wb25lbnQgaW50ZXJuYWwgdXNhZ2Ugb25seSBvciBpZiBvdGhlciBzZXJ2aWNlcyBjb3VsZFxuICAgKiB1c2UgaXQgdG9vLlxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaWVuY2U6IFRvcGljQXVkaWVuY2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgcHJvZHVjZXIgd2lsbCByZXN0b3JlIHRoZSBkYXRhIGluIGNhc2Ugb2YgYSBkaXNhc3RlciBvciBub3QuXG4gICAqL1xuICByZWFkb25seSByZWNvdmVyeVBvbGljeTogVG9waWNSZWNvdmVyeVBvbGljeTtcbn1cblxuLyoqXG4gKiBSZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHRvcGljLlxuICpcbiAqIHN0cmluZ3MgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgQ05BTUUgb2YgdGhlIGNlcnRpZmljYXRlIG9mIHRoZSBLYWZrYSBjbGllbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQWNsU3RhdGVtZW50IHtcbiAgLyoqXG4gICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCB3cml0ZSBwZXJtaXNzaW9uc1xuICAqL1xuICByZWFkb25seSB3cml0ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgcmVhZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgZGVsZXRlIHBlcm1pc3Npb25zLlxuICAgKlxuICAgKiBBdHRlbnRpb246IE9ubHkgdXNlIERlbGV0aW9uIHBvbGljeSBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchXG4gICAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIEtTdHJlYW0gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gZGVsZXRlIG1lc3NhZ2VzIGFuZCB0aGUgdG9waWMuPGJyPlxuICAgKiBJZiB5b3UganVzdCB3YW50IHRvIFwiZGVsZXRlXCIgYSBtZXNzYWdlIG9uIGEgbG9nIGNvbXBhY3RlZCB0b3BpYywgeW91IHNob3VsZCBub3Qgc2V0IHRoaXMgcGVybWlzc2lvbiBhbmQgc2VuZCBhIHRvbWJzdG9uZSBtZXNzYWdlIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBkZWxldGU/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBhbGwgbG9nIGNvbXBhY3Rpb24gcmVsYXRlZCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSB0byByZXRhaW4gZGVsZXRlIHRvbWJzdG9uZSBtYXJrZXJzIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcztcbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMTAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDEgZGF5XG4gICAqL1xuICByZWFkb25seSBkZWxldGVSZXRlbnRpb24/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgY3VycmVudCBzZXJ2aWNlIGxpbWl0cyBjYW4gYmUgZm91bmQgaW4gdGhlIHRvcGljIGxpbWl0cyBjb25maWd1cmF0aW9uIG9mIHRoZSB0b3BpYyBtYW5hZ2VyLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9jb2xsYWJvcmF0aW9uLm1zaS5hdWRpLmNvbS9zdGFzaC9wcm9qZWN0cy9SU0VWVEJVL3JlcG9zL3RvcGljLW1hbmFnZXIvYnJvd3NlL2NvbmZpZy90b3BpYy1zZXJ2aWNlLWxpbWl0cy55YW1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgY2FuIGJlIGZvdW5kIGluIHRoZSB0b3BpYyBsaW1pdHMgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9waWMgbWFuYWdlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vY29sbGFib3JhdGlvbi5tc2kuYXVkaS5jb20vc3Rhc2gvcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1tYW5hZ2VyL2Jyb3dzZS9jb25maWcvdG9waWMtc2VydmljZS1saW1pdHMueWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNWNFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhVjQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgdG8gdGhlIHRvcGljJ3MgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGFjbDogS2Fma2FBY2xTdGF0ZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hldGhlciB0aGUgdG9waWMgaXMgbG9nIGNvbXBhY3RlZCBvciBub3QuXG4gICAqL1xuICByZWFkb25seSBpc0xvZ0NvbXBhY3RlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogTXVzdCBvbmx5IGJlIHByb3ZpZGVkIGlmICdpc0xvZ0NvbXBhY3RlZCcgaXMgJ3RydWUnLlxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29tcGFjdGlvblByb3BlcnRpZXM/OiBMb2dDb21wYWN0aW9uUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBUaGUgVG9waWNzIHRhcmdldCBhdWRpZW5jZVxuICovXG5leHBvcnQgdHlwZSBUb3BpY0F1ZGllbmNlID0gJ2NvbXBvbmVudC1pbnRlcm5hbCcgfCAnY29tcGFueS1pbnRlcm5hbCc7XG5cbi8qKlxuICogVGhlIFRvcGljcyByZWNvdmVyeSBwb2xpY3kgZ3VhcmFudGVlZCBieSB0aGUgcHJvZHVjZXJcbiAqL1xuZXhwb3J0IHR5cGUgVG9waWNSZWNvdmVyeVBvbGljeSA9ICdub25lJyB8ICdyZWNvdmVyYWJsZSc7XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgS2Fma2FUb3BpY1Y0fSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYVRvcGljIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuXG4gICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRGVwcmVjYXRpb24oJ0thZmthVG9waWMnLCBcIlVzZSAnS2Fma2FUb3BpY1Y0JyFcIik7XG5cbiAgICBuZXcgQ2ZuUmVzb3VyY2UodGhpcywgJ0thZmthVG9waWMnLCB7XG4gICAgICB0eXBlOiAnQ3VzdG9tOjpLYWZrYVRvcGljJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4ubWFwUHJvcGVydGllcyh0aGlzLCBwcm9wcyksXG4gICAgICAgIFZlcnNpb246ICczJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0b3IocHJvcHMpKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnN0cnVjdCB0byBjcmVhdGUgYSBrYWZrYSB0b3BpYy5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthVG9waWNWNCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEthZmthVG9waWNWNFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBDZm5SZXNvdXJjZSh0aGlzLCAnS2Fma2FUb3BpYycsIHtcbiAgICAgIHR5cGU6ICdDdXN0b206OkthZmthVG9waWMnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5tYXBQcm9wZXJ0aWVzKHRoaXMsIHByb3BzKSxcbiAgICAgICAgVmVyc2lvbjogJzQnLFxuICAgICAgICBBdWRpZW5jZTogcHJvcHMubWV0YWRhdGEuYXVkaWVuY2UsXG4gICAgICAgIFJlY292ZXJ5UG9saWN5OiBwcm9wcy5tZXRhZGF0YS5yZWNvdmVyeVBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0b3IocHJvcHMpKTtcbiAgfVxufVxuXG5jb25zdCB2YWxpZGF0b3IgPSAocHJvcHM6IEthZmthVG9waWNQcm9wcykgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbGlkYXRlOiAoKTogc3RyaW5nW10gPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgIGlmICghcHJvcHMubmFtZS5tYXRjaCgvXltBLVphLXowLTkuLV0rJC8pKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtuYW1lXTogZXhwZWN0aW5nIHRvcGljIG5hbWUgdG8gbWF0Y2ggdGhlIHJlZyBleHAgYFtBLVphLXowLTkuLV0rYC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLm51bWJlck9mUGFydGl0aW9ucykgfHwgcHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zIDwgMSkge1xuICAgICAgICByZXN1bHQucHVzaChgSW52YWxpZCBbbnVtYmVyT2ZQYXJ0aXRpb25zXTogZXhwZWN0aW5nIG51bWJlciBvZiBwYXJ0aXRpb25zIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciBidXQgZ290ICR7cHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zfS5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMucmVwbGljYXRpb25GYWN0b3IpIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yIDwgMSB8fCBwcm9wcy5yZXBsaWNhdGlvbkZhY3RvciA+IDMpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtyZXBsaWNhdGlvbkZhY3Rvcl06IGV4cGVjdGluZyBhbiBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgMy4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLm1ldGFkYXRhLmV2ZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21ldGFkYXRhXTogZXhwZWN0aW5nIFtldmVudHNdIHRvIGhhdmUgYXQgbGVhc3Qgb24gZWxlbWVudC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFwcm9wcy5pc0xvZ0NvbXBhY3RlZCAmJiBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcykge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbG9nQ29tcGFjdGlvblByb3BlcnRpZXNdOiBsb2cgY29tcGFjdGlvbiBpcyBkaXNhYmxlZCBzbyBwcm9wZXJ0aWVzIG11c3QgYmUgdW5kZWZpbmVkLicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gIH07XG59O1xuXG5jb25zdCBtYXBQcm9wZXJ0aWVzID0gKHNjb3BlOiBJQ29uc3RydWN0LCBwcm9wczogS2Fma2FUb3BpY1Byb3BzIHwgS2Fma2FUb3BpY1Y0UHJvcHMpID0+IHtcbiAgY29uc3QgdGVhbUVtYWlsID0gUmlvTGFuZGluZ1pvbmUuZ2V0VGVhbUVtYWlsUGFyYW1ldGVyKHNjb3BlKS5zdHJpbmdWYWx1ZTtcblxuICBjb25zdCBldmVudHMgPSBwcm9wcy5tZXRhZGF0YS5ldmVudHMubWFwKHNvdXJjZSA9PiB7XG4gICAgbmV3IEthZmthRXZlbnRTcGVjKHNjb3BlLCBgJHtzb3VyY2UuZXZlbnROYW1lLnJlcGxhY2UoL1xcLi9nLCAnXycpfS1FdmVudFNwZWNgLCB7IHNvdXJjZSB9KTtcbiAgICByZXR1cm4gc291cmNlLmV2ZW50TmFtZTtcbiAgfSk7XG5cbiAgY29uc3QgZGVsZXRlUmV0ZW50aW9uRHVyYXRpb24gPSBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcz8uZGVsZXRlUmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNyk7XG4gIGlmIChwcm9wcy5hY2wuZGVsZXRlICE9IHVuZGVmaW5lZCAmJiBwcm9wcy5hY2wuZGVsZXRlLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGNkay5Bbm5vdGF0aW9ucy5vZihjZGsuU3RhY2sub2Yoc2NvcGUpKTtcbiAgICBhbm5vdGF0aW9ucy5hZGRXYXJuaW5nVjIoXG4gICAgICBgQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy9rYWZrYS9rYWZrYS10b3BpYy8ke3Byb3BzLm5hbWV9L0RlbGV0aW9uUG9saWN5YCxcbiAgICAgIGBcbiDinYwgWW91IGhhdmUgc2V0IFwiZGVsZXRlXCIgcGVybWlzc2lvbiBmb3Iga2Fma2EtdG9waWMgJHtwcm9wcy5uYW1lfS4gWW91IHByb2JhYmx5IGRvIG5vdCBuZWVkIHRoaXMuIFBsZWFzZSB1c2UgdGhpcyBvbmx5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy5cbmAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIFNlcnZpY2VUb2tlbjogJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZHAtdG9waWMtbWFuYWdlci1zbnMtdG9waWMnLFxuICAgIFRvcGljTmFtZTogcHJvcHMubmFtZSxcbiAgICBEZXNjcmlwdGlvbjogcHJvcHMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgRXZlbnRzOiBldmVudHMsXG4gICAgTnVtYmVyT2ZQYXJ0aXRpb25zOiBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMsXG4gICAgUmVwbGljYXRpb25GYWN0b3I6IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID8/IDMsXG4gICAgUmV0ZW50aW9uTXM6IChwcm9wcy5yZXRlbnRpb24gPz8gRHVyYXRpb24uZGF5cyg3KSkudG9NaWxsaXNlY29uZHMoKSxcbiAgICBEZWxldGVSZXRlbnRpb25NczogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyBkZWxldGVSZXRlbnRpb25EdXJhdGlvbi50b01pbGxpc2Vjb25kcygpIDogdW5kZWZpbmVkLFxuICAgIEluc3RhbnREZWxldGlvbkVuYWJsZWQ6IHByb3BzLmluc3RhbnREZWxldGlvbkVuYWJsZWQgPz8gZmFsc2UsXG4gICAgQ2xlYW51cFBvbGljeTogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyAnY29tcGFjdCcgOiAnZGVsZXRlJyxcbiAgICBUZWFtRW1haWw6IHRlYW1FbWFpbCxcbiAgICBBQ0w6IHtcbiAgICAgIFJlYWQ6IHByb3BzLmFjbC5yZWFkLFxuICAgICAgV3JpdGU6IHByb3BzLmFjbC53cml0ZSxcbiAgICAgIERlbGV0ZTogcHJvcHMuYWNsLmRlbGV0ZSxcbiAgICB9LFxuICB9O1xufTsiXX0=
|
|
@@ -102,4 +102,4 @@ function determineSecretsFilePathCommandsForCodeBuild(userDefinedSecretsFilePath
|
|
|
102
102
|
];
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvcmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQWlCbkQsTUFBYSxvQkFBcUIsU0FBUSxTQUFTLENBQUMsYUFBYTtJQUMvRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDO1NBQ2hILENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILG9EQTZCQzs7O0FBRUQsU0FBUyw0QkFBNEIsQ0FBQyxPQUFlLEVBQUUsTUFBYyxFQUFFLDBCQUE4QztJQUNuSCxPQUFPO1FBQ0wsUUFBUSxFQUFFLG9CQUFvQixDQUFDLE1BQU0sRUFBRSwwQkFBMEIsQ0FBQztRQUNsRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHNDQUFzQyxHQUFHLG1CQUFtQixDQUFDO0FBRW5FLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLDBCQUE4QztJQUMxRixPQUFPO1FBQ0wsd0VBQXdFO1FBQ3hFLHdCQUF3QjtRQUN4Qiw0RkFBNEY7UUFDNUYsZ0RBQWdEO1FBQ2hELEdBQUcsNENBQTRDLENBQUMsMEJBQTBCLENBQUM7UUFDM0UsZ0VBQWdFO1FBQ2hFLGtEQUFrRCxzQ0FBc0MsSUFBSTtRQUM1RixxSkFBcUosTUFBTSxzQ0FBc0M7UUFDak0sa0NBQWtDO1FBQ2xDLDZNQUE2TTtLQUM5TSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsT0FBZTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN4QixTQUFTLEVBQUU7WUFDVCxpQkFBaUIsZUFBZSxRQUFRO1lBQ3hDLGlCQUFpQixPQUFPLFFBQVE7U0FDakM7UUFDRCxVQUFVLEVBQUU7WUFDVix3QkFBd0IsRUFBRTtnQkFDeEIscUJBQXFCLEVBQUUsMEJBQTBCO2FBQ2xEO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUN2RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNsQyxTQUFTLEVBQUU7WUFDVCw0QkFBNEIsT0FBTyxpQ0FBaUM7U0FDckU7S0FDRixDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLHdCQUF3QjtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNENBQTRDLENBQUMsMEJBQThDO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0lBQzlDLE1BQU0sd0JBQXdCLEdBQUcsZ0NBQWdDLHNCQUFzQixFQUFFLENBQUM7SUFDMUYsTUFBTSx3QkFBd0IsR0FBRyxpQkFBaUIsc0JBQXNCLEVBQUUsQ0FBQztJQUMzRSxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDL0IsT0FBTztZQUNMLHlDQUF5QywwQkFBMEIsR0FBRztZQUN0RSxVQUFVLHNDQUFzQyxLQUFLLDBCQUEwQixHQUFHO1NBQ25GLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU87WUFDTCx5RUFBeUUsQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHO1lBQ2hJLFlBQVksd0JBQXdCLG9CQUFvQixzQ0FBc0MsS0FBSyx3QkFBd0Isa0JBQWtCLHNDQUFzQyxLQUFLLHdCQUF3QixPQUFPO1NBQ3hOLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcyB7XG4gIC8qKlxuICAgKiBQb2ludHMgdG8gQ29kZVBpcGVsaW5lIHNvdXJjZSBzdGVwXG4gICAqL1xuICByZWFkb25seSBpbnB1dDogcGlwZWxpbmVzLkNvZGVQaXBlbGluZVNvdXJjZTtcbiAgLyoqXG4gICAqIFBhdGggdG8gc2VjcmV0cyBmaWxlIGNvbnRhaW5pbmcgZW5jcnlwdGVkIHNlY3JldHNcbiAgICogQGRlZmF1bHRWYWx1ZSBMb29rcyBmb3IgZmlsZSB1bmRlciAyIHBhdGhzIHdpdGggdGhlIGZvbGxvd2luZyBwcmlvcml0eTpcbiAgICogMS4gLi9pbmZyYXN0cnVjdHVyZS9zcmMvc2VjcmV0cy9zZWNyZXRzLnlhbWwgZm9sbG93ZWQgYnkgcGF0aFxuICAgKiAyLiAuL3NyYy9zZWNyZXRzL3NlY3JldHMueWFtbFxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0c0ZpbGVQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmlvU2VjcmV0c0RlcGxveVN0ZXAgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuZCBhdHRhY2hlcyBhIGNvZGVidWlsZCBwcm9qZWN0IHRvIHRoZSBwaXBlbGluZSB3aGljaCBsb29rcyBmb3Igc2VjcmV0cy55YW1sIHVuZGVyIGZpcnN0IC4vaW5mcmFzdHJ1Y3R1cmUvc3JjL3NlY3JldHMgYW5kIHRoZW4gLi9zcmMvc2VjcmV0cy5cbiAgICogVGhlIHNlY3JldHMgYXJlIHRoZW4gdXBsb2FkZWQgdG8gU1NNIGFuZCBTZWNyZXRzIE1hbmFnZXIgYWNjb3JkaW5nIHRvIHRoZSBkYXRhIGluIHNlY3JldHMueWFtbFxuICAgKiBUaGUgRm9ybWF0IG9mIHNlY3JldHMgZmlsZSBzaG91bGQgYmUgbGlrZSB0aGUgZm9sbG93aW5nIGV4YW1wbGUgaW4geWFtbDpcbiAgICpcbiAgICogLS0tXG4gICAqIFNTTTpcbiAgICpcbiAgICogICAgICAgICAvY29uZmlnL2FwcGxpY2F0aW9uL3NlY3JldDogcGFzc3dvcmRcbiAgICpcbiAgICogICAgICAgICAvY29uZmlnL2FwcGxpY2F0aW9uMi9zZWNyZXQ6IHBhc3N3b3JkXG4gICAqXG4gICAqIFNlY3JldHNNYW5hZ2VyOlxuICAgKlxuICAgKiAgICAgICAgIHBsYWluX3RleHRfc2VjcmV0OiB2YWx1ZVxuICAgKlxuICAgKiAgICAgICAgIGpzb25fc2VjcmV0OlxuICAgKlxuICAgKiAgICAgICAgICAgICBrZXkxOiB2YWx1ZTFcbiAgICpcbiAgICogICAgICAgICAgICAga2V5MjogdmFsdWUyXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcyApIHtcbiAgICBzdXBlcihpZCwge1xuICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgLi4uZ2V0Q29tbW9uQ29kZUJ1aWxkUHJvcGVydGllcyhjZGsuU3RhY2sub2Yoc2NvcGUpLmFjY291bnQsIGNkay5TdGFjay5vZihzY29wZSkucmVnaW9uLCBwcm9wcy5zZWNyZXRzRmlsZVBhdGgpLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENvbW1vbkNvZGVCdWlsZFByb3BlcnRpZXMoYWNjb3VudDogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFBpY2s8cGlwZWxpbmVzLkNvZGVCdWlsZFN0ZXBQcm9wcywgJ2NvbW1hbmRzJyB8ICdyb2xlUG9saWN5U3RhdGVtZW50cyc+IHtcbiAgcmV0dXJuIHtcbiAgICBjb21tYW5kczogZ2V0Q29kZUJ1aWxkQ29tbWFuZHMocmVnaW9uLCB1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aCksXG4gICAgcm9sZVBvbGljeVN0YXRlbWVudHM6IGdldENvZGVCdWlsZFJvbGVQb2xpY3lTdGF0ZW1lbnRzKGFjY291bnQpLFxuICB9O1xufVxuXG5jb25zdCBTRUNSRVRTX0ZJTEVfUEFUSF9FTlZJUk9OTUVOVF9WQVJJQUJMRSA9ICdTRUNSRVRTX0ZJTEVfUEFUSCc7XG5cbmZ1bmN0aW9uIGdldENvZGVCdWlsZENvbW1hbmRzKHJlZ2lvbjogc3RyaW5nLCB1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xuICByZXR1cm4gW1xuICAgICdjdXJsIC1zUyBodHRwczovL2RsLnlhcm5wa2cuY29tL2RlYmlhbi9wdWJrZXkuZ3BnIHwgc3VkbyBhcHQta2V5IGFkZCAtJyxcbiAgICAnYXB0LWdldCAtLXF1aWV0IHVwZGF0ZScsXG4gICAgJ3dnZXQgLS1xdWlldCBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3BzL3JlbGVhc2VzL2Rvd25sb2FkL3YzLjcuMS9zb3BzXzMuNy4xX2FtZDY0LmRlYicsXG4gICAgJ2FwdC1nZXQgLS1xdWlldCBpbnN0YWxsIC4vc29wc18zLjcuMV9hbWQ2NC5kZWInLFxuICAgIC4uLmRldGVybWluZVNlY3JldHNGaWxlUGF0aENvbW1hbmRzRm9yQ29kZUJ1aWxkKHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoKSxcbiAgICAnZWNobyBcIlVzaW5nIHRoZSBmb2xsb3dpbmcgc2VjcmV0cyBmaWxlOiBcXCR7U0VDUkVUU19GSUxFX1BBVEh9XCInLFxuICAgIGBQQVlMT0FEPSQoc29wcyAtLW91dHB1dC10eXBlIGpzb24gLS1kZWNyeXB0IFxcJHske1NFQ1JFVFNfRklMRV9QQVRIX0VOVklST05NRU5UX1ZBUklBQkxFfX0pYCxcbiAgICBgTEFNQkRBX0VSUk9SPSQoYXdzIGxhbWJkYSBpbnZva2UgLS1mdW5jdGlvbi1uYW1lIFwiU2VjcmV0c1Jlc3RvcmVIYW5kbGVyXCIgLS1wYXlsb2FkIFxcXCJcXCR7UEFZTE9BRH1cXFwiIC0tY2xpLWJpbmFyeS1mb3JtYXQgcmF3LWluLWJhc2U2NC1vdXQgLS1yZWdpb24gJHtyZWdpb259IG91dHB1dCB8IGpxICdoYXMoXCJGdW5jdGlvbkVycm9yXCIpJylgLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBxdW90ZXNcbiAgICBgaWYgWyBcIlxcJHtMQU1CREFfRVJST1J9XCIgPSAndHJ1ZScgXTsgdGhlbiBlY2hvICdUaGUgXFwnU2VjcmV0c1Jlc3RvcmVIYW5kbGVyXFwnIGxhbWJkYSBmYWlsZWQgd2l0aCBhbiBlcnJvci4gQ2hlY2sgdGhlIENsb3Vkd2F0Y2ggbG9ncyBcXCcvYXdzL2xhbWJkYS9TZWNyZXRzUmVzdG9yZUhhbmRsZXJcXCcgZm9yIG1vcmUgaW5mb3JtYXRpb24nOyBleGl0IDE7IGZpYCxcbiAgXTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29kZUJ1aWxkUm9sZVBvbGljeVN0YXRlbWVudHMoYWNjb3VudDogc3RyaW5nKTogaWFtLlBvbGljeVN0YXRlbWVudFtdIHtcbiAgY29uc3QgYmFja3VwQWNjb3VudElkID0gJzkwMzQwNDM4NjU1MCc7XG4gIGNvbnN0IGlhbVBvbGljeUtNUyA9IG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgcmVzb3VyY2VzOiBbXG4gICAgICBgYXJuOmF3czprbXM6Kjoke2JhY2t1cEFjY291bnRJZH06a2V5LypgLFxuICAgICAgYGFybjphd3M6a21zOio6JHthY2NvdW50fTprZXkvKmAsXG4gICAgXSxcbiAgICBjb25kaXRpb25zOiB7XG4gICAgICAnRm9yQW55VmFsdWU6U3RyaW5nTGlrZSc6IHtcbiAgICAgICAgJ2ttczpSZXNvdXJjZUFsaWFzZXMnOiAnYWxpYXMvcmlvLWx6LWJhY2t1cC1rZXkqJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG4gIGNvbnN0IGlhbVBvbGljeUxhbWJkYUV4ZWN1dGlvbiA9IG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgIHJlc291cmNlczogW1xuICAgICAgYGFybjphd3M6bGFtYmRhOmV1LXdlc3QtMToke2FjY291bnR9OmZ1bmN0aW9uOlNlY3JldHNSZXN0b3JlSGFuZGxlcmAsXG4gICAgXSxcbiAgfSk7XG4gIHJldHVybiBbXG4gICAgaWFtUG9saWN5S01TLFxuICAgIGlhbVBvbGljeUxhbWJkYUV4ZWN1dGlvbixcbiAgXTtcbn1cblxuZnVuY3Rpb24gZGV0ZXJtaW5lU2VjcmV0c0ZpbGVQYXRoQ29tbWFuZHNGb3JDb2RlQnVpbGQodXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZGVmYXVsdFNlY3JldHNGaWxlTmFtZSA9ICdzZWNyZXRzLnlhbWwnO1xuICBjb25zdCBkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczEgPSBgLi9pbmZyYXN0cnVjdHVyZS9zcmMvc2VjcmV0cy8ke2RlZmF1bHRTZWNyZXRzRmlsZU5hbWV9YDtcbiAgY29uc3QgZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMyID0gYC4vc3JjL3NlY3JldHMvJHtkZWZhdWx0U2VjcmV0c0ZpbGVOYW1lfWA7XG4gIGlmICh1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aCkge1xuICAgIHJldHVybiBbXG4gICAgICBgZWNobyBcIlNlY3JldHMgZmlsZSBleHBsaWNpdGx5IHNldCB0bzogJHt1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aH1cImAsXG4gICAgICBgZXhwb3J0ICR7U0VDUkVUU19GSUxFX1BBVEhfRU5WSVJPTk1FTlRfVkFSSUFCTEV9PScke3VzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRofSdgLFxuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBlY2hvICdObyBleHBsaWNpdCBzZWNyZXRzIGZpbGUgc2V0LCBsb29raW5nIGF0IHRoZSBkZWZhdWx0IGxvY2F0aW9uczogJHtbZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMxLCBkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczJdfSdgLFxuICAgICAgYGlmIFsgLWYgJyR7ZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMxfScgXTsgdGhlbiBleHBvcnQgJHtTRUNSRVRTX0ZJTEVfUEFUSF9FTlZJUk9OTUVOVF9WQVJJQUJMRX09JyR7ZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMxfSc7IGVsc2UgZXhwb3J0ICR7U0VDUkVUU19GSUxFX1BBVEhfRU5WSVJPTk1FTlRfVkFSSUFCTEV9PScke2RlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMn0nOyBmaWAsXG4gICAgXTtcbiAgfVxufVxuIl19
|
package/lib/toggle.js
CHANGED
|
@@ -41,4 +41,4 @@ function isToggleEnabled(context, toggleName, fallback = false) {
|
|
|
41
41
|
return fallback;
|
|
42
42
|
}
|
|
43
43
|
exports.isToggleEnabled = isToggleEnabled;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RvZ2dsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFFdkM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUFrQixFQUFFLFVBQWtCLEVBQUUsV0FBb0IsS0FBSztJQUUvRixJQUFJLFlBQVksQ0FBQztJQUNqQixJQUFJLE9BQU8sWUFBWSxzQkFBUyxFQUFFLENBQUM7UUFDakMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLE9BQU8sWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sWUFBWSxLQUFLLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFlBQVksS0FBSyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFyQkQsMENBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZlYXR1cmUgaXMgZW5hYmxlZCBvciBub3QuXG4gKlxuICogVGhlIHRvZ2dsZSBjb25maWd1cmF0aW9uIGlzIHN0b3JlZCBpbiBjb250ZXh0IHNlY3Rpb24gb2YganNvbiBmaWxlLlxuICogSXQgcmV0dXJucyB0cnVlIGlmIHRoZSB2YWx1ZSBpcyAndHJ1ZScuIEFsbCBvdGhlciB2YWx1ZXMgYXJlIGludGVycHJldGVkIGFzICdmYWxzZScuXG4gKiBJZiBubyB0b2dnbGUgaXMgZm91bmQsIGl0IHJldHVybnMgdGhlIGdpdmVuIGZhbGxiYWNrIChkZWZhdWx0IGlzIGZhbHNlKTtcbiAqXG4gKiBUaGUga2V5IG9mIGpzb24gY29udGV4dCBzaG91bGQgaW5jbHVkZSB0aGUgdGlja2V0IG51bWJlci5cbiAqXG4gKiBFeGFtcGxlIGpzb25cbiAqIHtcbiAqICAgIGNvbnRleHQ6IHtcbiAqICAgICAgXCJyaW9jbGFpZC0xMjM0LWF3ZXNvbWVGZWF0dXJlVG9nZ2xlXCI6IFwidHJ1ZVwiXG4gKiAgICB9XG4gKiB9XG4gKlxuICogQHBhcmFtIGNvbnRleHQgRWl0aGVyIHRoZSBwcm9qZW4gcHJvamVjdCBvciBhIGNkayBjb25zdHJ1Y3QuIFVzZWQgdG8gbG9vayB1cCB0aGUganNvbiBjb25maWcuXG4gKiBAcGFyYW0gdG9nZ2xlTmFtZSBOYW1lIG9mIHRoZSBmZWF0dXJlIHRvZ2dsZS4gKGV4YW1wbGU6IHJpb2NsYWlkLTEyMzQtYXdlc29tZUZlYXR1cmVUb2dnbGUpXG4gKiBAcGFyYW0gZmFsbGJhY2sgRGVmYXVsdCByZXR1cm4gdmFsdWUgaWYgbm8gY29uZmlndXJhdGlvbiBmb3IgdGhlIHRvZ2dsZSBleGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVG9nZ2xlRW5hYmxlZChjb250ZXh0OiBDb25zdHJ1Y3QsIHRvZ2dsZU5hbWU6IHN0cmluZywgZmFsbGJhY2s6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuXG4gIGxldCBjb250ZXh0VmFsdWU7XG4gIGlmIChjb250ZXh0IGluc3RhbmNlb2YgQ29uc3RydWN0KSB7XG4gICAgY29udGV4dFZhbHVlID0gY29udGV4dC5ub2RlLnRyeUdldENvbnRleHQodG9nZ2xlTmFtZSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbnRleHRWYWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgcmV0dXJuIGNvbnRleHRWYWx1ZTtcbiAgfVxuICBpZiAodHlwZW9mIGNvbnRleHRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gY29udGV4dFZhbHVlID09PSAndHJ1ZSc7XG4gIH1cbiAgaWYgKHR5cGVvZiBjb250ZXh0VmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBjb250ZXh0VmFsdWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBjb250ZXh0VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGNvbnRleHRWYWx1ZSA9PT0gJ3RydWUnO1xuICB9XG5cbiAgcmV0dXJuIGZhbGxiYWNrO1xufSJdfQ==
|