@rio-cloud/cdk-v2-constructs 6.16.2 → 6.16.3
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 +15 -15
- package/docs/API.md +30 -0
- package/docs/changelog.md +2 -0
- package/lib/ses/ses-observability.d.ts +15 -0
- package/lib/ses/ses-observability.js +21 -2
- package/package.json +1 -1
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -11563,7 +11563,7 @@
|
|
|
11563
11563
|
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
11564
11564
|
"base": "constructs.Construct",
|
|
11565
11565
|
"docs": {
|
|
11566
|
-
"remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn
|
|
11566
|
+
"remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.\n\n# Notes\n## Add necessary permissions for fargate task to enable using ses configuration set\nMake sure you have the following permissions in the task role of the fargate task, e.g.:\n```typescript\n service.taskDefinition.taskRole.addToPrincipalPolicy(\n new iam.PolicyStatement({\n actions: ['ses:sendEmail', 'ses:sendRawEmail'],\n resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],\n }));\n```\n\n## Watchful\nIt might be helpful to add watchful to your stack to\nget notified if the ses-logger lambda fails.",
|
|
11567
11567
|
"stability": "stable",
|
|
11568
11568
|
"summary": "RioSesObservability."
|
|
11569
11569
|
},
|
|
@@ -11574,7 +11574,7 @@
|
|
|
11574
11574
|
},
|
|
11575
11575
|
"locationInModule": {
|
|
11576
11576
|
"filename": "src/ses/ses-observability.ts",
|
|
11577
|
-
"line":
|
|
11577
|
+
"line": 89
|
|
11578
11578
|
},
|
|
11579
11579
|
"parameters": [
|
|
11580
11580
|
{
|
|
@@ -11600,7 +11600,7 @@
|
|
|
11600
11600
|
"kind": "class",
|
|
11601
11601
|
"locationInModule": {
|
|
11602
11602
|
"filename": "src/ses/ses-observability.ts",
|
|
11603
|
-
"line":
|
|
11603
|
+
"line": 82
|
|
11604
11604
|
},
|
|
11605
11605
|
"name": "SesObservability",
|
|
11606
11606
|
"properties": [
|
|
@@ -11612,7 +11612,7 @@
|
|
|
11612
11612
|
"immutable": true,
|
|
11613
11613
|
"locationInModule": {
|
|
11614
11614
|
"filename": "src/ses/ses-observability.ts",
|
|
11615
|
-
"line":
|
|
11615
|
+
"line": 84
|
|
11616
11616
|
},
|
|
11617
11617
|
"name": "CONFIGURATION_SET_NAME_SSM_PARAMETER",
|
|
11618
11618
|
"static": true,
|
|
@@ -11628,7 +11628,7 @@
|
|
|
11628
11628
|
"immutable": true,
|
|
11629
11629
|
"locationInModule": {
|
|
11630
11630
|
"filename": "src/ses/ses-observability.ts",
|
|
11631
|
-
"line":
|
|
11631
|
+
"line": 85
|
|
11632
11632
|
},
|
|
11633
11633
|
"name": "SNS_TOPIC_ARN_EXPORT_NAME",
|
|
11634
11634
|
"static": true,
|
|
@@ -11643,7 +11643,7 @@
|
|
|
11643
11643
|
"immutable": true,
|
|
11644
11644
|
"locationInModule": {
|
|
11645
11645
|
"filename": "src/ses/ses-observability.ts",
|
|
11646
|
-
"line":
|
|
11646
|
+
"line": 87
|
|
11647
11647
|
},
|
|
11648
11648
|
"name": "configurationSet",
|
|
11649
11649
|
"type": {
|
|
@@ -11657,7 +11657,7 @@
|
|
|
11657
11657
|
"immutable": true,
|
|
11658
11658
|
"locationInModule": {
|
|
11659
11659
|
"filename": "src/ses/ses-observability.ts",
|
|
11660
|
-
"line":
|
|
11660
|
+
"line": 86
|
|
11661
11661
|
},
|
|
11662
11662
|
"name": "snsTopic",
|
|
11663
11663
|
"type": {
|
|
@@ -20037,7 +20037,7 @@
|
|
|
20037
20037
|
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
20038
20038
|
"base": "constructs.Construct",
|
|
20039
20039
|
"docs": {
|
|
20040
|
-
"remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn
|
|
20040
|
+
"remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.\n\n# Notes\n## Add necessary permissions for fargate task to enable using ses configuration set\nMake sure you have the following permissions in the task role of the fargate task, e.g.:\n```typescript\n service.taskDefinition.taskRole.addToPrincipalPolicy(\n new iam.PolicyStatement({\n actions: ['ses:sendEmail', 'ses:sendRawEmail'],\n resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],\n }));\n```\n\n## Watchful\nIt might be helpful to add watchful to your stack to\nget notified if the ses-logger lambda fails.",
|
|
20041
20041
|
"stability": "stable",
|
|
20042
20042
|
"summary": "RioSesObservability."
|
|
20043
20043
|
},
|
|
@@ -20048,7 +20048,7 @@
|
|
|
20048
20048
|
},
|
|
20049
20049
|
"locationInModule": {
|
|
20050
20050
|
"filename": "src/ses/ses-observability.ts",
|
|
20051
|
-
"line":
|
|
20051
|
+
"line": 89
|
|
20052
20052
|
},
|
|
20053
20053
|
"parameters": [
|
|
20054
20054
|
{
|
|
@@ -20074,7 +20074,7 @@
|
|
|
20074
20074
|
"kind": "class",
|
|
20075
20075
|
"locationInModule": {
|
|
20076
20076
|
"filename": "src/ses/ses-observability.ts",
|
|
20077
|
-
"line":
|
|
20077
|
+
"line": 82
|
|
20078
20078
|
},
|
|
20079
20079
|
"name": "SesObservability",
|
|
20080
20080
|
"namespace": "ses",
|
|
@@ -20087,7 +20087,7 @@
|
|
|
20087
20087
|
"immutable": true,
|
|
20088
20088
|
"locationInModule": {
|
|
20089
20089
|
"filename": "src/ses/ses-observability.ts",
|
|
20090
|
-
"line":
|
|
20090
|
+
"line": 84
|
|
20091
20091
|
},
|
|
20092
20092
|
"name": "CONFIGURATION_SET_NAME_SSM_PARAMETER",
|
|
20093
20093
|
"static": true,
|
|
@@ -20103,7 +20103,7 @@
|
|
|
20103
20103
|
"immutable": true,
|
|
20104
20104
|
"locationInModule": {
|
|
20105
20105
|
"filename": "src/ses/ses-observability.ts",
|
|
20106
|
-
"line":
|
|
20106
|
+
"line": 85
|
|
20107
20107
|
},
|
|
20108
20108
|
"name": "SNS_TOPIC_ARN_EXPORT_NAME",
|
|
20109
20109
|
"static": true,
|
|
@@ -20118,7 +20118,7 @@
|
|
|
20118
20118
|
"immutable": true,
|
|
20119
20119
|
"locationInModule": {
|
|
20120
20120
|
"filename": "src/ses/ses-observability.ts",
|
|
20121
|
-
"line":
|
|
20121
|
+
"line": 87
|
|
20122
20122
|
},
|
|
20123
20123
|
"name": "configurationSet",
|
|
20124
20124
|
"type": {
|
|
@@ -20132,7 +20132,7 @@
|
|
|
20132
20132
|
"immutable": true,
|
|
20133
20133
|
"locationInModule": {
|
|
20134
20134
|
"filename": "src/ses/ses-observability.ts",
|
|
20135
|
-
"line":
|
|
20135
|
+
"line": 86
|
|
20136
20136
|
},
|
|
20137
20137
|
"name": "snsTopic",
|
|
20138
20138
|
"type": {
|
|
@@ -20574,5 +20574,5 @@
|
|
|
20574
20574
|
}
|
|
20575
20575
|
},
|
|
20576
20576
|
"version": "0.0.0",
|
|
20577
|
-
"fingerprint": "
|
|
20577
|
+
"fingerprint": "N7iGFoxgZa8RhCRzeiVg/6/2q7WLz2faRiJrlTzFYpI="
|
|
20578
20578
|
}
|
package/docs/API.md
CHANGED
|
@@ -6210,6 +6210,21 @@ If you have specific needs for which you'd like to process the SNS events direct
|
|
|
6210
6210
|
(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
|
|
6211
6211
|
To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
|
|
6212
6212
|
|
|
6213
|
+
# Notes
|
|
6214
|
+
## Add necessary permissions for fargate task to enable using ses configuration set
|
|
6215
|
+
Make sure you have the following permissions in the task role of the fargate task, e.g.:
|
|
6216
|
+
```typescript
|
|
6217
|
+
service.taskDefinition.taskRole.addToPrincipalPolicy(
|
|
6218
|
+
new iam.PolicyStatement({
|
|
6219
|
+
actions: ['ses:sendEmail', 'ses:sendRawEmail'],
|
|
6220
|
+
resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],
|
|
6221
|
+
}));
|
|
6222
|
+
```
|
|
6223
|
+
|
|
6224
|
+
## Watchful
|
|
6225
|
+
It might be helpful to add watchful to your stack to
|
|
6226
|
+
get notified if the ses-logger lambda fails.
|
|
6227
|
+
|
|
6213
6228
|
#### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.SesObservability.Initializer"></a>
|
|
6214
6229
|
|
|
6215
6230
|
```typescript
|
|
@@ -6413,6 +6428,21 @@ If you have specific needs for which you'd like to process the SNS events direct
|
|
|
6413
6428
|
(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
|
|
6414
6429
|
To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
|
|
6415
6430
|
|
|
6431
|
+
# Notes
|
|
6432
|
+
## Add necessary permissions for fargate task to enable using ses configuration set
|
|
6433
|
+
Make sure you have the following permissions in the task role of the fargate task, e.g.:
|
|
6434
|
+
```typescript
|
|
6435
|
+
service.taskDefinition.taskRole.addToPrincipalPolicy(
|
|
6436
|
+
new iam.PolicyStatement({
|
|
6437
|
+
actions: ['ses:sendEmail', 'ses:sendRawEmail'],
|
|
6438
|
+
resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],
|
|
6439
|
+
}));
|
|
6440
|
+
```
|
|
6441
|
+
|
|
6442
|
+
## Watchful
|
|
6443
|
+
It might be helpful to add watchful to your stack to
|
|
6444
|
+
get notified if the ses-logger lambda fails.
|
|
6445
|
+
|
|
6416
6446
|
#### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer"></a>
|
|
6417
6447
|
|
|
6418
6448
|
```typescript
|
package/docs/changelog.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [6.16.3](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.16.2&sourceBranch=refs%2Ftags%2Fv6.16.3) (2024-12-10)
|
|
6
|
+
|
|
5
7
|
## [6.16.2](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.16.1&sourceBranch=refs%2Ftags%2Fv6.16.2) (2024-12-04)
|
|
6
8
|
|
|
7
9
|
|
|
@@ -49,6 +49,21 @@ export interface SesObservabilityProps {
|
|
|
49
49
|
* If you have specific needs for which you'd like to process the SNS events directly
|
|
50
50
|
* (e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
|
|
51
51
|
* To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
|
|
52
|
+
*
|
|
53
|
+
* # Notes
|
|
54
|
+
* ## Add necessary permissions for fargate task to enable using ses configuration set
|
|
55
|
+
* Make sure you have the following permissions in the task role of the fargate task, e.g.:
|
|
56
|
+
* ```typescript
|
|
57
|
+
* service.taskDefinition.taskRole.addToPrincipalPolicy(
|
|
58
|
+
* new iam.PolicyStatement({
|
|
59
|
+
* actions: ['ses:sendEmail', 'ses:sendRawEmail'],
|
|
60
|
+
* resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],
|
|
61
|
+
* }));
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* ## Watchful
|
|
65
|
+
* It might be helpful to add watchful to your stack to
|
|
66
|
+
* get notified if the ses-logger lambda fails.
|
|
52
67
|
*/
|
|
53
68
|
export declare class SesObservability extends Construct {
|
|
54
69
|
static readonly CONFIGURATION_SET_NAME_SSM_PARAMETER = "/rio/config/ses-observability/configuration-set-name";
|
|
@@ -56,6 +56,21 @@ const rio_landing_zone_1 = require("../rio-landing-zone");
|
|
|
56
56
|
* If you have specific needs for which you'd like to process the SNS events directly
|
|
57
57
|
* (e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
|
|
58
58
|
* To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
|
|
59
|
+
*
|
|
60
|
+
* # Notes
|
|
61
|
+
* ## Add necessary permissions for fargate task to enable using ses configuration set
|
|
62
|
+
* Make sure you have the following permissions in the task role of the fargate task, e.g.:
|
|
63
|
+
* ```typescript
|
|
64
|
+
* service.taskDefinition.taskRole.addToPrincipalPolicy(
|
|
65
|
+
* new iam.PolicyStatement({
|
|
66
|
+
* actions: ['ses:sendEmail', 'ses:sendRawEmail'],
|
|
67
|
+
* resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],
|
|
68
|
+
* }));
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* ## Watchful
|
|
72
|
+
* It might be helpful to add watchful to your stack to
|
|
73
|
+
* get notified if the ses-logger lambda fails.
|
|
59
74
|
*/
|
|
60
75
|
class SesObservability extends constructs_1.Construct {
|
|
61
76
|
constructor(scope, id, props) {
|
|
@@ -99,7 +114,7 @@ class SesObservability extends constructs_1.Construct {
|
|
|
99
114
|
value: this.snsTopic.topicArn,
|
|
100
115
|
exportName: SesObservability.SNS_TOPIC_ARN_EXPORT_NAME,
|
|
101
116
|
});
|
|
102
|
-
const notificationHandle = rio_landing_zone_1.RioLandingZone.getTeamAlertSlackChannelParameter(this);
|
|
117
|
+
const notificationHandle = rio_landing_zone_1.RioLandingZone.getTeamAlertSlackChannelParameter(this).stringValue;
|
|
103
118
|
new datadogv2_1.DatadogMonitor(this, 'QuotaMonitor', {
|
|
104
119
|
name: `${accountName} SES quota almost reached`,
|
|
105
120
|
serviceName: 'aws-ses',
|
|
@@ -121,6 +136,7 @@ class SesObservability extends constructs_1.Construct {
|
|
|
121
136
|
},
|
|
122
137
|
evaluationDelay: 900,
|
|
123
138
|
},
|
|
139
|
+
notification: new datadogv2_1.NoNotification(),
|
|
124
140
|
});
|
|
125
141
|
new datadogv2_1.DatadogMonitor(this, 'EmailRejectedMonitor', {
|
|
126
142
|
name: `${accountName} SES Email Rejected`,
|
|
@@ -141,6 +157,7 @@ class SesObservability extends constructs_1.Construct {
|
|
|
141
157
|
},
|
|
142
158
|
evaluationDelay: 900,
|
|
143
159
|
},
|
|
160
|
+
notification: new datadogv2_1.NoNotification(),
|
|
144
161
|
});
|
|
145
162
|
new datadogv2_1.DatadogMonitor(this, 'ComplaintRateMonitor', {
|
|
146
163
|
name: `${accountName} SES reputation endangered: Complaint rate High`,
|
|
@@ -167,6 +184,7 @@ class SesObservability extends constructs_1.Construct {
|
|
|
167
184
|
},
|
|
168
185
|
evaluationDelay: 900,
|
|
169
186
|
},
|
|
187
|
+
notification: new datadogv2_1.NoNotification(),
|
|
170
188
|
});
|
|
171
189
|
new datadogv2_1.DatadogMonitor(this, 'BounceRateMonitor', {
|
|
172
190
|
name: `${accountName} SES reputation endangered: Bounce Rate High`,
|
|
@@ -193,6 +211,7 @@ class SesObservability extends constructs_1.Construct {
|
|
|
193
211
|
},
|
|
194
212
|
evaluationDelay: 900,
|
|
195
213
|
},
|
|
214
|
+
notification: new datadogv2_1.NoNotification(),
|
|
196
215
|
});
|
|
197
216
|
}
|
|
198
217
|
/**
|
|
@@ -222,4 +241,4 @@ SesObservability[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.SesObservability", v
|
|
|
222
241
|
// ! changing these values is a breaking change for users
|
|
223
242
|
SesObservability.CONFIGURATION_SET_NAME_SSM_PARAMETER = '/rio/config/ses-observability/configuration-set-name';
|
|
224
243
|
SesObservability.SNS_TOPIC_ARN_EXPORT_NAME = 'RioSesObservabilityTopicArn';
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLW9ic2VydmFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzL3Nlcy1vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFvQztBQUNwQyxpREFBaUQ7QUFFakQsbURBQTRFO0FBQzVFLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0Msc0VBQXNFO0FBQ3RFLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsMkNBQXVDO0FBQ3ZDLHFDQUFzQztBQUN0Qyw0Q0FBNEU7QUFDNUUsMERBQXFEO0FBWXJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQU83QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLGlDQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakUsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUN0RSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsb0NBQW9DO1lBQ3BFLFdBQVcsRUFBRSx5Q0FBeUM7U0FDdkQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QyxTQUFTLEVBQUUsNkJBQTZCO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVB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LE9BQU8sRUFBRSxJQUFJO2lCQUNkO2dCQUNELGVBQWUsRUFBRSxHQUFHO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssNENBQTRDLENBQUMsV0FBMkI7UUFDOUUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDdkIsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsQyxJQUFJLElBQUksWUFBWSxnQ0FBcUIsRUFBRSxDQUFDO3dCQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO3dCQUN2QyxJQUFJLFlBQVksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDOzRCQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDLDBFQUEwRSxDQUFDLENBQUM7d0JBQzFGLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoTEgsNENBaUxDOzs7QUFoTEMseURBQXlEO0FBQ3pDLHFEQUFvQyxHQUFHLHNEQUFzRCxDQUFDO0FBQzlGLDBDQUF5QixHQUFHLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBDZm5TdWJzY3JpcHRpb25GaWx0ZXIsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzZXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcyc7XG5pbXBvcnQgKiBhcyBzbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5pbXBvcnQgKiBhcyBzbnNTdWJzY3JpcHRpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9ucyc7XG5pbXBvcnQgKiBhcyBzc20gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IHRyaW1JbmRlbnQgfSBmcm9tICcuL2hlbHBlcic7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSB9IGZyb20gJy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgeyBSaW9MYW5kaW5nWm9uZSB9IGZyb20gJy4uL3Jpby1sYW5kaW5nLXpvbmUnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VzT2JzZXJ2YWJpbGl0eVByb3BzIHtcbiAgLyoqXG4gICAgICogVGhlIFNFUyBldmVudHMgdG8gbG9nLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW0VtYWlsU2VuZGluZ0V2ZW50LkRFTElWRVJZLCBFbWFpbFNlbmRpbmdFdmVudC5CT1VOQ0UsIEVtYWlsU2VuZGluZ0V2ZW50LkNPTVBMQUlOVCwgRW1haWxTZW5kaW5nRXZlbnQuUkVKRUNUXVxuICAgICAqL1xuICByZWFkb25seSBsb2dnZWRTZXNFdmVudHM/OiBzZXMuRW1haWxTZW5kaW5nRXZlbnRbXTtcbn1cblxuLyoqXG4gKiBSaW9TZXNPYnNlcnZhYmlsaXR5XG4gKlxuICogVGhpcyBjb25zdHJ1Y3Qgc2V0cyB1cCBvYnNlcnZhYmlsaXR5IGZvciBTRVMgYXMgZGVmaW5lZCBieSBbQURSIC0gU0VTIGRvbWFpbiByZXB1dGF0aW9uIG9ic2VydmFiaWxpdHldKGh0dHBzOi8vY29uZmx1ZW5jZS5jb2xsYWJvcmF0aW9uLW1hbi5jb20vZGlzcGxheS9NQU4vQURSKy0rU0VTK2RvbWFpbityZXB1dGF0aW9uK29ic2VydmFiaWxpdHkpLlxuICpcbiAqICMgV2FybmluZ1xuICogVGhpcyBjb25zdHJ1Y3QgcmVzdWx0cyBpbiBsb2dnaW5nIGFsbCBzZW50IGVtYWlscyBpbmNsdWRpbmcgdGhlIHJlY2lwaWVudCBhZGRyZXNzIGludG8gQ2xvdWRXYXRjaCBsb2dzLlxuICogQXMgdGhpcyBpcyBjb25zaWRlcmVkICoqUElJKiosIHRoaXMgaW5mb3JtYXRpb24gTVVTVCBiZSBoYW5kbGVkIGFjY29yZGluZ2x5LlxuICogSW4gcGFydGljdWxhciwgbG9ncyAqKk1VU1QgTk9UKiogYmUgc2VudCB0byBmdXJ0aGVyIHRoaXJkIHBhcnR5IHNlcnZpY2VzIChlLmcuIERhdGFkb2cpIGFuZCB0aGUgcmV0ZW50aW9uIHBlcmlvZCBmb3IgbG9ncyAqKk1VU1QgTk9UKiogYmUgZXh0ZW5kZWQuXG4gKlxuICogIyBVc2FnZVxuICogIyMgRGVmYXVsdCBDb25maWd1cmF0aW9uIFNldCBmb3IgSWRlbnRpdHlcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByaW9TZXNPYnNlcnZhYmlsaXR5ID0gbmV3IFJpb1Nlc09ic2VydmFiaWxpdHkodGhpcywgJ0NvbmZpZ3VyYXRpb25TZXQnLCB7fSlcbiAqIGNvbnN0IGlkZW50aXR5ID0gbmV3IEVtYWlsSWRlbnRpdHkodGhpcywgJ0VtYWlsSWRlbnRpdHknLCB7XG4gKiAgICAgaWRlbnRpdHk6IElkZW50aXR5LmRvbWFpbignZXhhbXBsZS5jb20nKSxcbiAqICAgICBjb25maWd1cmF0aW9uU2V0OiByaW9TZXNPYnNlcnZhYmlsaXR5LmNvbmZpZ3VyYXRpb25TZXQsXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqICMjIFNwZWNpZmljYWxseSB1c2luZyB0aGUgY29uZmlndXJhdGlvbiBzZXQgcGVyIHJlcXVlc3RcbiAqXG4gKiBUaGlzIGlzIGlkZWFsIGlmIHlvdSB3YW50IHRvIHRyeSBvdXQgdGhlIGNvbnN0cnVjdCBmaXJzdCBvbmUgc29tZSBzcGVjaWZpYyBlbWFpbHMgKGUuZy4gZHVyaW5nIGluaXRpYWwgbWlncmF0aW9uKS5cbiAqIFRoZSBjb25maWd1cmF0aW9uIHNldCBuYW1lIGlzIGV4cG9ydGVkIGFzIGFuIFNTTSBwYXJhbWV0ZXIgYC9yaW8vY29uZmlnL3Nlcy1vYnNlcnZhYmlsaXR5L2NvbmZpZ3VyYXRpb24tc2V0LW5hbWVgLlxuICogVGh1cywgeW91IGNhbiBlYXNpbHkgbWFrZSBpdCBhdmFpbGFibGUgYXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaW4geW91ciBjb2RlLlxuICpcbiAqIGBgYGtvdGxpblxuICogaW1wb3J0IGNvbS5hbWF6b25hd3Muc2VydmljZXMuc2ltcGxlZW1haWwubW9kZWwuU2VuZEVtYWlsUmVxdWVzdFxuICpcbiAqIHZhbCByZXF1ZXN0ID0gU2VuZEVtYWlsUmVxdWVzdCgpXG4gKiAgICAgICAgICAgICAgICAgLndpdGhDb25maWd1cmF0aW9uU2V0TmFtZShTU01fQ09ORklHVVJBVElPTl9TU01fUEFSQU1FVEVSX1ZBTFVFKVxuICogICAgICAgICAgICAgICAgIC4uLlxuICogYGBgXG4gKlxuICogIyMgQXV0b21hdGVkIGV2ZW50IHByb2Nlc3NpbmdcbiAqXG4gKiBJZiB5b3UgaGF2ZSBzcGVjaWZpYyBuZWVkcyBmb3Igd2hpY2ggeW91J2QgbGlrZSB0byBwcm9jZXNzIHRoZSBTTlMgZXZlbnRzIGRpcmVjdGx5XG4gKiAoZS5nLiBhdXRvbWF0aWNhbGx5IGNyZWF0aW5nIGEgc3VwcHJlc3Npb24gbGlzdCBmcm9tIGJvdW5jZXMpLCB5b3UgY2FuIHN1YnNjcmliZSB0byB0aGUgU05TIHRvcGljLlxuICogVG8gZW5hYmxlIHRoaXMgdGhlIFNOUyB0b3BpYyBBUk4gaXMgZXhwb3J0ZWQgdmlhIENsb3VkZm9ybWF0aW9uIGFzIGBSaW9TZXNPYnNlcnZhYmlsaXR5VG9waWNBcm5gLlxuICovXG5leHBvcnQgY2xhc3MgU2VzT2JzZXJ2YWJpbGl0eSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8vICEgY2hhbmdpbmcgdGhlc2UgdmFsdWVzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIGZvciB1c2Vyc1xuICBzdGF0aWMgcmVhZG9ubHkgQ09ORklHVVJBVElPTl9TRVRfTkFNRV9TU01fUEFSQU1FVEVSID0gJy9yaW8vY29uZmlnL3Nlcy1vYnNlcnZhYmlsaXR5L2NvbmZpZ3VyYXRpb24tc2V0LW5hbWUnO1xuICBzdGF0aWMgcmVhZG9ubHkgU05TX1RPUElDX0FSTl9FWFBPUlRfTkFNRSA9ICdSaW9TZXNPYnNlcnZhYmlsaXR5VG9waWNBcm4nO1xuICByZWFkb25seSBzbnNUb3BpYzogc25zLlRvcGljO1xuICByZWFkb25seSBjb25maWd1cmF0aW9uU2V0OiBzZXMuQ29uZmlndXJhdGlvblNldDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VzT2JzZXJ2YWJpbGl0eVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBhY2NvdW50SWQgPSBTdGFjay5vZih0aGlzKS5hY2NvdW50O1xuICAgIGNvbnN0IGFjY291bnROYW1lID0gUmlvTGFuZGluZ1pvbmUuZ2V0QWNjb3VudE5hbWVQYXJhbWV0ZXIodGhpcyk7XG5cbiAgICBjb25zdCBwYXJhbWV0ZXIgPSBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcih0aGlzLCAnQ29uZmlndXJhdGlvblNldE5hbWUnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiBTZXNPYnNlcnZhYmlsaXR5LkNPTkZJR1VSQVRJT05fU0VUX05BTUVfU1NNX1BBUkFNRVRFUixcbiAgICAgIHN0cmluZ1ZhbHVlOiAncmlvLXNlcy1vYnNlcnZhYmlsaXR5LWNvbmZpZ3VyYXRpb24tc2V0JyxcbiAgICB9KTtcblxuICAgIHRoaXMuc25zVG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsICdTbnNUb3BpYycsIHtcbiAgICAgIHRvcGljTmFtZTogJ3Jpby1zZXMtb2JzZXJ2YWJpbGl0eS10b3BpYycsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXQgPSBuZXcgc2VzLkNvbmZpZ3VyYXRpb25TZXQodGhpcywgJ0NvbmZpZ3VyYXRpb25TZXQnLCB7XG4gICAgICBjb25maWd1cmF0aW9uU2V0TmFtZTogcGFyYW1ldGVyLnN0cmluZ1ZhbHVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2V0LmFkZEV2ZW50RGVzdGluYXRpb24oJ0V2ZW50RGVzdGluYXRpb24nLCB7XG4gICAgICBjb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbk5hbWU6ICdyaW8tc2VzLW9ic2VydmFiaWxpdHktZXZlbnQtZGVzdGluYXRpb24nLFxuICAgICAgZGVzdGluYXRpb246IHNlcy5FdmVudERlc3RpbmF0aW9uLnNuc1RvcGljKHRoaXMuc25zVG9waWMpLFxuICAgICAgZXZlbnRzOiBwcm9wcy5sb2dnZWRTZXNFdmVudHMgPz8gW1xuICAgICAgICBzZXMuRW1haWxTZW5kaW5nRXZlbnQuREVMSVZFUlksXG4gICAgICAgIHNlcy5FbWFpbFNlbmRpbmdFdmVudC5CT1VOQ0UsXG4gICAgICAgIHNlcy5FbWFpbFNlbmRpbmdFdmVudC5DT01QTEFJTlQsXG4gICAgICAgIHNlcy5FbWFpbFNlbmRpbmdFdmVudC5SRUpFQ1QsXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdMb2dGdW5jdGlvbicsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogJ3Jpby1zZXMtb2JzZXJ2YWJpbGl0eS1sb2ctZnVuY3Rpb24nLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICBoYW5kbGVyOiAnc2VzLWxvZ2dlci5oYW5kbGVyJyxcbiAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5USFJFRV9NT05USFMsXG4gICAgICBzeXN0ZW1Mb2dMZXZlbFYyOiBsYW1iZGEuU3lzdGVtTG9nTGV2ZWwuV0FSTixcbiAgICAgIGxvZ2dpbmdGb3JtYXQ6IGxhbWJkYS5Mb2dnaW5nRm9ybWF0LkpTT04sXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ2xhbWJkYScpLCB7XG4gICAgICAgIGV4Y2x1ZGU6IFsnKi5qcycsICcqLmQudHMnXSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIHRoaXMuZW5zdXJlTm9TdWJzY3JpcHRpb25GaWx0ZXJzT25MYW1iZGFzTG9nR3JvdXAobG9nRnVuY3Rpb24pO1xuXG4gICAgdGhpcy5zbnNUb3BpYy5hZGRTdWJzY3JpcHRpb24obmV3IHNuc1N1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKGxvZ0Z1bmN0aW9uKSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnU25zVG9waWNBcm4nLCB7XG4gICAgICB2YWx1ZTogdGhpcy5zbnNUb3BpYy50b3BpY0FybixcbiAgICAgIGV4cG9ydE5hbWU6IFNlc09ic2VydmFiaWxpdHkuU05TX1RPUElDX0FSTl9FWFBPUlRfTkFNRSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkhhbmRsZSA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1BbGVydFNsYWNrQ2hhbm5lbFBhcmFtZXRlcih0aGlzKTtcblxuICAgIG5ldyBEYXRhZG9nTW9uaXRvcih0aGlzLCAnUXVvdGFNb25pdG9yJywge1xuICAgICAgbmFtZTogYCR7YWNjb3VudE5hbWV9IFNFUyBxdW90YSBhbG1vc3QgcmVhY2hlZGAsXG4gICAgICBzZXJ2aWNlTmFtZTogJ2F3cy1zZXMnLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQsXG4gICAgICBxdWVyeTogYG1heChsYXN0XzFoKTptYXg6YXdzLnNlcy5zZW50X2xhc3RfMjRfaG91cnN7YWNjb3VudF9pZDoke2FjY291bnRJZH19IC8gbWF4OmF3cy5zZXMubWF4XzI0X2hvdXJfc2VuZHthY2NvdW50X2lkOiR7YWNjb3VudElkfX0gPiAwLjhgLFxuICAgICAgbWVzc2FnZTogdHJpbUluZGVudGBcbiAgICAgICAgWW91IGFyZSBhbG1vc3QgdXNpbmcgdXAgeW91J3JlIG1heGltdW0gZW1haWwgc2VuZGluZyBxdW90YSBwZXIgMjRoLiBcbiAgICAgICAgRWl0aGVyIFtyZXF1ZXN0IGFuIGluY3JlYXNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VzL2xhdGVzdC9kZy9tYW5hZ2Utc2VuZGluZy1xdW90YXMtcmVxdWVzdC1pbmNyZWFzZS5odG1sKSBmb3IgeW91ciBxdW90YSBieSBBV1Mgb3IgcmVkdWNlIHRoZSBhbW91bnQgb2YgZW1haWxzIHNlbnQuXG4gICAgICAgIFlvdSBjYW4gZmluZCBsb2dzIGFib3V0IGFsbCBtYWlscyBzZW50IGF0IFxcYCR7bG9nRnVuY3Rpb24ubG9nR3JvdXAubG9nR3JvdXBOYW1lfVxcYC5cbiAgICAgICAgXG4gICAgICAgIHt7I2lzX2FsZXJ0fX1Ac2xhY2stJHtub3RpZmljYXRpb25IYW5kbGV9e3svaXNfYWxlcnR9fVxuICAgICAgICB7eyNpc19hbGVydF9yZWNvdmVyeX19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0X3JlY292ZXJ5fX1cbiAgICAgICAgYCxcbiAgICAgIHByaW9yaXR5OiA0LFxuICAgICAgb3B0aW9uT3ZlcnJpZGVzOiB7XG4gICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICBjcml0aWNhbDogMC44LFxuICAgICAgICAgIHdhcm5pbmc6IDAuNyxcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGlvbkRlbGF5OiA5MDAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdFbWFpbFJlamVjdGVkTW9uaXRvcicsIHtcbiAgICAgIG5hbWU6IGAke2FjY291bnROYW1lfSBTRVMgRW1haWwgUmVqZWN0ZWRgLFxuICAgICAgc2VydmljZU5hbWU6ICdhd3Mtc2VzJyxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLlFVRVJZX0FMRVJULFxuICAgICAgcXVlcnk6IGBzdW0obGFzdF8xaCk6bWF4OmF3cy5zZXMucmVqZWN0c3thY2NvdW50X2lkOiR7YWNjb3VudElkfX0gPiAwYCxcbiAgICAgIG1lc3NhZ2U6IHRyaW1JbmRlbnRgXG4gICAgICAgIFNFUyBbcmVqZWN0ZWRdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXMvbGF0ZXN0L2RnL21vbml0b3Itc2VuZGluZy1hY3Rpdml0eS5odG1sKSBzZW5kaW5nIGF0IGxlYXN0IG9uZSBlbWFpbC5cbiAgICAgICAgUGxlYXNlIGludmVzdGlnYXRlIHRoZSByb290IGNhc2UsIGFzIHRoaXMgaXMgbm90IGV4cGVjdGVkIHRvIGhhcHBlbiBpbiBwcm9kdWN0aW9uIGV2ZXIuXG4gICAgICAgIFlvdSBjYW4gZmluZCBsb2dzIGFib3V0IGFsbCBtYWlscyBzZW50IGF0IFxcYCR7bG9nRnVuY3Rpb24ubG9nR3JvdXAubG9nR3JvdXBOYW1lfVxcYC5cbiAgICAgICAgXG4gICAgICAgIHt7I2lzX2FsZXJ0fX1Ac2xhY2stJHtub3RpZmljYXRpb25IYW5kbGV9e3svaXNfYWxlcnR9fVxuICAgICAgICBgLFxuICAgICAgcHJpb3JpdHk6IDMsXG4gICAgICBvcHRpb25PdmVycmlkZXM6IHtcbiAgICAgICAgdGhyZXNob2xkczoge1xuICAgICAgICAgIGNyaXRpY2FsOiAwLFxuICAgICAgICB9LFxuICAgICAgICBldmFsdWF0aW9uRGVsYXk6IDkwMCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ0NvbXBsYWludFJhdGVNb25pdG9yJywge1xuICAgICAgbmFtZTogYCR7YWNjb3VudE5hbWV9IFNFUyByZXB1dGF0aW9uIGVuZGFuZ2VyZWQ6IENvbXBsYWludCByYXRlIEhpZ2hgLFxuICAgICAgc2VydmljZU5hbWU6ICdhd3Mtc2VzJyxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLlFVRVJZX0FMRVJULFxuICAgICAgcXVlcnk6IGBtYXgobGFzdF8xaCk6bWF4OmF3cy5zZXMucmVwdXRhdGlvbl9jb21wbGFpbnRfcmF0ZXthY2NvdW50X2lkOiR7YWNjb3VudElkfSBhbmQgbm90IHNlczoqfSA+IDAuMDAxYCxcbiAgICAgIG1lc3NhZ2U6IHRyaW1JbmRlbnRgXG4gICAgICAgIFdhcm5pbmcgVGhyZXNob2xkIGZvciBDb21wbGFpbnQgcmF0ZSB7eyNpc193YXJuaW5nfX1hbG1vc3Qge3svaXNfd2FybmluZ319cmVhY2hlZCAoYXMgZGVmaW5lZCBpbiBBV1MpLlxuICAgICAgICBcbiAgICAgICAgUGxlYXNlIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNvbXBsYWludHMgcmVjZWl2ZWQgZm9yIEUtbWFpbHMgc2VudCBieSB5b3VyIEFjY291bnQuXG4gICAgICAgIElmIHRoaXMgbWV0cmljIHJlYWNoZXMgXFxgMC41JVxcYCB0aGUgZW1haWwgc2VuZGluZyBjYXBhYmlsaXR5IG9mIHlvdXIgYWNjb3VudCB3aWxsIGJlIGRpc2FibGVkIGJ5IEFXUy5cbiAgICAgICAgWW91IGNhbiBmaW5kIGxvZ3MgYWJvdXQgYWxsIG1haWxzIHNlbnQgYXQgXFxgJHtsb2dGdW5jdGlvbi5sb2dHcm91cC5sb2dHcm91cE5hbWV9XFxgLlxuICAgICAgICBTZWUgW0FEUiAtIFNFUyBkb21haW4gcmVwdXRhdGlvbiBvYnNlcnZhYmlsaXR5XShodHRwczovL2NvbmZsdWVuY2UuY29sbGFib3JhdGlvbi1tYW4uY29tL2Rpc3BsYXkvTUFOL0FEUistK1NFUytkb21haW4rcmVwdXRhdGlvbitvYnNlcnZhYmlsaXR5KS5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB7eyNpc19hbGVydH19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0fX1cbiAgICAgICAge3sjaXNfYWxlcnRfcmVjb3Zlcnl9fUBzbGFjay0ke25vdGlmaWNhdGlvbkhhbmRsZX17ey9pc19hbGVydF9yZWNvdmVyeX19XG4gICAgICAgIGAsXG4gICAgICBwcmlvcml0eTogMixcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IDAuMDAxLFxuICAgICAgICAgIHdhcm5pbmc6IDAuMDAwOCxcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGlvbkRlbGF5OiA5MDAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdCb3VuY2VSYXRlTW9uaXRvcicsIHtcbiAgICAgIG5hbWU6IGAke2FjY291bnROYW1lfSBTRVMgcmVwdXRhdGlvbiBlbmRhbmdlcmVkOiBCb3VuY2UgUmF0ZSBIaWdoYCxcbiAgICAgIHNlcnZpY2VOYW1lOiAnYXdzLXNlcycsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5RVUVSWV9BTEVSVCxcbiAgICAgIHF1ZXJ5OiBgbWF4KGxhc3RfMWgpOm1heDphd3Muc2VzLnJlcHV0YXRpb25fYm91bmNlX3JhdGV7YWNjb3VudF9pZDoke2FjY291bnRJZH0gYW5kIG5vdCBzZXM6Kn0gPiAwLjA1YCxcbiAgICAgIG1lc3NhZ2U6IHRyaW1JbmRlbnRgXG4gICAgICAgIFdhcm5pbmcgVGhyZXNob2xkIGZvciBCb3VuY2UgcmF0ZSB7eyNpc193YXJuaW5nfX1hbG1vc3Qge3svaXNfd2FybmluZ319cmVhY2hlZCAoYXMgZGVmaW5lZCBpbiBBV1MpLlxuICAgICAgICBcbiAgICAgICAgUGxlYXNlIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGJvdW5jZXMgZm9yIEUtbWFpbHMgc2VudCBieSB5b3VyIEFjY291bnQuXG4gICAgICAgIElmIHRoaXMgbWV0cmljIHJlYWNoZXMgXFxgMTAlXFxgIHRoZSBlbWFpbCBzZW5kaW5nIGNhcGFiaWxpdHkgb2YgeW91ciBhY2NvdW50IHdpbGwgYmUgZGlzYWJsZWQgYnkgQVdTLlxuICAgICAgICBZb3UgY2FuIGZpbmQgbG9ncyBhYm91dCBhbGwgbWFpbHMgc2VudCBhdCBcXGAke2xvZ0Z1bmN0aW9uLmxvZ0dyb3VwLmxvZ0dyb3VwTmFtZX1cXGAuXG4gICAgICAgIFNlZSBbQURSIC0gU0VTIGRvbWFpbiByZXB1dGF0aW9uIG9ic2VydmFiaWxpdHldKGh0dHBzOi8vY29uZmx1ZW5jZS5jb2xsYWJvcmF0aW9uLW1hbi5jb20vZGlzcGxheS9NQU4vQURSKy0rU0VTK2RvbWFpbityZXB1dGF0aW9uK29ic2VydmFiaWxpdHkpLlxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIHt7I2lzX2FsZXJ0fX1Ac2xhY2stJHtub3RpZmljYXRpb25IYW5kbGV9e3svaXNfYWxlcnR9fVxuICAgICAgICB7eyNpc19hbGVydF9yZWNvdmVyeX19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0X3JlY292ZXJ5fX1cbiAgICAgICAgYCxcbiAgICAgIHByaW9yaXR5OiAyLFxuICAgICAgb3B0aW9uT3ZlcnJpZGVzOiB7XG4gICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICBjcml0aWNhbDogMC4wNSxcbiAgICAgICAgICB3YXJuaW5nOiAwLjA0LFxuICAgICAgICB9LFxuICAgICAgICBldmFsdWF0aW9uRGVsYXk6IDkwMCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgbm8gUElJIGlzIGxlYWtlZCB0byBEYXRhZG9nIGJ5IGFkZGluZyBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgdG8gdGhlIGxvZyBncm91cCBvZiB0aGUgbGFtYmRhLlxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVOb1N1YnNjcmlwdGlvbkZpbHRlcnNPbkxhbWJkYXNMb2dHcm91cChsb2dGdW5jdGlvbjogTm9kZWpzRnVuY3Rpb24pIHtcbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZih0aGlzKTtcbiAgICBzdGFjay5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBzdGFjay5ub2RlLmZpbmRBbGwoKS5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuU3Vic2NyaXB0aW9uRmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dHcm91cE5hbWUgPSBub2RlLmxvZ0dyb3VwTmFtZTtcbiAgICAgICAgICAgIGlmIChsb2dHcm91cE5hbWUgPT09IGxvZ0Z1bmN0aW9uLmxvZ0dyb3VwLmxvZ0dyb3VwTmFtZSkge1xuICAgICAgICAgICAgICBlcnJvcnMucHVzaCgnU3Vic2NyaXB0aW9uIGZpbHRlcnMgYXJlIG5vdCBhbGxvd2VkIHNlcy1vYnNlcnZhYmlsaXR5IGxhbWJkYXMgbG9nIGdyb3VwJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLW9ic2VydmFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzL3Nlcy1vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFvQztBQUNwQyxpREFBaUQ7QUFFakQsbURBQTRFO0FBQzVFLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0Msc0VBQXNFO0FBQ3RFLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsMkNBQXVDO0FBQ3ZDLHFDQUFzQztBQUN0Qyw0Q0FBNEY7QUFDNUYsMERBQXFEO0FBWXJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQU83QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLGlDQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakUsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUN0RSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsb0NBQW9DO1lBQ3BFLFdBQVcsRUFBRSx5Q0FBeUM7U0FDdkQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QyxTQUFTLEVBQUUsNkJBQTZCO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxnQkFB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ICdwYXRoJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBDZm5TdWJzY3JpcHRpb25GaWx0ZXIsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzZXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcyc7XG5pbXBvcnQgKiBhcyBzbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5pbXBvcnQgKiBhcyBzbnNTdWJzY3JpcHRpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9ucyc7XG5pbXBvcnQgKiBhcyBzc20gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IHRyaW1JbmRlbnQgfSBmcm9tICcuL2hlbHBlcic7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSwgTm9Ob3RpZmljYXRpb24gfSBmcm9tICcuLi9kYXRhZG9ndjInO1xuaW1wb3J0IHsgUmlvTGFuZGluZ1pvbmUgfSBmcm9tICcuLi9yaW8tbGFuZGluZy16b25lJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFNlc09ic2VydmFiaWxpdHlQcm9wcyB7XG4gIC8qKlxuICAgICAqIFRoZSBTRVMgZXZlbnRzIHRvIGxvZy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFtFbWFpbFNlbmRpbmdFdmVudC5ERUxJVkVSWSwgRW1haWxTZW5kaW5nRXZlbnQuQk9VTkNFLCBFbWFpbFNlbmRpbmdFdmVudC5DT01QTEFJTlQsIEVtYWlsU2VuZGluZ0V2ZW50LlJFSkVDVF1cbiAgICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2VkU2VzRXZlbnRzPzogc2VzLkVtYWlsU2VuZGluZ0V2ZW50W107XG59XG5cbi8qKlxuICogUmlvU2VzT2JzZXJ2YWJpbGl0eVxuICpcbiAqIFRoaXMgY29uc3RydWN0IHNldHMgdXAgb2JzZXJ2YWJpbGl0eSBmb3IgU0VTIGFzIGRlZmluZWQgYnkgW0FEUiAtIFNFUyBkb21haW4gcmVwdXRhdGlvbiBvYnNlcnZhYmlsaXR5XShodHRwczovL2NvbmZsdWVuY2UuY29sbGFib3JhdGlvbi1tYW4uY29tL2Rpc3BsYXkvTUFOL0FEUistK1NFUytkb21haW4rcmVwdXRhdGlvbitvYnNlcnZhYmlsaXR5KS5cbiAqXG4gKiAjIFdhcm5pbmdcbiAqIFRoaXMgY29uc3RydWN0IHJlc3VsdHMgaW4gbG9nZ2luZyBhbGwgc2VudCBlbWFpbHMgaW5jbHVkaW5nIHRoZSByZWNpcGllbnQgYWRkcmVzcyBpbnRvIENsb3VkV2F0Y2ggbG9ncy5cbiAqIEFzIHRoaXMgaXMgY29uc2lkZXJlZCAqKlBJSSoqLCB0aGlzIGluZm9ybWF0aW9uIE1VU1QgYmUgaGFuZGxlZCBhY2NvcmRpbmdseS5cbiAqIEluIHBhcnRpY3VsYXIsIGxvZ3MgKipNVVNUIE5PVCoqIGJlIHNlbnQgdG8gZnVydGhlciB0aGlyZCBwYXJ0eSBzZXJ2aWNlcyAoZS5nLiBEYXRhZG9nKSBhbmQgdGhlIHJldGVudGlvbiBwZXJpb2QgZm9yIGxvZ3MgKipNVVNUIE5PVCoqIGJlIGV4dGVuZGVkLlxuICpcbiAqICMgVXNhZ2VcbiAqICMjIERlZmF1bHQgQ29uZmlndXJhdGlvbiBTZXQgZm9yIElkZW50aXR5XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmlvU2VzT2JzZXJ2YWJpbGl0eSA9IG5ldyBSaW9TZXNPYnNlcnZhYmlsaXR5KHRoaXMsICdDb25maWd1cmF0aW9uU2V0Jywge30pXG4gKiBjb25zdCBpZGVudGl0eSA9IG5ldyBFbWFpbElkZW50aXR5KHRoaXMsICdFbWFpbElkZW50aXR5Jywge1xuICogICAgIGlkZW50aXR5OiBJZGVudGl0eS5kb21haW4oJ2V4YW1wbGUuY29tJyksXG4gKiAgICAgY29uZmlndXJhdGlvblNldDogcmlvU2VzT2JzZXJ2YWJpbGl0eS5jb25maWd1cmF0aW9uU2V0LFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiAjIyBTcGVjaWZpY2FsbHkgdXNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gc2V0IHBlciByZXF1ZXN0XG4gKlxuICogVGhpcyBpcyBpZGVhbCBpZiB5b3Ugd2FudCB0byB0cnkgb3V0IHRoZSBjb25zdHJ1Y3QgZmlyc3Qgb25lIHNvbWUgc3BlY2lmaWMgZW1haWxzIChlLmcuIGR1cmluZyBpbml0aWFsIG1pZ3JhdGlvbikuXG4gKiBUaGUgY29uZmlndXJhdGlvbiBzZXQgbmFtZSBpcyBleHBvcnRlZCBhcyBhbiBTU00gcGFyYW1ldGVyIGAvcmlvL2NvbmZpZy9zZXMtb2JzZXJ2YWJpbGl0eS9jb25maWd1cmF0aW9uLXNldC1uYW1lYC5cbiAqIFRodXMsIHlvdSBjYW4gZWFzaWx5IG1ha2UgaXQgYXZhaWxhYmxlIGFzIGVudmlyb25tZW50IHZhcmlhYmxlIGluIHlvdXIgY29kZS5cbiAqXG4gKiBgYGBrb3RsaW5cbiAqIGltcG9ydCBjb20uYW1hem9uYXdzLnNlcnZpY2VzLnNpbXBsZWVtYWlsLm1vZGVsLlNlbmRFbWFpbFJlcXVlc3RcbiAqXG4gKiB2YWwgcmVxdWVzdCA9IFNlbmRFbWFpbFJlcXVlc3QoKVxuICogICAgICAgICAgICAgICAgIC53aXRoQ29uZmlndXJhdGlvblNldE5hbWUoU1NNX0NPTkZJR1VSQVRJT05fU1NNX1BBUkFNRVRFUl9WQUxVRSlcbiAqICAgICAgICAgICAgICAgICAuLi5cbiAqIGBgYFxuICpcbiAqICMjIEF1dG9tYXRlZCBldmVudCBwcm9jZXNzaW5nXG4gKlxuICogSWYgeW91IGhhdmUgc3BlY2lmaWMgbmVlZHMgZm9yIHdoaWNoIHlvdSdkIGxpa2UgdG8gcHJvY2VzcyB0aGUgU05TIGV2ZW50cyBkaXJlY3RseVxuICogKGUuZy4gYXV0b21hdGljYWxseSBjcmVhdGluZyBhIHN1cHByZXNzaW9uIGxpc3QgZnJvbSBib3VuY2VzKSwgeW91IGNhbiBzdWJzY3JpYmUgdG8gdGhlIFNOUyB0b3BpYy5cbiAqIFRvIGVuYWJsZSB0aGlzIHRoZSBTTlMgdG9waWMgQVJOIGlzIGV4cG9ydGVkIHZpYSBDbG91ZGZvcm1hdGlvbiBhcyBgUmlvU2VzT2JzZXJ2YWJpbGl0eVRvcGljQXJuYC5cbiAqXG4gKiAjIE5vdGVzXG4gKiAjIyBBZGQgbmVjZXNzYXJ5IHBlcm1pc3Npb25zIGZvciBmYXJnYXRlIHRhc2sgdG8gZW5hYmxlIHVzaW5nIHNlcyBjb25maWd1cmF0aW9uIHNldFxuICogTWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnMgaW4gdGhlIHRhc2sgcm9sZSBvZiB0aGUgZmFyZ2F0ZSB0YXNrLCBlLmcuOlxuICogYGBgdHlwZXNjcmlwdFxuICogICAgIHNlcnZpY2UudGFza0RlZmluaXRpb24udGFza1JvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gKiAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gKiAgICAgICAgIGFjdGlvbnM6IFsnc2VzOnNlbmRFbWFpbCcsICdzZXM6c2VuZFJhd0VtYWlsJ10sXG4gKiAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnNlczo8eW91cl9yZWdpb24+Ojx5b3VyX2FjY291bnQ+OmNvbmZpZ3VyYXRpb24tc2V0Lzx5b3VyX2NvbmZpZ3VyYXRpb25fc2V0X25hbWU+YF0sXG4gKiAgICAgICB9KSk7XG4gKiBgYGBcbiAqXG4gKiAjIyBXYXRjaGZ1bFxuICogSXQgbWlnaHQgYmUgaGVscGZ1bCB0byBhZGQgd2F0Y2hmdWwgdG8geW91ciBzdGFjayB0b1xuICogZ2V0IG5vdGlmaWVkIGlmIHRoZSBzZXMtbG9nZ2VyIGxhbWJkYSBmYWlscy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlc09ic2VydmFiaWxpdHkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvLyAhIGNoYW5naW5nIHRoZXNlIHZhbHVlcyBpcyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgdXNlcnNcbiAgc3RhdGljIHJlYWRvbmx5IENPTkZJR1VSQVRJT05fU0VUX05BTUVfU1NNX1BBUkFNRVRFUiA9ICcvcmlvL2NvbmZpZy9zZXMtb2JzZXJ2YWJpbGl0eS9jb25maWd1cmF0aW9uLXNldC1uYW1lJztcbiAgc3RhdGljIHJlYWRvbmx5IFNOU19UT1BJQ19BUk5fRVhQT1JUX05BTUUgPSAnUmlvU2VzT2JzZXJ2YWJpbGl0eVRvcGljQXJuJztcbiAgcmVhZG9ubHkgc25zVG9waWM6IHNucy5Ub3BpYztcbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvblNldDogc2VzLkNvbmZpZ3VyYXRpb25TZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlc09ic2VydmFiaWxpdHlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgYWNjb3VudElkID0gU3RhY2sub2YodGhpcykuYWNjb3VudDtcbiAgICBjb25zdCBhY2NvdW50TmFtZSA9IFJpb0xhbmRpbmdab25lLmdldEFjY291bnROYW1lUGFyYW1ldGVyKHRoaXMpO1xuXG4gICAgY29uc3QgcGFyYW1ldGVyID0gbmV3IHNzbS5TdHJpbmdQYXJhbWV0ZXIodGhpcywgJ0NvbmZpZ3VyYXRpb25TZXROYW1lJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogU2VzT2JzZXJ2YWJpbGl0eS5DT05GSUdVUkFUSU9OX1NFVF9OQU1FX1NTTV9QQVJBTUVURVIsXG4gICAgICBzdHJpbmdWYWx1ZTogJ3Jpby1zZXMtb2JzZXJ2YWJpbGl0eS1jb25maWd1cmF0aW9uLXNldCcsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNuc1RvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnU25zVG9waWMnLCB7XG4gICAgICB0b3BpY05hbWU6ICdyaW8tc2VzLW9ic2VydmFiaWxpdHktdG9waWMnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2V0ID0gbmV3IHNlcy5Db25maWd1cmF0aW9uU2V0KHRoaXMsICdDb25maWd1cmF0aW9uU2V0Jywge1xuICAgICAgY29uZmlndXJhdGlvblNldE5hbWU6IHBhcmFtZXRlci5zdHJpbmdWYWx1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY29uZmlndXJhdGlvblNldC5hZGRFdmVudERlc3RpbmF0aW9uKCdFdmVudERlc3RpbmF0aW9uJywge1xuICAgICAgY29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25OYW1lOiAncmlvLXNlcy1vYnNlcnZhYmlsaXR5LWV2ZW50LWRlc3RpbmF0aW9uJyxcbiAgICAgIGRlc3RpbmF0aW9uOiBzZXMuRXZlbnREZXN0aW5hdGlvbi5zbnNUb3BpYyh0aGlzLnNuc1RvcGljKSxcbiAgICAgIGV2ZW50czogcHJvcHMubG9nZ2VkU2VzRXZlbnRzID8/IFtcbiAgICAgICAgc2VzLkVtYWlsU2VuZGluZ0V2ZW50LkRFTElWRVJZLFxuICAgICAgICBzZXMuRW1haWxTZW5kaW5nRXZlbnQuQk9VTkNFLFxuICAgICAgICBzZXMuRW1haWxTZW5kaW5nRXZlbnQuQ09NUExBSU5ULFxuICAgICAgICBzZXMuRW1haWxTZW5kaW5nRXZlbnQuUkVKRUNULFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0Z1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnTG9nRnVuY3Rpb24nLCB7XG4gICAgICBmdW5jdGlvbk5hbWU6ICdyaW8tc2VzLW9ic2VydmFiaWxpdHktbG9nLWZ1bmN0aW9uJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yMF9YLFxuICAgICAgaGFuZGxlcjogJ3Nlcy1sb2dnZXIuaGFuZGxlcicsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgICAgc3lzdGVtTG9nTGV2ZWxWMjogbGFtYmRhLlN5c3RlbUxvZ0xldmVsLldBUk4sXG4gICAgICBsb2dnaW5nRm9ybWF0OiBsYW1iZGEuTG9nZ2luZ0Zvcm1hdC5KU09OLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICdsYW1iZGEnKSwge1xuICAgICAgICBleGNsdWRlOiBbJyouanMnLCAnKi5kLnRzJ10sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICB0aGlzLmVuc3VyZU5vU3Vic2NyaXB0aW9uRmlsdGVyc09uTGFtYmRhc0xvZ0dyb3VwKGxvZ0Z1bmN0aW9uKTtcblxuICAgIHRoaXMuc25zVG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzbnNTdWJzY3JpcHRpb25zLkxhbWJkYVN1YnNjcmlwdGlvbihsb2dGdW5jdGlvbikpO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ1Nuc1RvcGljQXJuJywge1xuICAgICAgdmFsdWU6IHRoaXMuc25zVG9waWMudG9waWNBcm4sXG4gICAgICBleHBvcnROYW1lOiBTZXNPYnNlcnZhYmlsaXR5LlNOU19UT1BJQ19BUk5fRVhQT1JUX05BTUUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBub3RpZmljYXRpb25IYW5kbGUgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtQWxlcnRTbGFja0NoYW5uZWxQYXJhbWV0ZXIodGhpcykuc3RyaW5nVmFsdWU7XG5cbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ1F1b3RhTW9uaXRvcicsIHtcbiAgICAgIG5hbWU6IGAke2FjY291bnROYW1lfSBTRVMgcXVvdGEgYWxtb3N0IHJlYWNoZWRgLFxuICAgICAgc2VydmljZU5hbWU6ICdhd3Mtc2VzJyxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLlFVRVJZX0FMRVJULFxuICAgICAgcXVlcnk6IGBtYXgobGFzdF8xaCk6bWF4OmF3cy5zZXMuc2VudF9sYXN0XzI0X2hvdXJze2FjY291bnRfaWQ6JHthY2NvdW50SWR9fSAvIG1heDphd3Muc2VzLm1heF8yNF9ob3VyX3NlbmR7YWNjb3VudF9pZDoke2FjY291bnRJZH19ID4gMC44YCxcbiAgICAgIG1lc3NhZ2U6IHRyaW1JbmRlbnRgXG4gICAgICAgIFlvdSBhcmUgYWxtb3N0IHVzaW5nIHVwIHlvdSdyZSBtYXhpbXVtIGVtYWlsIHNlbmRpbmcgcXVvdGEgcGVyIDI0aC4gXG4gICAgICAgIEVpdGhlciBbcmVxdWVzdCBhbiBpbmNyZWFzZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nlcy9sYXRlc3QvZGcvbWFuYWdlLXNlbmRpbmctcXVvdGFzLXJlcXVlc3QtaW5jcmVhc2UuaHRtbCkgZm9yIHlvdXIgcXVvdGEgYnkgQVdTIG9yIHJlZHVjZSB0aGUgYW1vdW50IG9mIGVtYWlscyBzZW50LlxuICAgICAgICBZb3UgY2FuIGZpbmQgbG9ncyBhYm91dCBhbGwgbWFpbHMgc2VudCBhdCBcXGAke2xvZ0Z1bmN0aW9uLmxvZ0dyb3VwLmxvZ0dyb3VwTmFtZX1cXGAuXG4gICAgICAgIFxuICAgICAgICB7eyNpc19hbGVydH19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0fX1cbiAgICAgICAge3sjaXNfYWxlcnRfcmVjb3Zlcnl9fUBzbGFjay0ke25vdGlmaWNhdGlvbkhhbmRsZX17ey9pc19hbGVydF9yZWNvdmVyeX19XG4gICAgICAgIGAsXG4gICAgICBwcmlvcml0eTogNCxcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IDAuOCxcbiAgICAgICAgICB3YXJuaW5nOiAwLjcsXG4gICAgICAgIH0sXG4gICAgICAgIGV2YWx1YXRpb25EZWxheTogOTAwLFxuICAgICAgfSxcbiAgICAgIG5vdGlmaWNhdGlvbjogbmV3IE5vTm90aWZpY2F0aW9uKCksXG4gICAgfSk7XG5cbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ0VtYWlsUmVqZWN0ZWRNb25pdG9yJywge1xuICAgICAgbmFtZTogYCR7YWNjb3VudE5hbWV9IFNFUyBFbWFpbCBSZWplY3RlZGAsXG4gICAgICBzZXJ2aWNlTmFtZTogJ2F3cy1zZXMnLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQsXG4gICAgICBxdWVyeTogYHN1bShsYXN0XzFoKTptYXg6YXdzLnNlcy5yZWplY3Rze2FjY291bnRfaWQ6JHthY2NvdW50SWR9fSA+IDBgLFxuICAgICAgbWVzc2FnZTogdHJpbUluZGVudGBcbiAgICAgICAgU0VTIFtyZWplY3RlZF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nlcy9sYXRlc3QvZGcvbW9uaXRvci1zZW5kaW5nLWFjdGl2aXR5Lmh0bWwpIHNlbmRpbmcgYXQgbGVhc3Qgb25lIGVtYWlsLlxuICAgICAgICBQbGVhc2UgaW52ZXN0aWdhdGUgdGhlIHJvb3QgY2FzZSwgYXMgdGhpcyBpcyBub3QgZXhwZWN0ZWQgdG8gaGFwcGVuIGluIHByb2R1Y3Rpb24gZXZlci5cbiAgICAgICAgWW91IGNhbiBmaW5kIGxvZ3MgYWJvdXQgYWxsIG1haWxzIHNlbnQgYXQgXFxgJHtsb2dGdW5jdGlvbi5sb2dHcm91cC5sb2dHcm91cE5hbWV9XFxgLlxuICAgICAgICBcbiAgICAgICAge3sjaXNfYWxlcnR9fUBzbGFjay0ke25vdGlmaWNhdGlvbkhhbmRsZX17ey9pc19hbGVydH19XG4gICAgICAgIGAsXG4gICAgICBwcmlvcml0eTogMyxcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGV2YWx1YXRpb25EZWxheTogOTAwLFxuICAgICAgfSxcbiAgICAgIG5vdGlmaWNhdGlvbjogbmV3IE5vTm90aWZpY2F0aW9uKCksXG4gICAgfSk7XG5cbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ0NvbXBsYWludFJhdGVNb25pdG9yJywge1xuICAgICAgbmFtZTogYCR7YWNjb3VudE5hbWV9IFNFUyByZXB1dGF0aW9uIGVuZGFuZ2VyZWQ6IENvbXBsYWludCByYXRlIEhpZ2hgLFxuICAgICAgc2VydmljZU5hbWU6ICdhd3Mtc2VzJyxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLlFVRVJZX0FMRVJULFxuICAgICAgcXVlcnk6IGBtYXgobGFzdF8xaCk6bWF4OmF3cy5zZXMucmVwdXRhdGlvbl9jb21wbGFpbnRfcmF0ZXthY2NvdW50X2lkOiR7YWNjb3VudElkfSBhbmQgbm90IHNlczoqfSA+IDAuMDAxYCxcbiAgICAgIG1lc3NhZ2U6IHRyaW1JbmRlbnRgXG4gICAgICAgIFdhcm5pbmcgVGhyZXNob2xkIGZvciBDb21wbGFpbnQgcmF0ZSB7eyNpc193YXJuaW5nfX1hbG1vc3Qge3svaXNfd2FybmluZ319cmVhY2hlZCAoYXMgZGVmaW5lZCBpbiBBV1MpLlxuICAgICAgICBcbiAgICAgICAgUGxlYXNlIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNvbXBsYWludHMgcmVjZWl2ZWQgZm9yIEUtbWFpbHMgc2VudCBieSB5b3VyIEFjY291bnQuXG4gICAgICAgIElmIHRoaXMgbWV0cmljIHJlYWNoZXMgXFxgMC41JVxcYCB0aGUgZW1haWwgc2VuZGluZyBjYXBhYmlsaXR5IG9mIHlvdXIgYWNjb3VudCB3aWxsIGJlIGRpc2FibGVkIGJ5IEFXUy5cbiAgICAgICAgWW91IGNhbiBmaW5kIGxvZ3MgYWJvdXQgYWxsIG1haWxzIHNlbnQgYXQgXFxgJHtsb2dGdW5jdGlvbi5sb2dHcm91cC5sb2dHcm91cE5hbWV9XFxgLlxuICAgICAgICBTZWUgW0FEUiAtIFNFUyBkb21haW4gcmVwdXRhdGlvbiBvYnNlcnZhYmlsaXR5XShodHRwczovL2NvbmZsdWVuY2UuY29sbGFib3JhdGlvbi1tYW4uY29tL2Rpc3BsYXkvTUFOL0FEUistK1NFUytkb21haW4rcmVwdXRhdGlvbitvYnNlcnZhYmlsaXR5KS5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB7eyNpc19hbGVydH19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0fX1cbiAgICAgICAge3sjaXNfYWxlcnRfcmVjb3Zlcnl9fUBzbGFjay0ke25vdGlmaWNhdGlvbkhhbmRsZX17ey9pc19hbGVydF9yZWNvdmVyeX19XG4gICAgICAgIGAsXG4gICAgICBwcmlvcml0eTogMixcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IDAuMDAxLFxuICAgICAgICAgIHdhcm5pbmc6IDAuMDAwOCxcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGlvbkRlbGF5OiA5MDAsXG4gICAgICB9LFxuICAgICAgbm90aWZpY2F0aW9uOiBuZXcgTm9Ob3RpZmljYXRpb24oKSxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhZG9nTW9uaXRvcih0aGlzLCAnQm91bmNlUmF0ZU1vbml0b3InLCB7XG4gICAgICBuYW1lOiBgJHthY2NvdW50TmFtZX0gU0VTIHJlcHV0YXRpb24gZW5kYW5nZXJlZDogQm91bmNlIFJhdGUgSGlnaGAsXG4gICAgICBzZXJ2aWNlTmFtZTogJ2F3cy1zZXMnLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQsXG4gICAgICBxdWVyeTogYG1heChsYXN0XzFoKTptYXg6YXdzLnNlcy5yZXB1dGF0aW9uX2JvdW5jZV9yYXRle2FjY291bnRfaWQ6JHthY2NvdW50SWR9IGFuZCBub3Qgc2VzOip9ID4gMC4wNWAsXG4gICAgICBtZXNzYWdlOiB0cmltSW5kZW50YFxuICAgICAgICBXYXJuaW5nIFRocmVzaG9sZCBmb3IgQm91bmNlIHJhdGUge3sjaXNfd2FybmluZ319YWxtb3N0IHt7L2lzX3dhcm5pbmd9fXJlYWNoZWQgKGFzIGRlZmluZWQgaW4gQVdTKS5cbiAgICAgICAgXG4gICAgICAgIFBsZWFzZSByZWR1Y2UgdGhlIG51bWJlciBvZiBib3VuY2VzIGZvciBFLW1haWxzIHNlbnQgYnkgeW91ciBBY2NvdW50LlxuICAgICAgICBJZiB0aGlzIG1ldHJpYyByZWFjaGVzIFxcYDEwJVxcYCB0aGUgZW1haWwgc2VuZGluZyBjYXBhYmlsaXR5IG9mIHlvdXIgYWNjb3VudCB3aWxsIGJlIGRpc2FibGVkIGJ5IEFXUy5cbiAgICAgICAgWW91IGNhbiBmaW5kIGxvZ3MgYWJvdXQgYWxsIG1haWxzIHNlbnQgYXQgXFxgJHtsb2dGdW5jdGlvbi5sb2dHcm91cC5sb2dHcm91cE5hbWV9XFxgLlxuICAgICAgICBTZWUgW0FEUiAtIFNFUyBkb21haW4gcmVwdXRhdGlvbiBvYnNlcnZhYmlsaXR5XShodHRwczovL2NvbmZsdWVuY2UuY29sbGFib3JhdGlvbi1tYW4uY29tL2Rpc3BsYXkvTUFOL0FEUistK1NFUytkb21haW4rcmVwdXRhdGlvbitvYnNlcnZhYmlsaXR5KS5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB7eyNpc19hbGVydH19QHNsYWNrLSR7bm90aWZpY2F0aW9uSGFuZGxlfXt7L2lzX2FsZXJ0fX1cbiAgICAgICAge3sjaXNfYWxlcnRfcmVjb3Zlcnl9fUBzbGFjay0ke25vdGlmaWNhdGlvbkhhbmRsZX17ey9pc19hbGVydF9yZWNvdmVyeX19XG4gICAgICAgIGAsXG4gICAgICBwcmlvcml0eTogMixcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IDAuMDUsXG4gICAgICAgICAgd2FybmluZzogMC4wNCxcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGlvbkRlbGF5OiA5MDAsXG4gICAgICB9LFxuICAgICAgbm90aWZpY2F0aW9uOiBuZXcgTm9Ob3RpZmljYXRpb24oKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGVuc3VyZXMgdGhhdCBubyBQSUkgaXMgbGVha2VkIHRvIERhdGFkb2cgYnkgYWRkaW5nIGEgc3Vic2NyaXB0aW9uIGZpbHRlciB0byB0aGUgbG9nIGdyb3VwIG9mIHRoZSBsYW1iZGEuXG4gICAqL1xuICBwcml2YXRlIGVuc3VyZU5vU3Vic2NyaXB0aW9uRmlsdGVyc09uTGFtYmRhc0xvZ0dyb3VwKGxvZ0Z1bmN0aW9uOiBOb2RlanNGdW5jdGlvbikge1xuICAgIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHRoaXMpO1xuICAgIHN0YWNrLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIHN0YWNrLm5vZGUuZmluZEFsbCgpLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5TdWJzY3JpcHRpb25GaWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ0dyb3VwTmFtZSA9IG5vZGUubG9nR3JvdXBOYW1lO1xuICAgICAgICAgICAgaWYgKGxvZ0dyb3VwTmFtZSA9PT0gbG9nRnVuY3Rpb24ubG9nR3JvdXAubG9nR3JvdXBOYW1lKSB7XG4gICAgICAgICAgICAgIGVycm9ycy5wdXNoKCdTdWJzY3JpcHRpb24gZmlsdGVycyBhcmUgbm90IGFsbG93ZWQgc2VzLW9ic2VydmFiaWxpdHkgbGFtYmRhcyBsb2cgZ3JvdXAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
package/package.json
CHANGED
package/version.json
CHANGED