@aws-solutions-constructs/core 2.1.0 → 2.2.0
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 +2 -2
- package/lib/dynamodb-table-helper.d.ts +4 -2
- package/lib/dynamodb-table-helper.js +1 -1
- package/lib/eventbridge-helper.js +1 -1
- package/lib/fargate-helper.js +17 -17
- package/lib/glue-job-helper.d.ts +19 -10
- package/lib/glue-job-helper.js +1 -1
- package/lib/kinesis-analytics-helper.js +1 -1
- package/lib/kinesis-streams-helper.js +1 -1
- package/lib/lambda-helper.d.ts +1 -1
- package/lib/lambda-helper.js +1 -1
- package/lib/s3-bucket-helper.d.ts +3 -1
- package/lib/s3-bucket-helper.js +1 -1
- package/lib/sagemaker-helper.d.ts +9 -8
- package/lib/sagemaker-helper.js +1 -1
- package/lib/sns-helper.d.ts +3 -1
- package/lib/sns-helper.js +1 -1
- package/lib/sqs-helper.d.ts +4 -2
- package/lib/sqs-helper.js +1 -1
- package/lib/utils.d.ts +2 -1
- package/lib/utils.js +1 -1
- package/lib/vpc-helper.d.ts +3 -4
- package/lib/vpc-helper.js +1 -1
- package/lib/waf-helper.d.ts +1 -1
- package/lib/waf-helper.js +1 -1
- package/package.json +1 -1
- package/test/fargate-helper.test.d.ts +0 -1
- package/test/fargate-helper.test.js +7 -9
- package/test/test-helper.d.ts +2 -1
- package/test/test-helper.js +7 -4
package/lib/vpc-helper.js
CHANGED
|
@@ -153,4 +153,4 @@ function AddAwsServiceEndpoint(scope, vpc, interfaceTag) {
|
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
155
|
exports.AddAwsServiceEndpoint = AddAwsServiceEndpoint;
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZwYy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCwyQ0FBMkM7QUFHM0MsbUVBQTZEO0FBQzdELG1DQUE2RDtBQXNCN0QsU0FBZ0IsUUFBUSxDQUFDLEtBQWdCLEVBQUUsS0FBb0I7O0lBQzdELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsRUFBRTtRQUN0QixPQUFPLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLENBQUM7S0FDM0I7SUFFRCxJQUFJLGVBQWUsR0FBaUIsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWUsQ0FBQztJQUUzRCxJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLEVBQUU7UUFDdkIsZUFBZSxHQUFHLHFCQUFhLENBQUMsZUFBZSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUMsQ0FBQztLQUN2RTtJQUVELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGlCQUFpQixFQUFFO1FBQzVCLGVBQWUsR0FBRyxxQkFBYSxDQUFDLGVBQWUsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUM1RTtJQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRXZELGdHQUFnRztJQUNoRyxNQUFNLE9BQU8sR0FBZ0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2RCw4SEFBOEg7SUFDOUgsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNuQyxNQUFNLFNBQVMsR0FB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QUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxFQUMxQztnQkFDRSxHQUFHO2dCQUNILGdCQUFnQixFQUFFLElBQUk7YUFDdkIsRUFDRCxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUMxRSxFQUFFLENBQ0gsQ0FBQztZQUVGLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLE9BQU8sRUFBRSxPQUFPLENBQUMsd0JBQThEO2dCQUMvRSxjQUFjLEVBQUUsQ0FBRSw0QkFBNEIsQ0FBRTthQUNqRCxDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsT0FBTztBQUNULENBQUM7QUF4Q0Qsc0RBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENmbkxvZ0dyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgYnVpbGRTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4vc2VjdXJpdHktZ3JvdXAtaGVscGVyXCI7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFZwY1Byb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGEgVlBDLCBpZiB0aGlzIGlzIHNldCB0aGVuIHRoZSBhbGwgUHJvcHMgYXJlIGlnbm9yZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVnBjPzogZWMyLklWcGM7XG4gIC8qKlxuICAgKiBPbmUgb2YgdGhlIGRlZmF1bHQgVlBDIGNvbmZpZ3VyYXRpb25zIGF2YWlsYWJsZSBpbiB2cGMtZGVmYXVsdHNcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRWcGNQcm9wczogZWMyLlZwY1Byb3BzO1xuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIFZQQy5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJWcGNQcm9wcz86IGVjMi5WcGNQcm9wcztcbiAgLyoqXG4gICAqIENvbnN0cnVjdCBzcGVjaWZpZWQgcHJvcHMgdGhhdCBvdmVycmlkZSBib3RoIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqIGFuZCB1c2VyIHByb3BzIGZvciB0aGUgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0VnBjUHJvcHM/OiBlYzIuVnBjUHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFZwYyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRWcGNQcm9wcyk6IGVjMi5JVnBjIHtcbiAgaWYgKHByb3BzPy5leGlzdGluZ1ZwYykge1xuICAgIHJldHVybiBwcm9wcz8uZXhpc3RpbmdWcGM7XG4gIH1cblxuICBsZXQgY3VtdWxhdGl2ZVByb3BzOiBlYzIuVnBjUHJvcHMgPSBwcm9wcz8uZGVmYXVsdFZwY1Byb3BzO1xuXG4gIGlmIChwcm9wcz8udXNlclZwY1Byb3BzKSB7XG4gICAgY3VtdWxhdGl2ZVByb3BzID0gb3ZlcnJpZGVQcm9wcyhjdW11bGF0aXZlUHJvcHMsIHByb3BzPy51c2VyVnBjUHJvcHMpO1xuICB9XG5cbiAgaWYgKHByb3BzPy5jb25zdHJ1Y3RWcGNQcm9wcykge1xuICAgIGN1bXVsYXRpdmVQcm9wcyA9IG92ZXJyaWRlUHJvcHMoY3VtdWxhdGl2ZVByb3BzLCBwcm9wcz8uY29uc3RydWN0VnBjUHJvcHMpO1xuICB9XG5cbiAgY29uc3QgdnBjID0gbmV3IGVjMi5WcGMoc2NvcGUsIFwiVnBjXCIsIGN1bXVsYXRpdmVQcm9wcyk7XG5cbiAgLy8gQWRkIFZQQyBGbG93TG9ncyB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmcgb2YgdHJhZmZpY1R5cGU6QUxMIGFuZCBkZXN0aW5hdGlvbjogQ2xvdWRXYXRjaCBMb2dzXG4gIGNvbnN0IGZsb3dMb2c6IGVjMi5GbG93TG9nID0gdnBjLmFkZEZsb3dMb2coXCJGbG93TG9nXCIpO1xuXG4gIC8vIEFkZCBDZm4gTmFnIHN1cHByZXNzaW9uIGZvciBQVUJMSUMgc3VibmV0cyB0byBzdXBwcmVzcyBXQVJOIFczMzogRUMyIFN1Ym5ldCBzaG91bGQgbm90IGhhdmUgTWFwUHVibGljSXBPbkxhdW5jaCBzZXQgdG8gdHJ1ZVxuICB2cGMucHVibGljU3VibmV0cy5mb3JFYWNoKChzdWJuZXQpID0+IHtcbiAgICBjb25zdCBjZm5TdWJuZXQgPSBzdWJuZXQubm9kZS5kZWZhdWx0Q2hpbGQgYXMgZWMyLkNmblN1Ym5ldDtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGNmblN1Ym5ldCwgW1xuICAgICAge1xuICAgICAgICBpZDogJ1czMycsXG4gICAgICAgIHJlYXNvbjogJ0FsbG93IFB1YmxpYyBTdWJuZXRzIHRvIGhhdmUgTWFwUHVibGljSXBPbkxhdW5jaCBzZXQgdG8gdHJ1ZSdcbiAgICAgIH1cbiAgICBdKTtcbiAgfSk7XG5cbiAgLy8gQWRkIENmbiBOYWcgc3VwcHJlc3Npb24gZm9yIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwcyBkYXRhIGlzIGVuY3J5cHRlZFxuICBjb25zdCBjZm5Mb2dHcm91cDogQ2ZuTG9nR3JvdXAgPSBmbG93TG9nLmxvZ0dyb3VwPy5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Mb2dHcm91cDtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjZm5Mb2dHcm91cCwgW1xuICAgIHtcbiAgICAgIGlkOiAnVzg0JyxcbiAgICAgIHJlYXNvbjogJ0J5IGRlZmF1bHQgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXBzIGRhdGEgaXMgZW5jcnlwdGVkIHVzaW5nIHRoZSBDbG91ZFdhdGNoIHNlcnZlci1zaWRlIGVuY3J5cHRpb24ga2V5cyAoQVdTIE1hbmFnZWQgS2V5cyknXG4gICAgfVxuICBdKTtcblxuICByZXR1cm4gdnBjO1xufVxuXG5leHBvcnQgZW51bSBTZXJ2aWNlRW5kcG9pbnRUeXBlcyB7XG4gIERZTkFNT0RCID0gXCJEREJcIixcbiAgU05TID0gXCJTTlNcIixcbiAgU1FTID0gXCJTUVNcIixcbiAgUzMgPSBcIlMzXCIsXG4gIFNURVBfRlVOQ1RJT05TID0gXCJTVEVQX0ZVTkNUSU9OU1wiLFxuICBTQUdFTUFLRVJfUlVOVElNRSA9IFwiU0FHRU1BS0VSX1JVTlRJTUVcIixcbiAgU0VDUkVUU19NQU5BR0VSID0gXCJTRUNSRVRTX01BTkFHRVJcIixcbiAgU1NNID0gXCJTU01cIixcbiAgRUNSX0FQSSA9IFwiRUNSX0FQSVwiLFxuICBFQ1JfREtSID0gXCJFQ1JfREtSXCIsXG4gIEVWRU5UUyA9IFwiQ0xPVURXQVRDSF9FVkVOVFNcIlxufVxuXG5lbnVtIEVuZHBvaW50VHlwZXMge1xuICBHQVRFV0FZID0gXCJHYXRld2F5XCIsXG4gIElOVEVSRkFDRSA9IFwiSW50ZXJmYWNlXCIsXG59XG5cbmludGVyZmFjZSBFbmRwb2ludERlZmluaXRpb24ge1xuICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzO1xuICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXM7XG4gIGVuZHBvaW50R2F0ZXdheVNlcnZpY2U/OiBlYzIuR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZTtcbiAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlPzogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZTtcbn1cblxuY29uc3QgZW5kcG9pbnRTZXR0aW5nczogRW5kcG9pbnREZWZpbml0aW9uW10gPSBbXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLkRZTkFNT0RCLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5HQVRFV0FZLFxuICAgIGVuZHBvaW50R2F0ZXdheVNlcnZpY2U6IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkRZTkFNT0RCLFxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5TMyxcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuR0FURVdBWSxcbiAgICBlbmRwb2ludEdhdGV3YXlTZXJ2aWNlOiBlYzIuR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZS5TMyxcbiAgfSxcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuU1RFUF9GVU5DVElPTlMsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1RFUF9GVU5DVElPTlMsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlNOUyxcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFLFxuICAgIGVuZHBvaW50SW50ZXJmYWNlU2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TTlMsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlNRUyxcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFLFxuICAgIGVuZHBvaW50SW50ZXJmYWNlU2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TUVMsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlNBR0VNQUtFUl9SVU5USU1FLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNBR0VNQUtFUl9SVU5USU1FLFxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5TRUNSRVRTX01BTkFHRVIsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU0VDUkVUU19NQU5BR0VSLFxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5TU00sXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1NNLFxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5FQ1JfQVBJLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkVDUlxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5FQ1JfREtSLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkVDUl9ET0NLRVJcbiAgfSxcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuRVZFTlRTLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkNMT1VEV0FUQ0hfRVZFTlRTXG4gIH1cbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRBd3NTZXJ2aWNlRW5kcG9pbnQoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHZwYzogZWMyLklWcGMsXG4gIGludGVyZmFjZVRhZzogU2VydmljZUVuZHBvaW50VHlwZXNcbikge1xuICBpZiAoIXZwYy5ub2RlLmNoaWxkcmVuLnNvbWUoKGNoaWxkKSA9PiBjaGlsZC5ub2RlLmlkID09PSBpbnRlcmZhY2VUYWcpKSB7XG4gICAgY29uc3Qgc2VydmljZSA9IGVuZHBvaW50U2V0dGluZ3MuZmluZChcbiAgICAgIChlbmRwb2ludCkgPT4gZW5kcG9pbnQuZW5kcG9pbnROYW1lID09PSBpbnRlcmZhY2VUYWdcbiAgICApO1xuXG4gICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBTZXJ2aWNlIHNlbnQgdG8gQWRkU2VydmljZUVuZHBvaW50XCIpO1xuICAgIH1cblxuICAgIGlmIChzZXJ2aWNlLmVuZHBvaW50VHlwZSA9PT0gRW5kcG9pbnRUeXBlcy5HQVRFV0FZKSB7XG4gICAgICB2cGMuYWRkR2F0ZXdheUVuZHBvaW50KGludGVyZmFjZVRhZywge1xuICAgICAgICBzZXJ2aWNlOiBzZXJ2aWNlLmVuZHBvaW50R2F0ZXdheVNlcnZpY2UgYXMgZWMyLkdhdGV3YXlWcGNFbmRwb2ludEF3c1NlcnZpY2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHNlcnZpY2UuZW5kcG9pbnRUeXBlID09PSBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSkge1xuXG4gICAgICBjb25zdCBlbmRwb2ludERlZmF1bHRTZWN1cml0eUdyb3VwID0gYnVpbGRTZWN1cml0eUdyb3VwKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgYCR7c2NvcGUubm9kZS5pZH0tJHtzZXJ2aWNlLmVuZHBvaW50TmFtZX1gLFxuICAgICAgICB7XG4gICAgICAgICAgdnBjLFxuICAgICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIFt7IHBlZXI6IGVjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNvbm5lY3Rpb246IGVjMi5Qb3J0LnRjcCg0NDMpIH1dLFxuICAgICAgICBbXVxuICAgICAgKTtcblxuICAgICAgdnBjLmFkZEludGVyZmFjZUVuZHBvaW50KGludGVyZmFjZVRhZywge1xuICAgICAgICBzZXJ2aWNlOiBzZXJ2aWNlLmVuZHBvaW50SW50ZXJmYWNlU2VydmljZSBhcyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogWyBlbmRwb2ludERlZmF1bHRTZWN1cml0eUdyb3VwIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm47XG59XG4iXX0=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZwYy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCwyQ0FBMkM7QUFHM0MsbUVBQTZEO0FBQzdELG1DQUE2RDtBQWE3RCxTQUFnQixRQUFRLENBQUMsS0FBZ0IsRUFBRSxLQUFvQjs7SUFDN0QsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsV0FBVyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsQ0FBQztLQUMzQjtJQUVELElBQUksZUFBZSxHQUFpQixLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZSxDQUFDO0lBRTNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksRUFBRTtRQUN2QixlQUFlLEdBQUcscUJBQWEsQ0FBQyxlQUFlLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3ZFO0lBRUQsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLEVBQUU7UUFDNUIsZUFBZSxHQUFHLHFCQUFhLENBQUMsZUFBZSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxpQkFBaUIsQ0FBQyxDQUFDO0tBQzVFO0lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFdkQsZ0dBQWdHO0lBQ2hHLE1BQU0sT0FBTyxHQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZELDhIQUE4SDtJQUM5SCxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ25DLE1BQU0sU0FBUyxHQUFH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RyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQzFDO2dCQUNFLEdBQUc7Z0JBQ0gsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QixFQUNELENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQzFFLEVBQUUsQ0FDSCxDQUFDO1lBRUYsR0FBRyxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRTtnQkFDckMsT0FBTyxFQUFFLE9BQU8sQ0FBQyx3QkFBOEQ7Z0JBQy9FLGNBQWMsRUFBRSxDQUFFLDRCQUE0QixDQUFFO2FBQ2pELENBQUMsQ0FBQztTQUNKO0tBQ0Y7SUFFRCxPQUFPO0FBQ1QsQ0FBQztBQXhDRCxzREF3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ2ZuTG9nR3JvdXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBidWlsZFNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiLi9zZWN1cml0eS1ncm91cC1oZWxwZXJcIjtcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkVnBjUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGV4aXN0aW5nVnBjPzogZWMyLklWcGM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBkZWZhdWx0VnBjUHJvcHM6IGVjMi5WcGNQcm9wcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdXNlclZwY1Byb3BzPzogZWMyLlZwY1Byb3BzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25zdHJ1Y3RWcGNQcm9wcz86IGVjMi5WcGNQcm9wcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVnBjKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBCdWlsZFZwY1Byb3BzKTogZWMyLklWcGMge1xuICBpZiAocHJvcHM/LmV4aXN0aW5nVnBjKSB7XG4gICAgcmV0dXJuIHByb3BzPy5leGlzdGluZ1ZwYztcbiAgfVxuXG4gIGxldCBjdW11bGF0aXZlUHJvcHM6IGVjMi5WcGNQcm9wcyA9IHByb3BzPy5kZWZhdWx0VnBjUHJvcHM7XG5cbiAgaWYgKHByb3BzPy51c2VyVnBjUHJvcHMpIHtcbiAgICBjdW11bGF0aXZlUHJvcHMgPSBvdmVycmlkZVByb3BzKGN1bXVsYXRpdmVQcm9wcywgcHJvcHM/LnVzZXJWcGNQcm9wcyk7XG4gIH1cblxuICBpZiAocHJvcHM/LmNvbnN0cnVjdFZwY1Byb3BzKSB7XG4gICAgY3VtdWxhdGl2ZVByb3BzID0gb3ZlcnJpZGVQcm9wcyhjdW11bGF0aXZlUHJvcHMsIHByb3BzPy5jb25zdHJ1Y3RWcGNQcm9wcyk7XG4gIH1cblxuICBjb25zdCB2cGMgPSBuZXcgZWMyLlZwYyhzY29wZSwgXCJWcGNcIiwgY3VtdWxhdGl2ZVByb3BzKTtcblxuICAvLyBBZGQgVlBDIEZsb3dMb2dzIHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZyBvZiB0cmFmZmljVHlwZTpBTEwgYW5kIGRlc3RpbmF0aW9uOiBDbG91ZFdhdGNoIExvZ3NcbiAgY29uc3QgZmxvd0xvZzogZWMyLkZsb3dMb2cgPSB2cGMuYWRkRmxvd0xvZyhcIkZsb3dMb2dcIik7XG5cbiAgLy8gQWRkIENmbiBOYWcgc3VwcHJlc3Npb24gZm9yIFBVQkxJQyBzdWJuZXRzIHRvIHN1cHByZXNzIFdBUk4gVzMzOiBFQzIgU3VibmV0IHNob3VsZCBub3QgaGF2ZSBNYXBQdWJsaWNJcE9uTGF1bmNoIHNldCB0byB0cnVlXG4gIHZwYy5wdWJsaWNTdWJuZXRzLmZvckVhY2goKHN1Ym5ldCkgPT4ge1xuICAgIGNvbnN0IGNmblN1Ym5ldCA9IHN1Ym5ldC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBlYzIuQ2ZuU3VibmV0O1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMoY2ZuU3VibmV0LCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzMzJyxcbiAgICAgICAgcmVhc29uOiAnQWxsb3cgUHVibGljIFN1Ym5ldHMgdG8gaGF2ZSBNYXBQdWJsaWNJcE9uTGF1bmNoIHNldCB0byB0cnVlJ1xuICAgICAgfVxuICAgIF0pO1xuICB9KTtcblxuICAvLyBBZGQgQ2ZuIE5hZyBzdXBwcmVzc2lvbiBmb3IgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXBzIGRhdGEgaXMgZW5jcnlwdGVkXG4gIGNvbnN0IGNmbkxvZ0dyb3VwOiBDZm5Mb2dHcm91cCA9IGZsb3dMb2cubG9nR3JvdXA/Lm5vZGUuZGVmYXVsdENoaWxkIGFzIENmbkxvZ0dyb3VwO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGNmbkxvZ0dyb3VwLCBbXG4gICAge1xuICAgICAgaWQ6ICdXODQnLFxuICAgICAgcmVhc29uOiAnQnkgZGVmYXVsdCBDbG91ZFdhdGNoTG9ncyBMb2dHcm91cHMgZGF0YSBpcyBlbmNyeXB0ZWQgdXNpbmcgdGhlIENsb3VkV2F0Y2ggc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBrZXlzIChBV1MgTWFuYWdlZCBLZXlzKSdcbiAgICB9XG4gIF0pO1xuXG4gIHJldHVybiB2cGM7XG59XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VFbmRwb2ludFR5cGVzIHtcbiAgRFlOQU1PREIgPSBcIkREQlwiLFxuICBTTlMgPSBcIlNOU1wiLFxuICBTUVMgPSBcIlNRU1wiLFxuICBTMyA9IFwiUzNcIixcbiAgU1RFUF9GVU5DVElPTlMgPSBcIlNURVBfRlVOQ1RJT05TXCIsXG4gIFNBR0VNQUtFUl9SVU5USU1FID0gXCJTQUdFTUFLRVJfUlVOVElNRVwiLFxuICBTRUNSRVRTX01BTkFHRVIgPSBcIlNFQ1JFVFNfTUFOQUdFUlwiLFxuICBTU00gPSBcIlNTTVwiLFxuICBFQ1JfQVBJID0gXCJFQ1JfQVBJXCIsXG4gIEVDUl9ES1IgPSBcIkVDUl9ES1JcIixcbiAgRVZFTlRTID0gXCJDTE9VRFdBVENIX0VWRU5UU1wiXG59XG5cbmVudW0gRW5kcG9pbnRUeXBlcyB7XG4gIEdBVEVXQVkgPSBcIkdhdGV3YXlcIixcbiAgSU5URVJGQUNFID0gXCJJbnRlcmZhY2VcIixcbn1cblxuaW50ZXJmYWNlIEVuZHBvaW50RGVmaW5pdGlvbiB7XG4gIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXM7XG4gIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcztcbiAgZW5kcG9pbnRHYXRld2F5U2VydmljZT86IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlO1xuICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U/OiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlO1xufVxuXG5jb25zdCBlbmRwb2ludFNldHRpbmdzOiBFbmRwb2ludERlZmluaXRpb25bXSA9IFtcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuRFlOQU1PREIsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLkdBVEVXQVksXG4gICAgZW5kcG9pbnRHYXRld2F5U2VydmljZTogZWMyLkdhdGV3YXlWcGNFbmRwb2ludEF3c1NlcnZpY2UuRFlOQU1PREIsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlMzLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5HQVRFV0FZLFxuICAgIGVuZHBvaW50R2F0ZXdheVNlcnZpY2U6IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlMzLFxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5TVEVQX0ZVTkNUSU9OUyxcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFLFxuICAgIGVuZHBvaW50SW50ZXJmYWNlU2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TVEVQX0ZVTkNUSU9OUyxcbiAgfSxcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuU05TLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNOUyxcbiAgfSxcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuU1FTLFxuICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlcy5JTlRFUkZBQ0UsXG4gICAgZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNRUyxcbiAgfSxcbiAge1xuICAgIGVuZHBvaW50TmFtZTogU2VydmljZUVuZHBvaW50VHlwZXMuU0FHRU1BS0VSX1JVTlRJTUUsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU0FHRU1BS0VSX1JVTlRJTUUsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlNFQ1JFVFNfTUFOQUdFUixcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFLFxuICAgIGVuZHBvaW50SW50ZXJmYWNlU2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TRUNSRVRTX01BTkFHRVIsXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLlNTTSxcbiAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFLFxuICAgIGVuZHBvaW50SW50ZXJmYWNlU2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TU00sXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLkVDUl9BUEksXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuRUNSXG4gIH0sXG4gIHtcbiAgICBlbmRwb2ludE5hbWU6IFNlcnZpY2VFbmRwb2ludFR5cGVzLkVDUl9ES1IsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuRUNSX0RPQ0tFUlxuICB9LFxuICB7XG4gICAgZW5kcG9pbnROYW1lOiBTZXJ2aWNlRW5kcG9pbnRUeXBlcy5FVkVOVFMsXG4gICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGVzLklOVEVSRkFDRSxcbiAgICBlbmRwb2ludEludGVyZmFjZVNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuQ0xPVURXQVRDSF9FVkVOVFNcbiAgfVxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEFkZEF3c1NlcnZpY2VFbmRwb2ludChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgdnBjOiBlYzIuSVZwYyxcbiAgaW50ZXJmYWNlVGFnOiBTZXJ2aWNlRW5kcG9pbnRUeXBlc1xuKSB7XG4gIGlmICghdnBjLm5vZGUuY2hpbGRyZW4uc29tZSgoY2hpbGQpID0+IGNoaWxkLm5vZGUuaWQgPT09IGludGVyZmFjZVRhZykpIHtcbiAgICBjb25zdCBzZXJ2aWNlID0gZW5kcG9pbnRTZXR0aW5ncy5maW5kKFxuICAgICAgKGVuZHBvaW50KSA9PiBlbmRwb2ludC5lbmRwb2ludE5hbWUgPT09IGludGVyZmFjZVRhZ1xuICAgICk7XG5cbiAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIFNlcnZpY2Ugc2VudCB0byBBZGRTZXJ2aWNlRW5kcG9pbnRcIik7XG4gICAgfVxuXG4gICAgaWYgKHNlcnZpY2UuZW5kcG9pbnRUeXBlID09PSBFbmRwb2ludFR5cGVzLkdBVEVXQVkpIHtcbiAgICAgIHZwYy5hZGRHYXRld2F5RW5kcG9pbnQoaW50ZXJmYWNlVGFnLCB7XG4gICAgICAgIHNlcnZpY2U6IHNlcnZpY2UuZW5kcG9pbnRHYXRld2F5U2VydmljZSBhcyBlYzIuR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoc2VydmljZS5lbmRwb2ludFR5cGUgPT09IEVuZHBvaW50VHlwZXMuSU5URVJGQUNFKSB7XG5cbiAgICAgIGNvbnN0IGVuZHBvaW50RGVmYXVsdFNlY3VyaXR5R3JvdXAgPSBidWlsZFNlY3VyaXR5R3JvdXAoXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBgJHtzY29wZS5ub2RlLmlkfS0ke3NlcnZpY2UuZW5kcG9pbnROYW1lfWAsXG4gICAgICAgIHtcbiAgICAgICAgICB2cGMsXG4gICAgICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgW3sgcGVlcjogZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY29ubmVjdGlvbjogZWMyLlBvcnQudGNwKDQ0MykgfV0sXG4gICAgICAgIFtdXG4gICAgICApO1xuXG4gICAgICB2cGMuYWRkSW50ZXJmYWNlRW5kcG9pbnQoaW50ZXJmYWNlVGFnLCB7XG4gICAgICAgIHNlcnZpY2U6IHNlcnZpY2UuZW5kcG9pbnRJbnRlcmZhY2VTZXJ2aWNlIGFzIGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UsXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbIGVuZHBvaW50RGVmYXVsdFNlY3VyaXR5R3JvdXAgXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn1cbiJdfQ==
|
package/lib/waf-helper.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { Construct } from "constructs";
|
|
|
14
14
|
import * as waf from "aws-cdk-lib/aws-wafv2";
|
|
15
15
|
export interface BuildWebaclProps {
|
|
16
16
|
/**
|
|
17
|
-
* Existing instance of a WAF web ACL, if this is set then the all props are ignored
|
|
17
|
+
* Existing instance of a WAF web ACL, if this is set then the all props are ignored.
|
|
18
18
|
*/
|
|
19
19
|
readonly existingWebaclObj?: waf.CfnWebACL;
|
|
20
20
|
/**
|
package/lib/waf-helper.js
CHANGED
|
@@ -34,4 +34,4 @@ function buildWebacl(scope, webaclScope, props) {
|
|
|
34
34
|
return webAcl;
|
|
35
35
|
}
|
|
36
36
|
exports.buildWebacl = buildWebacl;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FmLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndhZi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFHSCw2Q0FBNkM7QUFDN0MsaURBQXVEO0FBQ3ZELG1DQUF3QztBQVN4QyxTQUFnQixXQUFXLENBQUMsS0FBZ0IsRUFBRSxXQUFtQixFQUFFLEtBQXVCO0lBQ3hGLElBQUksTUFBTSxDQUFDO0lBRVgsSUFBSSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsdUJBQXVCO1FBQzFFLE1BQU0sR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7S0FDbEM7U0FBTSxFQUFFLDJCQUEyQjtRQUNsQyxJQUFJLGdCQUFvQyxDQUFDO1FBRXpDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixnQkFBZ0IsR0FBRyxxQkFBYSxDQUFDLG9DQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN6RjthQUFNO1lBQ0wsZ0JBQWdCLEdBQUcsb0NBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztLQUNoRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFsQkQsa0NBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgd2FmIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtd2FmdjJcIjtcbmltcG9ydCB7IERlZmF1bHRXYWZ3ZWJhY2xQcm9wcyB9IGZyb20gXCIuL3dhZi1kZWZhdWx0c1wiO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkV2ViYWNsUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgcmVhZG9ubHkgZXhpc3RpbmdXZWJhY2xPYmo/OiB3YWYuQ2ZuV2ViQUNMO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgIHJlYWRvbmx5IHdlYmFjbFByb3BzPzogd2FmLkNmbldlYkFDTFByb3BzO1xuIH1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkV2ViYWNsKHNjb3BlOiBDb25zdHJ1Y3QsIHdlYmFjbFNjb3BlOiBzdHJpbmcsIHByb3BzOiBCdWlsZFdlYmFjbFByb3BzKTogd2FmLkNmbldlYkFDTCB7XG4gIGxldCB3ZWJBY2w7XG5cbiAgaWYgKHByb3BzLmV4aXN0aW5nV2ViYWNsT2JqICYmICFwcm9wcy53ZWJhY2xQcm9wcykgeyAvLyBFeGlzdGluZyBXQUYgd2ViIEFDTFxuICAgIHdlYkFjbCA9IHByb3BzLmV4aXN0aW5nV2ViYWNsT2JqO1xuICB9IGVsc2UgeyAvLyBDcmVhdGUgYSBuZXcgV0FGIHdlYiBBQ0xcbiAgICBsZXQgZmluYWxXZWJhY2xQcm9wczogd2FmLkNmbldlYkFDTFByb3BzO1xuXG4gICAgaWYgKHByb3BzLndlYmFjbFByb3BzKSB7XG4gICAgICBmaW5hbFdlYmFjbFByb3BzID0gb3ZlcnJpZGVQcm9wcyhEZWZhdWx0V2Fmd2ViYWNsUHJvcHMod2ViYWNsU2NvcGUpLCBwcm9wcy53ZWJhY2xQcm9wcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsV2ViYWNsUHJvcHMgPSBEZWZhdWx0V2Fmd2ViYWNsUHJvcHMod2ViYWNsU2NvcGUpO1xuICAgIH1cblxuICAgIHdlYkFjbCA9IG5ldyB3YWYuQ2ZuV2ViQUNMKHNjb3BlLCBgJHtzY29wZS5ub2RlLmlkfS1XZWJBQ0xgLCBmaW5hbFdlYmFjbFByb3BzKTtcbiAgfVxuXG4gIHJldHVybiB3ZWJBY2w7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
* and limitations under the License.
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.fakeEcrRepoArn = void 0;
|
|
16
15
|
const defaults = require("..");
|
|
17
16
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
18
17
|
const __1 = require("..");
|
|
@@ -20,11 +19,10 @@ const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
|
20
19
|
const ecs = require("aws-cdk-lib/aws-ecs");
|
|
21
20
|
const ecr = require("aws-cdk-lib/aws-ecr");
|
|
22
21
|
require("@aws-cdk/assert/jest");
|
|
23
|
-
exports.fakeEcrRepoArn = 'arn:aws:ecr:us-east-1:123456789012:repository/fake-repo';
|
|
24
22
|
test('Test with all defaults', () => {
|
|
25
23
|
const stack = new aws_cdk_lib_1.Stack();
|
|
26
24
|
const testVpc = defaults.getTestVpc(stack);
|
|
27
|
-
__1.CreateFargateService(stack, 'test', testVpc, undefined,
|
|
25
|
+
__1.CreateFargateService(stack, 'test', testVpc, undefined, defaults.fakeEcrRepoArn);
|
|
28
26
|
expect(stack).toHaveResource("AWS::ECS::Service", {
|
|
29
27
|
Cluster: {
|
|
30
28
|
Ref: "testclusterDF8B0D19"
|
|
@@ -94,7 +92,7 @@ test('Test with all defaults', () => {
|
|
|
94
92
|
test('Test with all defaults in isolated VPC', () => {
|
|
95
93
|
const stack = new aws_cdk_lib_1.Stack();
|
|
96
94
|
const testVpc = CreateIsolatedTestVpc(stack);
|
|
97
|
-
__1.CreateFargateService(stack, 'test', testVpc, undefined,
|
|
95
|
+
__1.CreateFargateService(stack, 'test', testVpc, undefined, defaults.fakeEcrRepoArn);
|
|
98
96
|
expect(stack).toHaveResource("AWS::ECS::Service", {
|
|
99
97
|
Cluster: {
|
|
100
98
|
Ref: "testclusterDF8B0D19"
|
|
@@ -186,7 +184,7 @@ test('Test with custom task definition', () => {
|
|
|
186
184
|
test('Test with custom container definition', () => {
|
|
187
185
|
const stack = new aws_cdk_lib_1.Stack();
|
|
188
186
|
const testVpc = CreateIsolatedTestVpc(stack);
|
|
189
|
-
__1.CreateFargateService(stack, 'test', testVpc, undefined,
|
|
187
|
+
__1.CreateFargateService(stack, 'test', testVpc, undefined, defaults.fakeEcrRepoArn, undefined, { cpu: 256, memoryLimitMiB: 512 });
|
|
190
188
|
expect(stack).toHaveResourceLike("AWS::ECS::TaskDefinition", {
|
|
191
189
|
Cpu: '256',
|
|
192
190
|
Memory: '512'
|
|
@@ -196,7 +194,7 @@ test('Test with custom cluster props', () => {
|
|
|
196
194
|
const stack = new aws_cdk_lib_1.Stack();
|
|
197
195
|
const clusterName = 'test-value';
|
|
198
196
|
const testVpc = CreateIsolatedTestVpc(stack);
|
|
199
|
-
__1.CreateFargateService(stack, 'test', testVpc, { clusterName },
|
|
197
|
+
__1.CreateFargateService(stack, 'test', testVpc, { clusterName }, defaults.fakeEcrRepoArn, undefined);
|
|
200
198
|
expect(stack).toHaveResourceLike("AWS::ECS::Cluster", {
|
|
201
199
|
ClusterName: clusterName,
|
|
202
200
|
});
|
|
@@ -205,7 +203,7 @@ test('Test with custom Fargate Service props', () => {
|
|
|
205
203
|
const stack = new aws_cdk_lib_1.Stack();
|
|
206
204
|
const serviceName = 'test-value';
|
|
207
205
|
const testVpc = CreateIsolatedTestVpc(stack);
|
|
208
|
-
__1.CreateFargateService(stack, 'test', testVpc, undefined,
|
|
206
|
+
__1.CreateFargateService(stack, 'test', testVpc, undefined, defaults.fakeEcrRepoArn, undefined, undefined, undefined, { serviceName });
|
|
209
207
|
expect(stack).toHaveResourceLike("AWS::ECS::Service", {
|
|
210
208
|
ServiceName: serviceName,
|
|
211
209
|
});
|
|
@@ -220,7 +218,7 @@ test('Test with custom security group', () => {
|
|
|
220
218
|
vpc: testVpc,
|
|
221
219
|
description: groupDescription
|
|
222
220
|
});
|
|
223
|
-
__1.CreateFargateService(stack, 'test', testVpc, undefined,
|
|
221
|
+
__1.CreateFargateService(stack, 'test', testVpc, undefined, defaults.fakeEcrRepoArn, undefined, undefined, undefined, { securityGroups: [customSg] });
|
|
224
222
|
expect(stack).toHaveResource("AWS::EC2::SecurityGroup", {
|
|
225
223
|
GroupDescription: groupDescription,
|
|
226
224
|
});
|
|
@@ -315,4 +313,4 @@ function CreateImage(stack) {
|
|
|
315
313
|
// This is different than fakeEcrRepoArn because we're testing custom image
|
|
316
314
|
"arn:aws:ecr:us-east-1:123456789012:repository/existingImage"), "latest");
|
|
317
315
|
}
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1oZWxwZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhcmdhdGUtaGVscGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCwrQkFBK0I7QUFDL0IsNkNBQW9DO0FBQ3BDLDBCQUEwQztBQUMxQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyxnQ0FBOEI7QUFFakIsUUFBQSxjQUFjLEdBQUcseURBQXlELENBQUM7QUFFeEYsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUUxQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLHdCQUFvQixDQUFDLEtBQUssRUFDeEIsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1Qsc0JBQWMsQ0FBQyxDQUFDO0lBRWxCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUU7UUFDaEQsT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLHFCQUFxQjtTQUMzQjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLGNBQWMsRUFBRSxHQUFHO1lBQ25CLHFCQUFxQixFQUFFLEVBQUU7U0FDMUI7UUFDRCxZQUFZLEVBQUUsQ0FBQztRQUNmLG9CQUFvQixFQUFFLEtBQUs7UUFDM0IsVUFBVSxFQUFFLFNBQVM7UUFDckIsb0JBQW9CLEVBQUU7WUFDcEIsbUJBQW1CLEVBQUU7Z0JBQ25CLGNBQWMsRUFBRSxVQUFVO2dCQUMxQixjQUFjLEVBQUU7b0JBQ2Q7d0JBQ0UsWUFBWSxFQUFFOzRCQUNaLGdCQUFnQjs0QkFDaEIsU0FBUzt5QkFDVjtxQkFDRjtpQkFDRjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsR0FBRyxFQUFFLGlDQUFpQztxQkFDdkM7b0JB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biAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDcmVhdGVGYXJnYXRlU2VydmljZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0ICdAYXdzLWNkay9hc3NlcnQvamVzdCc7XG5cbmV4cG9ydCBjb25zdCBmYWtlRWNyUmVwb0FybiA9ICdhcm46YXdzOmVjcjp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOnJlcG9zaXRvcnkvZmFrZS1yZXBvJztcblxudGVzdCgnVGVzdCB3aXRoIGFsbCBkZWZhdWx0cycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB0ZXN0VnBjID0gZGVmYXVsdHMuZ2V0VGVzdFZwYyhzdGFjayk7XG4gIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKHN0YWNrLFxuICAgICd0ZXN0JyxcbiAgICB0ZXN0VnBjLFxuICAgIHVuZGVmaW5lZCxcbiAgICBmYWtlRWNyUmVwb0Fybik7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUNTOjpTZXJ2aWNlXCIsIHtcbiAgICBDbHVzdGVyOiB7XG4gICAgICBSZWY6IFwidGVzdGNsdXN0ZXJERjhCMEQxOVwiXG4gICAgfSxcbiAgICBEZXBsb3ltZW50Q29uZmlndXJhdGlvbjoge1xuICAgICAgTWF4aW11bVBlcmNlbnQ6IDE1MCxcbiAgICAgIE1pbmltdW1IZWFsdGh5UGVyY2VudDogNzVcbiAgICB9LFxuICAgIERlc2lyZWRDb3VudDogMixcbiAgICBFbmFibGVFQ1NNYW5hZ2VkVGFnczogZmFsc2UsXG4gICAgTGF1bmNoVHlwZTogXCJGQVJHQVRFXCIsXG4gICAgTmV0d29ya0NvbmZpZ3VyYXRpb246IHtcbiAgICAgIEF3c3ZwY0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgQXNzaWduUHVibGljSXA6IFwiRElTQUJMRURcIixcbiAgICAgICAgU2VjdXJpdHlHcm91cHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcInRlc3RzZzg3MkVCNDhBXCIsXG4gICAgICAgICAgICAgIFwiR3JvdXBJZFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBTdWJuZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgUmVmOiBcIlZwY1ByaXZhdGVTdWJuZXQxU3VibmV0NTM2Qjk5N0FcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgUmVmOiBcIlZwY1ByaXZhdGVTdWJuZXQyU3VibmV0Mzc4OEFBQTFcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAgUGxhdGZvcm1WZXJzaW9uOiBcIkxBVEVTVFwiLFxuICAgIFRhc2tEZWZpbml0aW9uOiB7XG4gICAgICBSZWY6IFwidGVzdHRhc2tkZWZGOTI0QUQ1OFwiXG4gICAgfVxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDUzo6VGFza0RlZmluaXRpb25cIiwge1xuICAgIENvbnRhaW5lckRlZmluaXRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIEltYWdlOiB7XG4gICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBcIjEyMzQ1Njc4OTAxMi5ka3IuZWNyLnVzLWVhc3QtMS5cIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFJlZjogXCJBV1M6OlVSTFN1ZmZpeFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiL2Zha2UtcmVwbzpsYXRlc3RcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICBdLFxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cFwiLCB7XG4gICAgR3JvdXBEZXNjcmlwdGlvbjogJ0NvbnN0cnVjdCBjcmVhdGVkIHNlY3VyaXR5IGdyb3VwJ1xuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvQ291bnRSZXNvdXJjZXMoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwgMyk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwge1xuICAgIFZwY0VuZHBvaW50VHlwZTogXCJJbnRlcmZhY2VcIixcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwge1xuICAgIFZwY0VuZHBvaW50VHlwZTogXCJHYXRld2F5XCIsXG4gIH0pO1xuXG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGFsbCBkZWZhdWx0cyBpbiBpc29sYXRlZCBWUEMnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgdGVzdFZwYyA9IENyZWF0ZUlzb2xhdGVkVGVzdFZwYyhzdGFjayk7XG4gIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKHN0YWNrLFxuICAgICd0ZXN0JyxcbiAgICB0ZXN0VnBjLFxuICAgIHVuZGVmaW5lZCxcbiAgICBmYWtlRWNyUmVwb0Fybik7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUNTOjpTZXJ2aWNlXCIsIHtcbiAgICBDbHVzdGVyOiB7XG4gICAgICBSZWY6IFwidGVzdGNsdXN0ZXJERjhCMEQxOVwiXG4gICAgfSxcbiAgICBEZXBsb3ltZW50Q29uZmlndXJhdGlvbjoge1xuICAgICAgTWF4aW11bVBlcmNlbnQ6IDE1MCxcbiAgICAgIE1pbmltdW1IZWFsdGh5UGVyY2VudDogNzVcbiAgICB9LFxuICAgIERlc2lyZWRDb3VudDogMixcbiAgICBFbmFibGVFQ1NNYW5hZ2VkVGFnczogZmFsc2UsXG4gICAgTGF1bmNoVHlwZTogXCJGQVJHQVRFXCIsXG4gICAgTmV0d29ya0NvbmZpZ3VyYXRpb246IHtcbiAgICAgIEF3c3ZwY0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgQXNzaWduUHVibGljSXA6IFwiRElTQUJMRURcIixcbiAgICAgICAgU2VjdXJpdHlHcm91cHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcInRlc3RzZzg3MkVCNDhBXCIsXG4gICAgICAgICAgICAgIFwiR3JvdXBJZFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBTdWJuZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgUmVmOiBcIlZwY2lzb2xhdGVkU3VibmV0MVN1Ym5ldEU2MkIxQjlCXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFJlZjogXCJWcGNpc29sYXRlZFN1Ym5ldDJTdWJuZXQzOTIxNzA1NVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICBQbGF0Zm9ybVZlcnNpb246IFwiTEFURVNUXCIsXG4gICAgVGFza0RlZmluaXRpb246IHtcbiAgICAgIFJlZjogXCJ0ZXN0dGFza2RlZkY5MjRBRDU4XCJcbiAgICB9XG4gIH0pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlTGlrZShcIkFXUzo6RUNTOjpUYXNrRGVmaW5pdGlvblwiLCB7XG4gICAgQ29udGFpbmVyRGVmaW5pdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgSW1hZ2U6IHtcbiAgICAgICAgICBcIkZuOjpKb2luXCI6IFtcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIFwiMTIzNDU2Nzg5MDEyLmRrci5lY3IudXMtZWFzdC0xLlwiLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgUmVmOiBcIkFXUzo6VVJMU3VmZml4XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCIvZmFrZS1yZXBvOmxhdGVzdFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIF0sXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9Db3VudFJlc291cmNlcyhcIkFXUzo6RUMyOjpWUENFbmRwb2ludFwiLCAzKTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUMyOjpWUENFbmRwb2ludFwiLCB7XG4gICAgVnBjRW5kcG9pbnRUeXBlOiBcIkludGVyZmFjZVwiLFxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUMyOjpWUENFbmRwb2ludFwiLCB7XG4gICAgVnBjRW5kcG9pbnRUeXBlOiBcIkdhdGV3YXlcIixcbiAgfSk7XG5cbn0pO1xuXG50ZXN0KCdUZXN0IHdpdGggY3VzdG9tIHRhc2sgZGVmaW5pdGlvbicsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB0ZXN0VnBjID0gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrKTtcbiAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgJ3Rlc3QnLFxuICAgIHRlc3RWcGMsXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIHtcbiAgICAgIGltYWdlOiBDcmVhdGVJbWFnZShzdGFjaylcbiAgICB9XG4gICk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDUzo6VGFza0RlZmluaXRpb25cIiwge1xuICAgIENvbnRhaW5lckRlZmluaXRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIEltYWdlOiB7XG4gICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBcIjEyMzQ1Njc4OTAxMi5ka3IuZWNyLnVzLWVhc3QtMS5cIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFJlZjogXCJBV1M6OlVSTFN1ZmZpeFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiL2V4aXN0aW5nSW1hZ2U6bGF0ZXN0XCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgXSxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGN1c3RvbSBjb250YWluZXIgZGVmaW5pdGlvbicsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB0ZXN0VnBjID0gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrKTtcbiAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgJ3Rlc3QnLFxuICAgIHRlc3RWcGMsXG4gICAgdW5kZWZpbmVkLFxuICAgIGZha2VFY3JSZXBvQXJuLFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IGNwdTogMjU2LCBtZW1vcnlMaW1pdE1pQjogNTEyICB9XG4gICk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDUzo6VGFza0RlZmluaXRpb25cIiwge1xuICAgIENwdTogJzI1NicsXG4gICAgTWVtb3J5OiAnNTEyJ1xuICB9KTtcbn0pO1xuXG50ZXN0KCdUZXN0IHdpdGggY3VzdG9tIGNsdXN0ZXIgcHJvcHMnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGNsdXN0ZXJOYW1lID0gJ3Rlc3QtdmFsdWUnO1xuXG4gIGNvbnN0IHRlc3RWcGMgPSBDcmVhdGVJc29sYXRlZFRlc3RWcGMoc3RhY2spO1xuICBDcmVhdGVGYXJnYXRlU2VydmljZShzdGFjayxcbiAgICAndGVzdCcsXG4gICAgdGVzdFZwYyxcbiAgICB7IGNsdXN0ZXJOYW1lIH0sXG4gICAgZmFrZUVjclJlcG9Bcm4sXG4gICAgdW5kZWZpbmVkLFxuICApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQ1M6OkNsdXN0ZXJcIiwge1xuICAgIENsdXN0ZXJOYW1lOiBjbHVzdGVyTmFtZSxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGN1c3RvbSBGYXJnYXRlIFNlcnZpY2UgcHJvcHMnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHNlcnZpY2VOYW1lID0gJ3Rlc3QtdmFsdWUnO1xuXG4gIGNvbnN0IHRlc3RWcGMgPSBDcmVhdGVJc29sYXRlZFRlc3RWcGMoc3RhY2spO1xuICBDcmVhdGVGYXJnYXRlU2VydmljZShzdGFjayxcbiAgICAndGVzdCcsXG4gICAgdGVzdFZwYyxcbiAgICB1bmRlZmluZWQsXG4gICAgZmFrZUVjclJlcG9Bcm4sXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgeyBzZXJ2aWNlTmFtZSAgfVxuICApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQ1M6OlNlcnZpY2VcIiwge1xuICAgIFNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGN1c3RvbSBzZWN1cml0eSBncm91cCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgZ3JvdXBEZXNjcmlwdGlvbiA9ICdUZXN0IGdlbmVyYXRlZCBzZWN1cml0eSBncm91cCc7XG5cbiAgY29uc3QgdGVzdFZwYyA9IENyZWF0ZUlzb2xhdGVkVGVzdFZwYyhzdGFjayk7XG5cbiAgY29uc3QgY3VzdG9tU2cgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAoc3RhY2ssICdjdXN0b20tc2cnLCB7XG4gICAgZGlzYWJsZUlubGluZVJ1bGVzOiB0cnVlLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IGZhbHNlLFxuICAgIHZwYzogdGVzdFZwYyxcbiAgICBkZXNjcmlwdGlvbjogZ3JvdXBEZXNjcmlwdGlvblxuICB9KTtcblxuICBDcmVhdGVGYXJnYXRlU2VydmljZShzdGFjayxcbiAgICAndGVzdCcsXG4gICAgdGVzdFZwYyxcbiAgICB1bmRlZmluZWQsXG4gICAgZmFrZUVjclJlcG9Bcm4sXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgeyBzZWN1cml0eUdyb3VwczogWyBjdXN0b21TZyBdICB9XG4gICk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUMyOjpTZWN1cml0eUdyb3VwXCIsIHtcbiAgICBHcm91cERlc2NyaXB0aW9uOiBncm91cERlc2NyaXB0aW9uLFxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS5ub3QudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cFwiLCB7XG4gICAgR3JvdXBEZXNjcmlwdGlvbjogJ0NvbnN0cnVjdCBjcmVhdGVkIHNlY3VyaXR5IGdyb3VwJyxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCBubyBpbWFnZSByZXBvIG9yIGltYWdlIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IHRlc3RWcGMgPSBDcmVhdGVJc29sYXRlZFRlc3RWcGMoc3RhY2spO1xuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgICAndGVzdCcsXG4gICAgICB0ZXN0VnBjKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJOb3QgSW1wbGVtZW50ZWQgLSBpbWFnZSB3aXRob3V0IHJlcG8gbmFtZSBhbmQgdmVyc2lvblwiXG4gICk7XG59KTtcblxuLy8gQ2hlY2tGYXJnYXRlUHJvcHMgdGVzdHNcbnRlc3QoJ0NoZWNrIHByb3ZpZGluZyBleGlzdGluZyBzZXJ2aWNlIEFORCBwcm9wcyBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgY29uc3QgcHJvcHMgPSB7XG4gICAgZXhpc3RpbmdGYXJnYXRlU2VydmljZU9iamVjdDogeyBwbGFjZTogXCJob2xkZXJcIiB9LFxuICAgIGV4aXN0aW5nSW1hZ2VPYmplY3Q6IHsgcGxhY2U6IFwiaG9sZGVyMlwiIH1cbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgZGVmYXVsdHMuQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHMpO1xuICB9O1xuXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcIklmIHlvdSBwcm92aWRlIGFuIGV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3QsIHlvdSBjYW5ub3QgcHJvdmlkZSBhbnkgcHJvcHMgZGVmaW5pbmcgYSBuZXcgc2VydmljZVxcblwiKTtcbn0pO1xuXG50ZXN0KCdDaGVjayBwcm92aWRpbmcgZXhpc3RpbmcgaW1hZ2UgQU5EIHByb3BzIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHtcbiAgICBleGlzdGluZ0ltYWdlT2JqZWN0OiB7IHBsYWNlOiBcImhvbGRlclwiIH0sXG4gICAgZWNyUmVwb3NpdG9yeUFybjogeyBwbGFjZTogXCJob2xkZXIyXCIgfVxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0ZhcmdhdGVQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFwiSWYgeW91IHByb3ZpZGUgYW4gZXhpc3RpbmdJbWFnZU9iamVjdCB0aGVuIHlvdSBjYW5ub3QgcHJvdmlkZSBhbiBlY3JSZXBvc2l0b3J5QXJuIG5vciBlY3JJbWFnZVZlcnNpb25cXG5cIik7XG59KTtcblxudGVzdCgnQ2hlY2sgcHJvdmlkaW5nIHZwYyBpbiB0aGUgdGFyZ2V0R3JvdXBzUHJvcHMgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gIGNvbnN0IHByb3BzID0ge1xuICAgIHRhcmdldEdyb3VwUHJvcHM6IHsgIHZwYzogeyBwbGFjZTogXCJob2xkZXJcIiB9IH0sXG4gIH07XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIGRlZmF1bHRzLkNoZWNrRmFyZ2F0ZVByb3BzKHByb3BzKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXCJQcm92aWRlIGFsbCBWUEMgaW5mbyBhdCBDb25zdHJ1Y3QgbGV2ZWwsIG5vdCB3aXRoaW4gdGFyZ2V0R3JvdXBQcm9wc1xcblwiKTtcbn0pO1xuXG50ZXN0KCdDaGVjayBwcm92aWRpbmcgdGFza0RlZmluaXRpb24gaW4gdGhlIGZhcmdhdGVTZXJ2aWNlUHJvcHMgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGZhcmdhdGVTZXJ2aWNlUHJvcHM6IHsgIHRhc2tEZWZpbml0aW9uOiB7IHBsYWNlOiBcImhvbGRlclwiIH0gfSxcbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgZGVmYXVsdHMuQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHMpO1xuICB9O1xuXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcIlRoZSBjb25zdHJ1Y3QgY2Fubm90IGFjY2VwdCBhbiBleGlzdGluZyB0YXNrIGRlZmluaXRpb24gaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wc1xcblwiKTtcbn0pO1xuXG50ZXN0KCdDaGVjayBwcm92aWRpbmcgY2x1c3RlciBpbiBmYXJnYXRlU2VydmljZVByb3BzIEFORCBjbHVzdGVyUHJvcHMgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGZhcmdhdGVTZXJ2aWNlUHJvcHM6IHsgIGNsdXN0ZXI6IHsgcGxhY2U6IFwiaG9sZGVyXCIgfSB9LFxuICAgIGNsdXN0ZXJQcm9wczogeyBwbGFjZTogXCJob2xkZXIyXCJ9LFxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0ZhcmdhdGVQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFwiSWYgeW91IHByb3ZpZGUgYSBjbHVzdGVyIGluIGZhcmdhdGVTZXJ2aWNlUHJvcHMgdGhlbiB5b3UgY2Fubm90IHByb3ZpZGUgY2x1c3RlclByb3BzXFxuXCIpO1xufSk7XG5cbnRlc3QoJ0NoZWNrIHByb3ZpZGluZyB2cGMgaW4gY2x1c3RlclByb3BzIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHtcbiAgICBjbHVzdGVyUHJvcHM6IHsgIHZwYzogeyBwbGFjZTogXCJob2xkZXJcIiB9IH0sXG4gIH07XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIGRlZmF1bHRzLkNoZWNrRmFyZ2F0ZVByb3BzKHByb3BzKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXCJBbGwgc2VydmljZXMgaW4gdGhlIGNvbnN0cnVjdCB1c2UgdGhlIGNvbnN0cnVjdCBWUEMsIHlvdSBjYW5ub3Qgc3BlY2lmeSBhIFZQQyBpbiBjbHVzdGVyUHJvcHNcXG5cIik7XG59KTtcblxudGVzdCgnQ2hlY2sgcHJvdmlkaW5nIGV4aXN0aW5nIHNlcnZpY2Ugd2l0aG91dCBleGlzdGluZyBjb250YWluZXIgYW5kIGV4aXN0aW5nIFZQQyBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgY29uc3QgcHJvcHMgPSB7XG4gICAgZXhpc3RpbmdGYXJnYXRlU2VydmljZU9iamVjdDogeyBwbGFjZTogXCJob2xkZXJcIiAgfSxcbiAgICBleGlzdGluZ1ZwYzogIHsgcGxhY2U6IFwiaG9sZGVyMlwiICB9LFxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0ZhcmdhdGVQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiSWYgYW4gZXhpc3RpbmcgU2VydmljZSBpcyBpbmRpY2F0ZWQgYnkgc3VwcGx5aW5nIGVpdGhlciBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IG9yIGV4aXN0aW5nQ29udGFpbmVyRGVmaW5pdGlvbk9iamVjdCwgdGhlbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCBleGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QsIGFuZCBleGlzdGluZ1ZwYyBtdXN0IGFsbCBiZSBwcm92aWRlZFxcblwiXG4gICk7XG59KTtcblxuLy8gSGVscGVyIGZ1bmN0aW9uc1xuZnVuY3Rpb24gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrOiBTdGFjaykge1xuICByZXR1cm4gZGVmYXVsdHMuYnVpbGRWcGMoc3RhY2ssIHtcbiAgICBkZWZhdWx0VnBjUHJvcHM6IGRlZmF1bHRzLkRlZmF1bHRJc29sYXRlZFZwY1Byb3BzKCksXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBDcmVhdGVJbWFnZShzdGFjazogU3RhY2spOiBlY3MuQ29udGFpbmVySW1hZ2Uge1xuICByZXR1cm4gZWNzLkNvbnRhaW5lckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KFxuICAgIGVjci5SZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5QXJuKFxuICAgICAgc3RhY2ssXG4gICAgICBgdGVzdC1jb250YWluZXJgLFxuICAgICAgLy8gVGhpcyBpcyBkaWZmZXJlbnQgdGhhbiBmYWtlRWNyUmVwb0FybiBiZWNhdXNlIHdlJ3JlIHRlc3RpbmcgY3VzdG9tIGltYWdlXG4gICAgICBcImFybjphd3M6ZWNyOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6cmVwb3NpdG9yeS9leGlzdGluZ0ltYWdlXCJcbiAgICApLFxuICAgIFwibGF0ZXN0XCJcbiAgKTtcbn0iXX0=
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1oZWxwZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhcmdhdGUtaGVscGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILCtCQUErQjtBQUMvQiw2Q0FBb0M7QUFDcEMsMEJBQTBDO0FBQzFDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLGdDQUE4QjtBQUU5QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBRTFCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0Msd0JBQW9CLENBQUMsS0FBSyxFQUN4QixNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRTtRQUNoRCxPQUFPLEVBQUU7WUFDUCxHQUFHLEVBQUUscUJBQXFCO1NBQzNCO1FBQ0QsdUJBQXVCLEVBQUU7WUFDdkIsY0FBYyxFQUFFLEdBQUc7WUFDbkIscUJBQXFCLEVBQUUsRUFBRTtTQUMxQjtRQUNELFlBQVksRUFBRSxDQUFDO1FBQ2Ysb0JBQW9CLEVBQUUsS0FBSztRQUMzQixVQUFVLEVBQUUsU0FBUztRQUNyQixvQkFBb0IsRUFBRTtZQUNwQixtQkFBbUIsRUFBRTtnQkFDbkIsY0FBYyxFQUFFLFVBQVU7Z0JBQzFCLGNBQWMsRUFBRTtvQkFDZDt3QkFDRSxZQUFZLEVBQUU7NEJBQ1osZ0JBQWdCOzRCQUNoQixTQUFTO3lCQUNWO3FCQUNGO2lCQUNGO2dCQUNELE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxHQUFHLEVBQUUsaUNBQWlDO3FCQUN2QztvQkFDRDt3QkFDRSxHQUFHLEVBQUUsaUNBQWlD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LCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDcmVhdGVGYXJnYXRlU2VydmljZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0ICdAYXdzLWNkay9hc3NlcnQvamVzdCc7XG5cbnRlc3QoJ1Rlc3Qgd2l0aCBhbGwgZGVmYXVsdHMnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgdGVzdFZwYyA9IGRlZmF1bHRzLmdldFRlc3RWcGMoc3RhY2spO1xuICBDcmVhdGVGYXJnYXRlU2VydmljZShzdGFjayxcbiAgICAndGVzdCcsXG4gICAgdGVzdFZwYyxcbiAgICB1bmRlZmluZWQsXG4gICAgZGVmYXVsdHMuZmFrZUVjclJlcG9Bcm4pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDUzo6U2VydmljZVwiLCB7XG4gICAgQ2x1c3Rlcjoge1xuICAgICAgUmVmOiBcInRlc3RjbHVzdGVyREY4QjBEMTlcIlxuICAgIH0sXG4gICAgRGVwbG95bWVudENvbmZpZ3VyYXRpb246IHtcbiAgICAgIE1heGltdW1QZXJjZW50OiAxNTAsXG4gICAgICBNaW5pbXVtSGVhbHRoeVBlcmNlbnQ6IDc1XG4gICAgfSxcbiAgICBEZXNpcmVkQ291bnQ6IDIsXG4gICAgRW5hYmxlRUNTTWFuYWdlZFRhZ3M6IGZhbHNlLFxuICAgIExhdW5jaFR5cGU6IFwiRkFSR0FURVwiLFxuICAgIE5ldHdvcmtDb25maWd1cmF0aW9uOiB7XG4gICAgICBBd3N2cGNDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIEFzc2lnblB1YmxpY0lwOiBcIkRJU0FCTEVEXCIsXG4gICAgICAgIFNlY3VyaXR5R3JvdXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJ0ZXN0c2c4NzJFQjQ4QVwiLFxuICAgICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgU3VibmV0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFJlZjogXCJWcGNQcml2YXRlU3VibmV0MVN1Ym5ldDUzNkI5OTdBXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFJlZjogXCJWcGNQcml2YXRlU3VibmV0MlN1Ym5ldDM3ODhBQUExXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIFBsYXRmb3JtVmVyc2lvbjogXCJMQVRFU1RcIixcbiAgICBUYXNrRGVmaW5pdGlvbjoge1xuICAgICAgUmVmOiBcInRlc3R0YXNrZGVmRjkyNEFENThcIlxuICAgIH1cbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQ1M6OlRhc2tEZWZpbml0aW9uXCIsIHtcbiAgICBDb250YWluZXJEZWZpbml0aW9uczogW1xuICAgICAge1xuICAgICAgICBJbWFnZToge1xuICAgICAgICAgIFwiRm46OkpvaW5cIjogW1xuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgXCIxMjM0NTY3ODkwMTIuZGtyLmVjci51cy1lYXN0LTEuXCIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBSZWY6IFwiQVdTOjpVUkxTdWZmaXhcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIi9mYWtlLXJlcG86bGF0ZXN0XCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgXSxcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIiwge1xuICAgIEdyb3VwRGVzY3JpcHRpb246ICdDb25zdHJ1Y3QgY3JlYXRlZCBzZWN1cml0eSBncm91cCdcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0NvdW50UmVzb3VyY2VzKFwiQVdTOjpFQzI6OlZQQ0VuZHBvaW50XCIsIDMpO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpFQzI6OlZQQ0VuZHBvaW50XCIsIHtcbiAgICBWcGNFbmRwb2ludFR5cGU6IFwiSW50ZXJmYWNlXCIsXG4gIH0pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpFQzI6OlZQQ0VuZHBvaW50XCIsIHtcbiAgICBWcGNFbmRwb2ludFR5cGU6IFwiR2F0ZXdheVwiLFxuICB9KTtcblxufSk7XG5cbnRlc3QoJ1Rlc3Qgd2l0aCBhbGwgZGVmYXVsdHMgaW4gaXNvbGF0ZWQgVlBDJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IHRlc3RWcGMgPSBDcmVhdGVJc29sYXRlZFRlc3RWcGMoc3RhY2spO1xuICBDcmVhdGVGYXJnYXRlU2VydmljZShzdGFjayxcbiAgICAndGVzdCcsXG4gICAgdGVzdFZwYyxcbiAgICB1bmRlZmluZWQsXG4gICAgZGVmYXVsdHMuZmFrZUVjclJlcG9Bcm4pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDUzo6U2VydmljZVwiLCB7XG4gICAgQ2x1c3Rlcjoge1xuICAgICAgUmVmOiBcInRlc3RjbHVzdGVyREY4QjBEMTlcIlxuICAgIH0sXG4gICAgRGVwbG95bWVudENvbmZpZ3VyYXRpb246IHtcbiAgICAgIE1heGltdW1QZXJjZW50OiAxNTAsXG4gICAgICBNaW5pbXVtSGVhbHRoeVBlcmNlbnQ6IDc1XG4gICAgfSxcbiAgICBEZXNpcmVkQ291bnQ6IDIsXG4gICAgRW5hYmxlRUNTTWFuYWdlZFRhZ3M6IGZhbHNlLFxuICAgIExhdW5jaFR5cGU6IFwiRkFSR0FURVwiLFxuICAgIE5ldHdvcmtDb25maWd1cmF0aW9uOiB7XG4gICAgICBBd3N2cGNDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIEFzc2lnblB1YmxpY0lwOiBcIkRJU0FCTEVEXCIsXG4gICAgICAgIFNlY3VyaXR5R3JvdXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJ0ZXN0c2c4NzJFQjQ4QVwiLFxuICAgICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgU3VibmV0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFJlZjogXCJWcGNpc29sYXRlZFN1Ym5ldDFTdWJuZXRFNjJCMUI5QlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBSZWY6IFwiVnBjaXNvbGF0ZWRTdWJuZXQyU3VibmV0MzkyMTcwNTVcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAgUGxhdGZvcm1WZXJzaW9uOiBcIkxBVEVTVFwiLFxuICAgIFRhc2tEZWZpbml0aW9uOiB7XG4gICAgICBSZWY6IFwidGVzdHRhc2tkZWZGOTI0QUQ1OFwiXG4gICAgfVxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDUzo6VGFza0RlZmluaXRpb25cIiwge1xuICAgIENvbnRhaW5lckRlZmluaXRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIEltYWdlOiB7XG4gICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBcIjEyMzQ1Njc4OTAxMi5ka3IuZWNyLnVzLWVhc3QtMS5cIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFJlZjogXCJBV1M6OlVSTFN1ZmZpeFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiL2Zha2UtcmVwbzpsYXRlc3RcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICBdLFxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvQ291bnRSZXNvdXJjZXMoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwgMyk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwge1xuICAgIFZwY0VuZHBvaW50VHlwZTogXCJJbnRlcmZhY2VcIixcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRcIiwge1xuICAgIFZwY0VuZHBvaW50VHlwZTogXCJHYXRld2F5XCIsXG4gIH0pO1xuXG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGN1c3RvbSB0YXNrIGRlZmluaXRpb24nLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgdGVzdFZwYyA9IENyZWF0ZUlzb2xhdGVkVGVzdFZwYyhzdGFjayk7XG4gIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKHN0YWNrLFxuICAgICd0ZXN0JyxcbiAgICB0ZXN0VnBjLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZCxcbiAgICB7XG4gICAgICBpbWFnZTogQ3JlYXRlSW1hZ2Uoc3RhY2spXG4gICAgfVxuICApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQ1M6OlRhc2tEZWZpbml0aW9uXCIsIHtcbiAgICBDb250YWluZXJEZWZpbml0aW9uczogW1xuICAgICAge1xuICAgICAgICBJbWFnZToge1xuICAgICAgICAgIFwiRm46OkpvaW5cIjogW1xuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgXCIxMjM0NTY3ODkwMTIuZGtyLmVjci51cy1lYXN0LTEuXCIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBSZWY6IFwiQVdTOjpVUkxTdWZmaXhcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIi9leGlzdGluZ0ltYWdlOmxhdGVzdFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIF0sXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgd2l0aCBjdXN0b20gY29udGFpbmVyIGRlZmluaXRpb24nLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgdGVzdFZwYyA9IENyZWF0ZUlzb2xhdGVkVGVzdFZwYyhzdGFjayk7XG4gIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKHN0YWNrLFxuICAgICd0ZXN0JyxcbiAgICB0ZXN0VnBjLFxuICAgIHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0cy5mYWtlRWNyUmVwb0FybixcbiAgICB1bmRlZmluZWQsXG4gICAgeyBjcHU6IDI1NiwgbWVtb3J5TGltaXRNaUI6IDUxMiAgfVxuICApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpFQ1M6OlRhc2tEZWZpbml0aW9uXCIsIHtcbiAgICBDcHU6ICcyNTYnLFxuICAgIE1lbW9yeTogJzUxMidcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCB3aXRoIGN1c3RvbSBjbHVzdGVyIHByb3BzJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjbHVzdGVyTmFtZSA9ICd0ZXN0LXZhbHVlJztcblxuICBjb25zdCB0ZXN0VnBjID0gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrKTtcbiAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgJ3Rlc3QnLFxuICAgIHRlc3RWcGMsXG4gICAgeyBjbHVzdGVyTmFtZSB9LFxuICAgIGRlZmF1bHRzLmZha2VFY3JSZXBvQXJuLFxuICAgIHVuZGVmaW5lZCxcbiAgKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlTGlrZShcIkFXUzo6RUNTOjpDbHVzdGVyXCIsIHtcbiAgICBDbHVzdGVyTmFtZTogY2x1c3Rlck5hbWUsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgd2l0aCBjdXN0b20gRmFyZ2F0ZSBTZXJ2aWNlIHByb3BzJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBzZXJ2aWNlTmFtZSA9ICd0ZXN0LXZhbHVlJztcblxuICBjb25zdCB0ZXN0VnBjID0gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrKTtcbiAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgJ3Rlc3QnLFxuICAgIHRlc3RWcGMsXG4gICAgdW5kZWZpbmVkLFxuICAgIGRlZmF1bHRzLmZha2VFY3JSZXBvQXJuLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIHsgc2VydmljZU5hbWUgIH1cbiAgKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlTGlrZShcIkFXUzo6RUNTOjpTZXJ2aWNlXCIsIHtcbiAgICBTZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgd2l0aCBjdXN0b20gc2VjdXJpdHkgZ3JvdXAnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGdyb3VwRGVzY3JpcHRpb24gPSAnVGVzdCBnZW5lcmF0ZWQgc2VjdXJpdHkgZ3JvdXAnO1xuXG4gIGNvbnN0IHRlc3RWcGMgPSBDcmVhdGVJc29sYXRlZFRlc3RWcGMoc3RhY2spO1xuXG4gIGNvbnN0IGN1c3RvbVNnID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHN0YWNrLCAnY3VzdG9tLXNnJywge1xuICAgIGRpc2FibGVJbmxpbmVSdWxlczogdHJ1ZSxcbiAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICB2cGM6IHRlc3RWcGMsXG4gICAgZGVzY3JpcHRpb246IGdyb3VwRGVzY3JpcHRpb25cbiAgfSk7XG5cbiAgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2Uoc3RhY2ssXG4gICAgJ3Rlc3QnLFxuICAgIHRlc3RWcGMsXG4gICAgdW5kZWZpbmVkLFxuICAgIGRlZmF1bHRzLmZha2VFY3JSZXBvQXJuLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIHsgc2VjdXJpdHlHcm91cHM6IFsgY3VzdG9tU2cgXSAgfVxuICApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cFwiLCB7XG4gICAgR3JvdXBEZXNjcmlwdGlvbjogZ3JvdXBEZXNjcmlwdGlvbixcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykubm90LnRvSGF2ZVJlc291cmNlKFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIiwge1xuICAgIEdyb3VwRGVzY3JpcHRpb246ICdDb25zdHJ1Y3QgY3JlYXRlZCBzZWN1cml0eSBncm91cCcsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgbm8gaW1hZ2UgcmVwbyBvciBpbWFnZSBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB0ZXN0VnBjID0gQ3JlYXRlSXNvbGF0ZWRUZXN0VnBjKHN0YWNrKTtcbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKHN0YWNrLFxuICAgICAgJ3Rlc3QnLFxuICAgICAgdGVzdFZwYyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiTm90IEltcGxlbWVudGVkIC0gaW1hZ2Ugd2l0aG91dCByZXBvIG5hbWUgYW5kIHZlcnNpb25cIlxuICApO1xufSk7XG5cbi8vIENoZWNrRmFyZ2F0ZVByb3BzIHRlc3RzXG50ZXN0KCdDaGVjayBwcm92aWRpbmcgZXhpc3Rpbmcgc2VydmljZSBBTkQgcHJvcHMgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3Q6IHsgcGxhY2U6IFwiaG9sZGVyXCIgfSxcbiAgICBleGlzdGluZ0ltYWdlT2JqZWN0OiB7IHBsYWNlOiBcImhvbGRlcjJcIiB9XG4gIH07XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIGRlZmF1bHRzLkNoZWNrRmFyZ2F0ZVByb3BzKHByb3BzKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXCJJZiB5b3UgcHJvdmlkZSBhbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCB5b3UgY2Fubm90IHByb3ZpZGUgYW55IHByb3BzIGRlZmluaW5nIGEgbmV3IHNlcnZpY2VcXG5cIik7XG59KTtcblxudGVzdCgnQ2hlY2sgcHJvdmlkaW5nIGV4aXN0aW5nIGltYWdlIEFORCBwcm9wcyBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgY29uc3QgcHJvcHMgPSB7XG4gICAgZXhpc3RpbmdJbWFnZU9iamVjdDogeyBwbGFjZTogXCJob2xkZXJcIiB9LFxuICAgIGVjclJlcG9zaXRvcnlBcm46IHsgcGxhY2U6IFwiaG9sZGVyMlwiIH1cbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgZGVmYXVsdHMuQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHMpO1xuICB9O1xuXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcIklmIHlvdSBwcm92aWRlIGFuIGV4aXN0aW5nSW1hZ2VPYmplY3QgdGhlbiB5b3UgY2Fubm90IHByb3ZpZGUgYW4gZWNyUmVwb3NpdG9yeUFybiBub3IgZWNySW1hZ2VWZXJzaW9uXFxuXCIpO1xufSk7XG5cbnRlc3QoJ0NoZWNrIHByb3ZpZGluZyB2cGMgaW4gdGhlIHRhcmdldEdyb3Vwc1Byb3BzIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHtcbiAgICB0YXJnZXRHcm91cFByb3BzOiB7ICB2cGM6IHsgcGxhY2U6IFwiaG9sZGVyXCIgfSB9LFxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0ZhcmdhdGVQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFwiUHJvdmlkZSBhbGwgVlBDIGluZm8gYXQgQ29uc3RydWN0IGxldmVsLCBub3Qgd2l0aGluIHRhcmdldEdyb3VwUHJvcHNcXG5cIik7XG59KTtcblxudGVzdCgnQ2hlY2sgcHJvdmlkaW5nIHRhc2tEZWZpbml0aW9uIGluIHRoZSBmYXJnYXRlU2VydmljZVByb3BzIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHtcbiAgICBmYXJnYXRlU2VydmljZVByb3BzOiB7ICB0YXNrRGVmaW5pdGlvbjogeyBwbGFjZTogXCJob2xkZXJcIiB9IH0sXG4gIH07XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIGRlZmF1bHRzLkNoZWNrRmFyZ2F0ZVByb3BzKHByb3BzKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXCJUaGUgY29uc3RydWN0IGNhbm5vdCBhY2NlcHQgYW4gZXhpc3RpbmcgdGFzayBkZWZpbml0aW9uIGluIGZhcmdhdGVTZXJ2aWNlUHJvcHNcXG5cIik7XG59KTtcblxudGVzdCgnQ2hlY2sgcHJvdmlkaW5nIGNsdXN0ZXIgaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wcyBBTkQgY2x1c3RlclByb3BzIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHtcbiAgICBmYXJnYXRlU2VydmljZVByb3BzOiB7ICBjbHVzdGVyOiB7IHBsYWNlOiBcImhvbGRlclwiIH0gfSxcbiAgICBjbHVzdGVyUHJvcHM6IHsgcGxhY2U6IFwiaG9sZGVyMlwifSxcbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgZGVmYXVsdHMuQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHMpO1xuICB9O1xuXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcIklmIHlvdSBwcm92aWRlIGEgY2x1c3RlciBpbiBmYXJnYXRlU2VydmljZVByb3BzIHRoZW4geW91IGNhbm5vdCBwcm92aWRlIGNsdXN0ZXJQcm9wc1xcblwiKTtcbn0pO1xuXG50ZXN0KCdDaGVjayBwcm92aWRpbmcgdnBjIGluIGNsdXN0ZXJQcm9wcyBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgY29uc3QgcHJvcHMgPSB7XG4gICAgY2x1c3RlclByb3BzOiB7ICB2cGM6IHsgcGxhY2U6IFwiaG9sZGVyXCIgfSB9LFxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0ZhcmdhdGVQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFwiQWxsIHNlcnZpY2VzIGluIHRoZSBjb25zdHJ1Y3QgdXNlIHRoZSBjb25zdHJ1Y3QgVlBDLCB5b3UgY2Fubm90IHNwZWNpZnkgYSBWUEMgaW4gY2x1c3RlclByb3BzXFxuXCIpO1xufSk7XG5cbnRlc3QoJ0NoZWNrIHByb3ZpZGluZyBleGlzdGluZyBzZXJ2aWNlIHdpdGhvdXQgZXhpc3RpbmcgY29udGFpbmVyIGFuZCBleGlzdGluZyBWUEMgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3Q6IHsgcGxhY2U6IFwiaG9sZGVyXCIgIH0sXG4gICAgZXhpc3RpbmdWcGM6ICB7IHBsYWNlOiBcImhvbGRlcjJcIiAgfSxcbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgZGVmYXVsdHMuQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHMpO1xuICB9O1xuXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICBcIklmIGFuIGV4aXN0aW5nIFNlcnZpY2UgaXMgaW5kaWNhdGVkIGJ5IHN1cHBseWluZyBlaXRoZXIgZXhpc3RpbmdGYXJnYXRlU2VydmljZU9iamVjdCBvciBleGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QsIHRoZW4gZXhpc3RpbmdGYXJnYXRlU2VydmljZU9iamVjdCwgZXhpc3RpbmdDb250YWluZXJEZWZpbml0aW9uT2JqZWN0LCBhbmQgZXhpc3RpbmdWcGMgbXVzdCBhbGwgYmUgcHJvdmlkZWRcXG5cIlxuICApO1xufSk7XG5cbi8vIEhlbHBlciBmdW5jdGlvbnNcbmZ1bmN0aW9uIENyZWF0ZUlzb2xhdGVkVGVzdFZwYyhzdGFjazogU3RhY2spIHtcbiAgcmV0dXJuIGRlZmF1bHRzLmJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gQ3JlYXRlSW1hZ2Uoc3RhY2s6IFN0YWNrKTogZWNzLkNvbnRhaW5lckltYWdlIHtcbiAgcmV0dXJuIGVjcy5Db250YWluZXJJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShcbiAgICBlY3IuUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeUFybihcbiAgICAgIHN0YWNrLFxuICAgICAgYHRlc3QtY29udGFpbmVyYCxcbiAgICAgIC8vIFRoaXMgaXMgZGlmZmVyZW50IHRoYW4gZmFrZUVjclJlcG9Bcm4gYmVjYXVzZSB3ZSdyZSB0ZXN0aW5nIGN1c3RvbSBpbWFnZVxuICAgICAgXCJhcm46YXdzOmVjcjp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOnJlcG9zaXRvcnkvZXhpc3RpbmdJbWFnZVwiXG4gICAgKSxcbiAgICBcImxhdGVzdFwiXG4gICk7XG59Il19
|
package/test/test-helper.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { Construct } from 'constructs';
|
|
|
14
14
|
import { Bucket, BucketProps } from "aws-cdk-lib/aws-s3";
|
|
15
15
|
import { Stack } from "aws-cdk-lib";
|
|
16
16
|
import * as acm from 'aws-cdk-lib/aws-certificatemanager';
|
|
17
|
+
export declare const fakeEcrRepoArn = "arn:aws:ecr:us-east-1:123456789012:repository/fake-repo";
|
|
17
18
|
export declare function CreateScrapBucket(scope: Construct, props?: BucketProps | any): Bucket;
|
|
18
19
|
/**
|
|
19
20
|
* @summary Creates a stack name for Integration tests
|
|
@@ -22,5 +23,5 @@ export declare function CreateScrapBucket(scope: Construct, props?: BucketProps
|
|
|
22
23
|
* e.g. 'integ.apigateway-dynamodb-CRUD.js' will return 'apigateway-dynamodb-CRUD'
|
|
23
24
|
*/
|
|
24
25
|
export declare function generateIntegStackName(filename: string): string;
|
|
25
|
-
export declare function getTestVpc(stack: Stack): import("aws-cdk-lib/aws-ec2").IVpc;
|
|
26
|
+
export declare function getTestVpc(stack: Stack, publicFacing?: boolean): import("aws-cdk-lib/aws-ec2").IVpc;
|
|
26
27
|
export declare function getFakeCertificate(scope: Construct, id: string): acm.ICertificate;
|
package/test/test-helper.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* and limitations under the License.
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.getFakeCertificate = exports.getTestVpc = exports.generateIntegStackName = exports.CreateScrapBucket = void 0;
|
|
15
|
+
exports.getFakeCertificate = exports.getTestVpc = exports.generateIntegStackName = exports.CreateScrapBucket = exports.fakeEcrRepoArn = void 0;
|
|
16
16
|
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
17
17
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
18
18
|
const vpc_helper_1 = require("../lib/vpc-helper");
|
|
@@ -20,6 +20,7 @@ const vpc_defaults_1 = require("../lib/vpc-defaults");
|
|
|
20
20
|
const utils_1 = require("../lib/utils");
|
|
21
21
|
const path = require("path");
|
|
22
22
|
const acm = require("aws-cdk-lib/aws-certificatemanager");
|
|
23
|
+
exports.fakeEcrRepoArn = 'arn:aws:ecr:us-east-1:123456789012:repository/fake-repo';
|
|
23
24
|
// Creates a bucket used for testing - minimal properties, destroyed after test
|
|
24
25
|
function CreateScrapBucket(scope, props) {
|
|
25
26
|
const defaultProps = {
|
|
@@ -65,9 +66,11 @@ function generateIntegStackName(filename) {
|
|
|
65
66
|
}
|
|
66
67
|
exports.generateIntegStackName = generateIntegStackName;
|
|
67
68
|
// Helper Functions
|
|
68
|
-
function getTestVpc(stack) {
|
|
69
|
+
function getTestVpc(stack, publicFacing = true) {
|
|
69
70
|
return vpc_helper_1.buildVpc(stack, {
|
|
70
|
-
defaultVpcProps:
|
|
71
|
+
defaultVpcProps: publicFacing ?
|
|
72
|
+
vpc_defaults_1.DefaultPublicPrivateVpcProps() :
|
|
73
|
+
vpc_defaults_1.DefaultIsolatedVpcProps(),
|
|
71
74
|
constructVpcProps: {
|
|
72
75
|
enableDnsHostnames: true,
|
|
73
76
|
enableDnsSupport: true,
|
|
@@ -80,4 +83,4 @@ function getFakeCertificate(scope, id) {
|
|
|
80
83
|
return acm.Certificate.fromCertificateArn(scope, id, "arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012");
|
|
81
84
|
}
|
|
82
85
|
exports.getFakeCertificate = getFakeCertificate;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUlILCtDQUEyRTtBQUMzRSw2Q0FBbUQ7QUFDbkQsa0RBQTZDO0FBQzdDLHNEQUE0RjtBQUM1Rix3Q0FBa0U7QUFDbEUsNkJBQTZCO0FBQzdCLDBEQUEwRDtBQUU3QyxRQUFBLGNBQWMsR0FBRyx5REFBeUQsQ0FBQztBQUV4RiwrRUFBK0U7QUFDL0UsU0FBZ0IsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxLQUF5QjtJQUMzRSxNQUFNLFlBQVksR0FBRztRQUNuQixTQUFTLEVBQUUsSUFBSTtRQUNmLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsVUFBVSxFQUFFLHlCQUFnQixDQUFDLFVBQVU7S0FDeEMsQ0FBQztJQUVGLElBQUksZ0JBQTZCLENBQUM7SUFDbEMsSUFBSSxLQUFLLEVBQUU7UUFDVCxnQkFBZ0IsR0FBRyxxQkFBYSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0tBQ2pDO0lBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFNLENBQzdCLEtBQUssRUFDTCx3QkFBd0IsRUFDeEIsZ0JBQWdCLENBQ2pCLENBQUM7SUFFRiwyQkFBbUIsQ0FBQyxZQUFZLEVBQUU7UUFDaEM7WUFDRSxFQUFFLEVBQUUsS0FBSztZQUNULE1BQU0sRUFBRSxpSUFBaUk7U0FDMUk7UUFDRDtZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLGlJQUFpSTtTQUMxSTtRQUNEO1lBQ0UsRUFBRSxFQUFFLEtBQUs7WUFDVCxNQUFNLEVBQUUsa0hBQWtIO1NBQzNIO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQXBDRCw4Q0FvQ0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLHNCQUFzQixDQUFDLFFBQWdCO0lBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBSkQsd0RBSUM7QUFFRCxtQkFBbUI7QUFDbkIsU0FBZ0IsVUFBVSxDQUFDLEtBQVksRUFBRSxlQUF3QixJQUFJO0lBQ25FLE9BQU8scUJBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDckIsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzdCLDJDQUE0QixFQUFFLENBQUMsQ0FBQztZQUNoQyxzQ0FBdUIsRUFBRTtRQUMzQixpQkFBaUIsRUFBRTtZQUNqQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFYRCxnQ0FXQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsRUFBVTtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQ3ZDLEtBQUssRUFDTCxFQUFFLEVBQ0YscUZBQXFGLENBQ3RGLENBQUM7QUFDSixDQUFDO0FBTkQsZ0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBidWlsZFZwYyB9IGZyb20gJy4uL2xpYi92cGMtaGVscGVyJztcbmltcG9ydCB7IERlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMsIERlZmF1bHRJc29sYXRlZFZwY1Byb3BzIH0gZnJvbSAnLi4vbGliL3ZwYy1kZWZhdWx0cyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzIH0gZnJvbSBcIi4uL2xpYi91dGlsc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcblxuZXhwb3J0IGNvbnN0IGZha2VFY3JSZXBvQXJuID0gJ2Fybjphd3M6ZWNyOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6cmVwb3NpdG9yeS9mYWtlLXJlcG8nO1xuXG4vLyBDcmVhdGVzIGEgYnVja2V0IHVzZWQgZm9yIHRlc3RpbmcgLSBtaW5pbWFsIHByb3BlcnRpZXMsIGRlc3Ryb3llZCBhZnRlciB0ZXN0XG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU2NyYXBCdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM/OiBCdWNrZXRQcm9wcyB8IGFueSkge1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gIH07XG5cbiAgbGV0IHN5bnRoZXNpemVkUHJvcHM6IEJ1Y2tldFByb3BzO1xuICBpZiAocHJvcHMpIHtcbiAgICBzeW50aGVzaXplZFByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0UHJvcHMsIHByb3BzKTtcbiAgfSBlbHNlIHtcbiAgICBzeW50aGVzaXplZFByb3BzID0gZGVmYXVsdFByb3BzO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0QnVja2V0ID0gbmV3IEJ1Y2tldChcbiAgICBzY29wZSxcbiAgICBcImV4aXN0aW5nU2NyaXB0TG9jYXRpb25cIixcbiAgICBzeW50aGVzaXplZFByb3BzXG4gICk7XG5cbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhzY3JpcHRCdWNrZXQsIFtcbiAgICB7XG4gICAgICBpZDogXCJXNTFcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0IGltcGxlbWVudGF0aW9uXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJXMzVcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0IGltcGxlbWVudGF0aW9uXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJXNDFcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0XCIsXG4gICAgfVxuICBdKTtcblxuICByZXR1cm4gc2NyaXB0QnVja2V0O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBzdGFjayBuYW1lIGZvciBJbnRlZ3JhdGlvbiB0ZXN0c1xuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbnRlZyB0ZXN0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIGEgc3RyaW5nIHdpdGggY3VycmVudCBmaWxlbmFtZSBhZnRlciByZW1vdmluZyBhbnl0aGluZyBiZWZvcmUgdGhlIHByZWZpeCAnLicgYW5kIHN1ZmZpeCAnLmpzJ1xuICogZS5nLiAnaW50ZWcuYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVELmpzJyB3aWxsIHJldHVybiAnYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVEJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZmlsZSA9IHBhdGguYmFzZW5hbWUoZmlsZW5hbWUsIHBhdGguZXh0bmFtZShmaWxlbmFtZSkpO1xuICBjb25zdCBzdGFja25hbWUgPSBmaWxlLnNsaWNlKGZpbGUubGFzdEluZGV4T2YoJy4nKSArIDEpLnJlcGxhY2UoL18vZywgJy0nKTtcbiAgcmV0dXJuIHN0YWNrbmFtZTtcbn1cblxuLy8gSGVscGVyIEZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RWcGMoc3RhY2s6IFN0YWNrLCBwdWJsaWNGYWNpbmc6IGJvb2xlYW4gPSB0cnVlKSB7XG4gIHJldHVybiBidWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogcHVibGljRmFjaW5nID9cbiAgICAgIERlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMoKSA6XG4gICAgICBEZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgY2lkcjogJzE3Mi4xNjguMC4wLzE2JyxcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZha2VDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogYWNtLklDZXJ0aWZpY2F0ZSB7XG4gIHJldHVybiBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIFwiYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTJcIlxuICApO1xufVxuIl19
|