@gammarers/aws-rds-database-auto-running-protection-stack 2.3.11 → 2.4.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 +73 -24
- package/API.md +39 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +19 -2
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -3740,6 +3740,39 @@
|
|
|
3740
3740
|
}
|
|
3741
3741
|
},
|
|
3742
3742
|
"types": {
|
|
3743
|
+
"@gammarers/aws-rds-database-auto-running-protection-stack.LogOption": {
|
|
3744
|
+
"assembly": "@gammarers/aws-rds-database-auto-running-protection-stack",
|
|
3745
|
+
"datatype": true,
|
|
3746
|
+
"docs": {
|
|
3747
|
+
"stability": "stable"
|
|
3748
|
+
},
|
|
3749
|
+
"fqn": "@gammarers/aws-rds-database-auto-running-protection-stack.LogOption",
|
|
3750
|
+
"kind": "interface",
|
|
3751
|
+
"locationInModule": {
|
|
3752
|
+
"filename": "src/index.ts",
|
|
3753
|
+
"line": 32
|
|
3754
|
+
},
|
|
3755
|
+
"name": "LogOption",
|
|
3756
|
+
"properties": [
|
|
3757
|
+
{
|
|
3758
|
+
"abstract": true,
|
|
3759
|
+
"docs": {
|
|
3760
|
+
"stability": "stable"
|
|
3761
|
+
},
|
|
3762
|
+
"immutable": true,
|
|
3763
|
+
"locationInModule": {
|
|
3764
|
+
"filename": "src/index.ts",
|
|
3765
|
+
"line": 33
|
|
3766
|
+
},
|
|
3767
|
+
"name": "machineLogLevel",
|
|
3768
|
+
"optional": true,
|
|
3769
|
+
"type": {
|
|
3770
|
+
"fqn": "aws-cdk-lib.aws_stepfunctions.LogLevel"
|
|
3771
|
+
}
|
|
3772
|
+
}
|
|
3773
|
+
],
|
|
3774
|
+
"symbolId": "src/index:LogOption"
|
|
3775
|
+
},
|
|
3743
3776
|
"@gammarers/aws-rds-database-auto-running-protection-stack.Notifications": {
|
|
3744
3777
|
"assembly": "@gammarers/aws-rds-database-auto-running-protection-stack",
|
|
3745
3778
|
"datatype": true,
|
|
@@ -3750,7 +3783,7 @@
|
|
|
3750
3783
|
"kind": "interface",
|
|
3751
3784
|
"locationInModule": {
|
|
3752
3785
|
"filename": "src/index.ts",
|
|
3753
|
-
"line":
|
|
3786
|
+
"line": 25
|
|
3754
3787
|
},
|
|
3755
3788
|
"name": "Notifications",
|
|
3756
3789
|
"properties": [
|
|
@@ -3762,7 +3795,7 @@
|
|
|
3762
3795
|
"immutable": true,
|
|
3763
3796
|
"locationInModule": {
|
|
3764
3797
|
"filename": "src/index.ts",
|
|
3765
|
-
"line":
|
|
3798
|
+
"line": 26
|
|
3766
3799
|
},
|
|
3767
3800
|
"name": "emails",
|
|
3768
3801
|
"optional": true,
|
|
@@ -3783,7 +3816,7 @@
|
|
|
3783
3816
|
"immutable": true,
|
|
3784
3817
|
"locationInModule": {
|
|
3785
3818
|
"filename": "src/index.ts",
|
|
3786
|
-
"line":
|
|
3819
|
+
"line": 27
|
|
3787
3820
|
},
|
|
3788
3821
|
"name": "slack",
|
|
3789
3822
|
"optional": true,
|
|
@@ -3807,7 +3840,7 @@
|
|
|
3807
3840
|
},
|
|
3808
3841
|
"locationInModule": {
|
|
3809
3842
|
"filename": "src/index.ts",
|
|
3810
|
-
"line":
|
|
3843
|
+
"line": 56
|
|
3811
3844
|
},
|
|
3812
3845
|
"parameters": [
|
|
3813
3846
|
{
|
|
@@ -3833,7 +3866,7 @@
|
|
|
3833
3866
|
"kind": "class",
|
|
3834
3867
|
"locationInModule": {
|
|
3835
3868
|
"filename": "src/index.ts",
|
|
3836
|
-
"line":
|
|
3869
|
+
"line": 55
|
|
3837
3870
|
},
|
|
3838
3871
|
"name": "RDSDatabaseAutoRunningProtectionStack",
|
|
3839
3872
|
"symbolId": "src/index:RDSDatabaseAutoRunningProtectionStack"
|
|
@@ -3851,7 +3884,7 @@
|
|
|
3851
3884
|
"kind": "interface",
|
|
3852
3885
|
"locationInModule": {
|
|
3853
3886
|
"filename": "src/index.ts",
|
|
3854
|
-
"line":
|
|
3887
|
+
"line": 36
|
|
3855
3888
|
},
|
|
3856
3889
|
"name": "RDSDatabaseAutoRunningProtectionStackProps",
|
|
3857
3890
|
"properties": [
|
|
@@ -3863,7 +3896,7 @@
|
|
|
3863
3896
|
"immutable": true,
|
|
3864
3897
|
"locationInModule": {
|
|
3865
3898
|
"filename": "src/index.ts",
|
|
3866
|
-
"line":
|
|
3899
|
+
"line": 37
|
|
3867
3900
|
},
|
|
3868
3901
|
"name": "targetResource",
|
|
3869
3902
|
"type": {
|
|
@@ -3878,7 +3911,7 @@
|
|
|
3878
3911
|
"immutable": true,
|
|
3879
3912
|
"locationInModule": {
|
|
3880
3913
|
"filename": "src/index.ts",
|
|
3881
|
-
"line":
|
|
3914
|
+
"line": 38
|
|
3882
3915
|
},
|
|
3883
3916
|
"name": "enableRule",
|
|
3884
3917
|
"optional": true,
|
|
@@ -3894,7 +3927,23 @@
|
|
|
3894
3927
|
"immutable": true,
|
|
3895
3928
|
"locationInModule": {
|
|
3896
3929
|
"filename": "src/index.ts",
|
|
3897
|
-
"line":
|
|
3930
|
+
"line": 41
|
|
3931
|
+
},
|
|
3932
|
+
"name": "logOption",
|
|
3933
|
+
"optional": true,
|
|
3934
|
+
"type": {
|
|
3935
|
+
"fqn": "@gammarers/aws-rds-database-auto-running-protection-stack.LogOption"
|
|
3936
|
+
}
|
|
3937
|
+
},
|
|
3938
|
+
{
|
|
3939
|
+
"abstract": true,
|
|
3940
|
+
"docs": {
|
|
3941
|
+
"stability": "stable"
|
|
3942
|
+
},
|
|
3943
|
+
"immutable": true,
|
|
3944
|
+
"locationInModule": {
|
|
3945
|
+
"filename": "src/index.ts",
|
|
3946
|
+
"line": 39
|
|
3898
3947
|
},
|
|
3899
3948
|
"name": "notifications",
|
|
3900
3949
|
"optional": true,
|
|
@@ -3910,7 +3959,7 @@
|
|
|
3910
3959
|
"immutable": true,
|
|
3911
3960
|
"locationInModule": {
|
|
3912
3961
|
"filename": "src/index.ts",
|
|
3913
|
-
"line":
|
|
3962
|
+
"line": 40
|
|
3914
3963
|
},
|
|
3915
3964
|
"name": "resourceNamingOption",
|
|
3916
3965
|
"optional": true,
|
|
@@ -3943,7 +3992,7 @@
|
|
|
3943
3992
|
"kind": "interface",
|
|
3944
3993
|
"locationInModule": {
|
|
3945
3994
|
"filename": "src/index.ts",
|
|
3946
|
-
"line":
|
|
3995
|
+
"line": 44
|
|
3947
3996
|
},
|
|
3948
3997
|
"name": "ResourceCustomNaming",
|
|
3949
3998
|
"properties": [
|
|
@@ -3955,7 +4004,7 @@
|
|
|
3955
4004
|
"immutable": true,
|
|
3956
4005
|
"locationInModule": {
|
|
3957
4006
|
"filename": "src/index.ts",
|
|
3958
|
-
"line":
|
|
4007
|
+
"line": 50
|
|
3959
4008
|
},
|
|
3960
4009
|
"name": "startClusterEventCatchRuleName",
|
|
3961
4010
|
"type": {
|
|
@@ -3970,7 +4019,7 @@
|
|
|
3970
4019
|
"immutable": true,
|
|
3971
4020
|
"locationInModule": {
|
|
3972
4021
|
"filename": "src/index.ts",
|
|
3973
|
-
"line":
|
|
4022
|
+
"line": 48
|
|
3974
4023
|
},
|
|
3975
4024
|
"name": "startEventCatchRuleRoleName",
|
|
3976
4025
|
"type": {
|
|
@@ -3985,7 +4034,7 @@
|
|
|
3985
4034
|
"immutable": true,
|
|
3986
4035
|
"locationInModule": {
|
|
3987
4036
|
"filename": "src/index.ts",
|
|
3988
|
-
"line":
|
|
4037
|
+
"line": 49
|
|
3989
4038
|
},
|
|
3990
4039
|
"name": "startInstanceEventCatchRuleName",
|
|
3991
4040
|
"type": {
|
|
@@ -4000,7 +4049,7 @@
|
|
|
4000
4049
|
"immutable": true,
|
|
4001
4050
|
"locationInModule": {
|
|
4002
4051
|
"filename": "src/index.ts",
|
|
4003
|
-
"line":
|
|
4052
|
+
"line": 46
|
|
4004
4053
|
},
|
|
4005
4054
|
"name": "stateMachineName",
|
|
4006
4055
|
"type": {
|
|
@@ -4015,7 +4064,7 @@
|
|
|
4015
4064
|
"immutable": true,
|
|
4016
4065
|
"locationInModule": {
|
|
4017
4066
|
"filename": "src/index.ts",
|
|
4018
|
-
"line":
|
|
4067
|
+
"line": 47
|
|
4019
4068
|
},
|
|
4020
4069
|
"name": "stateMachineRoleName",
|
|
4021
4070
|
"type": {
|
|
@@ -4030,7 +4079,7 @@
|
|
|
4030
4079
|
"immutable": true,
|
|
4031
4080
|
"locationInModule": {
|
|
4032
4081
|
"filename": "src/index.ts",
|
|
4033
|
-
"line":
|
|
4082
|
+
"line": 45
|
|
4034
4083
|
},
|
|
4035
4084
|
"name": "type",
|
|
4036
4085
|
"type": {
|
|
@@ -4050,7 +4099,7 @@
|
|
|
4050
4099
|
"kind": "interface",
|
|
4051
4100
|
"locationInModule": {
|
|
4052
4101
|
"filename": "src/index.ts",
|
|
4053
|
-
"line":
|
|
4102
|
+
"line": 21
|
|
4054
4103
|
},
|
|
4055
4104
|
"name": "Slack",
|
|
4056
4105
|
"properties": [
|
|
@@ -4062,7 +4111,7 @@
|
|
|
4062
4111
|
"immutable": true,
|
|
4063
4112
|
"locationInModule": {
|
|
4064
4113
|
"filename": "src/index.ts",
|
|
4065
|
-
"line":
|
|
4114
|
+
"line": 22
|
|
4066
4115
|
},
|
|
4067
4116
|
"name": "webhookSecretName",
|
|
4068
4117
|
"type": {
|
|
@@ -4082,7 +4131,7 @@
|
|
|
4082
4131
|
"kind": "interface",
|
|
4083
4132
|
"locationInModule": {
|
|
4084
4133
|
"filename": "src/index.ts",
|
|
4085
|
-
"line":
|
|
4134
|
+
"line": 16
|
|
4086
4135
|
},
|
|
4087
4136
|
"name": "TargetResource",
|
|
4088
4137
|
"properties": [
|
|
@@ -4094,7 +4143,7 @@
|
|
|
4094
4143
|
"immutable": true,
|
|
4095
4144
|
"locationInModule": {
|
|
4096
4145
|
"filename": "src/index.ts",
|
|
4097
|
-
"line":
|
|
4146
|
+
"line": 17
|
|
4098
4147
|
},
|
|
4099
4148
|
"name": "tagKey",
|
|
4100
4149
|
"type": {
|
|
@@ -4109,7 +4158,7 @@
|
|
|
4109
4158
|
"immutable": true,
|
|
4110
4159
|
"locationInModule": {
|
|
4111
4160
|
"filename": "src/index.ts",
|
|
4112
|
-
"line":
|
|
4161
|
+
"line": 18
|
|
4113
4162
|
},
|
|
4114
4163
|
"name": "tagValues",
|
|
4115
4164
|
"type": {
|
|
@@ -4125,6 +4174,6 @@
|
|
|
4125
4174
|
"symbolId": "src/index:TargetResource"
|
|
4126
4175
|
}
|
|
4127
4176
|
},
|
|
4128
|
-
"version": "2.
|
|
4129
|
-
"fingerprint": "
|
|
4177
|
+
"version": "2.4.0",
|
|
4178
|
+
"fingerprint": "CSgI12matJ/q5EV44aAhReueVuq841eUqWo7xzNKk8U="
|
|
4130
4179
|
}
|
package/API.md
CHANGED
|
@@ -879,6 +879,34 @@ Whether termination protection is enabled for this stack.
|
|
|
879
879
|
|
|
880
880
|
## Structs <a name="Structs" id="Structs"></a>
|
|
881
881
|
|
|
882
|
+
### LogOption <a name="LogOption" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption"></a>
|
|
883
|
+
|
|
884
|
+
#### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.Initializer"></a>
|
|
885
|
+
|
|
886
|
+
```typescript
|
|
887
|
+
import { LogOption } from '@gammarers/aws-rds-database-auto-running-protection-stack'
|
|
888
|
+
|
|
889
|
+
const logOption: LogOption = { ... }
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
893
|
+
|
|
894
|
+
| **Name** | **Type** | **Description** |
|
|
895
|
+
| --- | --- | --- |
|
|
896
|
+
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.property.machineLogLevel">machineLogLevel</a></code> | <code>aws-cdk-lib.aws_stepfunctions.LogLevel</code> | *No description.* |
|
|
897
|
+
|
|
898
|
+
---
|
|
899
|
+
|
|
900
|
+
##### `machineLogLevel`<sup>Optional</sup> <a name="machineLogLevel" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.property.machineLogLevel"></a>
|
|
901
|
+
|
|
902
|
+
```typescript
|
|
903
|
+
public readonly machineLogLevel: LogLevel;
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
- *Type:* aws-cdk-lib.aws_stepfunctions.LogLevel
|
|
907
|
+
|
|
908
|
+
---
|
|
909
|
+
|
|
882
910
|
### Notifications <a name="Notifications" id="@gammarers/aws-rds-database-auto-running-protection-stack.Notifications"></a>
|
|
883
911
|
|
|
884
912
|
#### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-auto-running-protection-stack.Notifications.Initializer"></a>
|
|
@@ -944,6 +972,7 @@ const rDSDatabaseAutoRunningProtectionStackProps: RDSDatabaseAutoRunningProtecti
|
|
|
944
972
|
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether to enable termination protection for this stack. |
|
|
945
973
|
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.targetResource">targetResource</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.TargetResource">TargetResource</a></code> | *No description.* |
|
|
946
974
|
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.enableRule">enableRule</a></code> | <code>boolean</code> | *No description.* |
|
|
975
|
+
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.logOption">logOption</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption">LogOption</a></code> | *No description.* |
|
|
947
976
|
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.notifications">notifications</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.Notifications">Notifications</a></code> | *No description.* |
|
|
948
977
|
| <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.resourceNamingOption">resourceNamingOption</a></code> | <code>@gammarers/aws-resource-naming.ResourceDefaultNaming \| @gammarers/aws-resource-naming.ResourceAutoNaming \| <a href="#@gammarers/aws-rds-database-auto-running-protection-stack.ResourceCustomNaming">ResourceCustomNaming</a></code> | *No description.* |
|
|
949
978
|
|
|
@@ -1179,6 +1208,16 @@ public readonly enableRule: boolean;
|
|
|
1179
1208
|
|
|
1180
1209
|
---
|
|
1181
1210
|
|
|
1211
|
+
##### `logOption`<sup>Optional</sup> <a name="logOption" id="@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.logOption"></a>
|
|
1212
|
+
|
|
1213
|
+
```typescript
|
|
1214
|
+
public readonly logOption: LogOption;
|
|
1215
|
+
```
|
|
1216
|
+
|
|
1217
|
+
- *Type:* <a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption">LogOption</a>
|
|
1218
|
+
|
|
1219
|
+
---
|
|
1220
|
+
|
|
1182
1221
|
##### `notifications`<sup>Optional</sup> <a name="notifications" id="@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.notifications"></a>
|
|
1183
1222
|
|
|
1184
1223
|
```typescript
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ResourceAutoNaming, ResourceDefaultNaming, ResourceNamingType as RDSDatabaseAutoRunningProtectionStackResourceNamingType } from '@gammarers/aws-resource-naming';
|
|
2
2
|
import { Stack, StackProps } from 'aws-cdk-lib';
|
|
3
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
3
4
|
import { Construct } from 'constructs';
|
|
4
5
|
export { RDSDatabaseAutoRunningProtectionStackResourceNamingType };
|
|
5
6
|
export interface TargetResource {
|
|
@@ -13,11 +14,16 @@ export interface Notifications {
|
|
|
13
14
|
readonly emails?: string[];
|
|
14
15
|
readonly slack?: Slack;
|
|
15
16
|
}
|
|
17
|
+
export type MachineLogLevel = sfn.LogLevel;
|
|
18
|
+
export interface LogOption {
|
|
19
|
+
readonly machineLogLevel?: MachineLogLevel;
|
|
20
|
+
}
|
|
16
21
|
export interface RDSDatabaseAutoRunningProtectionStackProps extends StackProps {
|
|
17
22
|
readonly targetResource: TargetResource;
|
|
18
23
|
readonly enableRule?: boolean;
|
|
19
24
|
readonly notifications?: Notifications;
|
|
20
25
|
readonly resourceNamingOption?: ResourceNamingOption;
|
|
26
|
+
readonly logOption?: LogOption;
|
|
21
27
|
}
|
|
22
28
|
export interface ResourceCustomNaming {
|
|
23
29
|
readonly type: RDSDatabaseAutoRunningProtectionStackResourceNamingType.CUSTOM;
|
package/lib/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
|
10
10
|
const events = require("aws-cdk-lib/aws-events");
|
|
11
11
|
const targets = require("aws-cdk-lib/aws-events-targets");
|
|
12
12
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
13
|
+
const logs = require("aws-cdk-lib/aws-logs");
|
|
13
14
|
const sns = require("aws-cdk-lib/aws-sns");
|
|
14
15
|
const subscriptions = require("aws-cdk-lib/aws-sns-subscriptions");
|
|
15
16
|
const protection_state_machine_1 = require("./resources/protection-state-machine");
|
|
@@ -48,6 +49,22 @@ class RDSDatabaseAutoRunningProtectionStack extends aws_cdk_lib_1.Stack {
|
|
|
48
49
|
const stateMachine = new protection_state_machine_1.ProtectionStateMachine(this, 'StateMachine', {
|
|
49
50
|
stateMachineName: names.stateMachineName,
|
|
50
51
|
notificationTopic: topic,
|
|
52
|
+
logs: (() => {
|
|
53
|
+
if (props.logOption?.machineLogLevel) {
|
|
54
|
+
return {
|
|
55
|
+
destination: new logs.LogGroup(this, 'StateMachineLogGroup', {
|
|
56
|
+
logGroupName: (() => {
|
|
57
|
+
if (names.stateMachineName) {
|
|
58
|
+
return `/aws/states/${names.stateMachineName}`;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
})(),
|
|
62
|
+
}),
|
|
63
|
+
level: props.logOption.machineLogLevel,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
})(),
|
|
51
68
|
});
|
|
52
69
|
if (names.stateMachineRoleName) {
|
|
53
70
|
const role = stateMachine.node.findChild('Role');
|
|
@@ -135,5 +152,5 @@ class RDSDatabaseAutoRunningProtectionStack extends aws_cdk_lib_1.Stack {
|
|
|
135
152
|
}
|
|
136
153
|
exports.RDSDatabaseAutoRunningProtectionStack = RDSDatabaseAutoRunningProtectionStack;
|
|
137
154
|
_a = JSII_RTTI_SYMBOL_1;
|
|
138
|
-
RDSDatabaseAutoRunningProtectionStack[_a] = { fqn: "@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStack", version: "2.
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBMEw7QUFXakwsd0lBWGlGLHdDQUF1RCxPQVdqRjtBQVZoRSxvSEFBeUc7QUFDekcsNkNBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyxtRUFBbUU7QUFFbkUsbUZBQThFO0FBb0M5RSxNQUFhLHFDQUFzQyxTQUFRLG1CQUFLO0lBQzlELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUQ7UUFDekYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsbUNBQW1DO1FBQ25DLE1BQU0sTUFBTSxHQUFHLG9DQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxtQkFBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckcsa0JBQWtCO1FBQ2xCLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLGdCQUFnQixFQUFFLDRCQUE0QixNQUFNLGdCQUFnQjtZQUNwRSxvQkFBb0IsRUFBRSwwQ0FBMEMsTUFBTSxPQUFPO1lBQzdFLDJCQUEyQixFQUFFLG1DQUFtQyxNQUFNLE9BQU87WUFDN0UsK0JBQStCLEVBQUUsdUNBQXVDLE1BQU0sT0FBTztZQUNyRiw4QkFBOEIsRUFBRSxzQ0FBc0MsTUFBTSxPQUFPO1NBQ3BGLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxvQ0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLG9CQUEyRCxDQUFDLENBQUM7UUFFbkgsaUNBQWlDO1FBQ2pDLE1BQU0sS0FBSyxHQUFjLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDaEUsU0FB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TSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO3dCQUN0QyxNQUFNLEVBQUU7NEJBQ04sTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTTs0QkFDbkMsU0FBUyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUzt5QkFDMUM7cUJBQ0YsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9ISCxzRkFnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZUF1dG9OYW1pbmcsIFJlc291cmNlRGVmYXVsdE5hbWluZywgUmVzb3VyY2VOYW1pbmcsIFJlc291cmNlTmFtaW5nVHlwZSBhcyBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlIH0gZnJvbSAnQGdhbW1hcmVycy9hd3MtcmVzb3VyY2UtbmFtaW5nJztcbmltcG9ydCB7IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbiB9IGZyb20gJ0BnYW1tYXJlcnMvYXdzLXNucy1zbGFjay1tZXNzYWdlLWxhbWJkYS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgTmFtZXMsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc3Vic2NyaXB0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lIH0gZnJvbSAnLi9yZXNvdXJjZXMvcHJvdGVjdGlvbi1zdGF0ZS1tYWNoaW5lJztcblxuZXhwb3J0IHsgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Jlc291cmNlTmFtaW5nVHlwZSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFJlc291cmNlIHtcbiAgcmVhZG9ubHkgdGFnS2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ1ZhbHVlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2sge1xuICByZWFkb25seSB3ZWJob29rU2VjcmV0TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnMge1xuICByZWFkb25seSBlbWFpbHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc2xhY2s/OiBTbGFjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgdGFyZ2V0UmVzb3VyY2U6IFRhcmdldFJlc291cmNlO1xuICByZWFkb25seSBlbmFibGVSdWxlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9ucz86IE5vdGlmaWNhdGlvbnM7XG4gIHJlYWRvbmx5IHJlc291cmNlTmFtaW5nT3B0aW9uPzogUmVzb3VyY2VOYW1pbmdPcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDdXN0b21OYW1pbmcge1xuICByZWFkb25seSB0eXBlOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlLkNVU1RPTTtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVSb2xlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VOYW1pbmdPcHRpb24gPSBSZXNvdXJjZURlZmF1bHROYW1pbmcgfCBSZXNvdXJjZUF1dG9OYW1pbmcgfCBSZXNvdXJjZUN1c3RvbU5hbWluZztcblxuZXhwb3J0IGNsYXNzIFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIPCfkYcgQ3JlYXRlIHJhbmRvbSA4IGxlbmd0aCBzdHJpbmdcbiAgICBjb25zdCByYW5kb20gPSBSZXNvdXJjZU5hbWluZy5jcmVhdGVSYW5kb21TdHJpbmcoYCR7TmFtZXMudW5pcXVlSWQoc2NvcGUpfS4ke05hbWVzLnVuaXF1ZUlkKHRoaXMpfWApO1xuICAgIC8vIPCfkYcgQXV0byBuYWVtaW5nXG4gICAgY29uc3QgYXV0b05hbWluZyA9IHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3AtJHtyYW5kb219LXN0YXRlLW1hY2hpbmVgLFxuICAgICAgc3RhdGVNYWNoaW5lUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcm9sZWAsXG4gICAgICBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLWNhdGNoLWV2ZW50LSR7cmFuZG9tfS1yb2xlYCxcbiAgICAgIHN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItaW5zdGFuY2UtcnVubmluZy1ldmVudC1jYXRjaC0ke3JhbmRvbX0tcnVsZWAsXG4gICAgICBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItY2x1c3Rlci1ydW5uaW5nLWV2ZW50LWNhdGNoLSR7cmFuZG9tfS1ydWxlYCxcbiAgICB9O1xuICAgIGNvbnN0IG5hbWVzID0gUmVzb3VyY2VOYW1pbmcubmFtaW5nKGF1dG9OYW1pbmcsIHByb3BzLnJlc291cmNlTmFtaW5nT3B0aW9uIGFzIFJlc291cmNlTmFtaW5nLlJlc291cmNlTmFtaW5nT3B0aW9uKTtcblxuICAgIC8vIPCfkYcgU05TIFRvcGljIGZvciBub3RpZmljYXRpb25zXG4gICAgY29uc3QgdG9waWM6IHNucy5Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgJ05vdGlmaWNhdGlvblRvcGljJywge1xuICAgICAgdG9waWNOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogbmFtZXMubm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3Vic2NyaWJlIGFuIGVtYWlsIGVuZHBvaW50IHRvIHRoZSB0b3BpY1xuICAgIGNvbnN0IGVtYWlscyA9IHByb3BzLm5vdGlmaWNhdGlvbnM/LmVtYWlscyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGVtYWlsIG9mIGVtYWlscykge1xuICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzdWJzY3JpcHRpb25zLkVtYWlsU3Vic2NyaXB0aW9uKGVtYWlsKSk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBTdWJzY3JpcHRpb24gc2xhY2sgd2ViaG9va1xuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25zPy5zbGFjaykge1xuICAgICAgbmV3IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbih0aGlzLCAnU05TU2xhY2tNZXNzYWdlTGFtYmRhU3Vic2NyaXB0aW9uJywge1xuICAgICAgICB0b3BpYyxcbiAgICAgICAgc2xhY2tXZWJob29rU2VjcmV0TmFtZTogcHJvcHMubm90aWZpY2F0aW9ucy5zbGFjay53ZWJob29rU2VjcmV0TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIPCfkYcgU3RlcEZ1bmN0aW9uc1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiBuYW1lcy5zdGF0ZU1hY2hpbmVOYW1lLFxuICAgICAgbm90aWZpY2F0aW9uVG9waWM6IHRvcGljLFxuICAgIH0pO1xuICAgIGlmIChuYW1lcy5zdGF0ZU1hY2hpbmVSb2xlTmFtZSkge1xuICAgICAgY29uc3Qgcm9sZSA9IHN0YXRlTWFjaGluZS5ub2RlLmZpbmRDaGlsZCgnUm9sZScpIGFzIGlhbS5Sb2xlO1xuICAgICAgY29uc3QgY2ZuUm9sZSA9IHJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgaWFtLkNmblJvbGU7XG4gICAgICBjZm5Sb2xlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1JvbGVOYW1lJywgbmFtZXMuc3RhdGVNYWNoaW5lUm9sZU5hbWUpO1xuICAgICAgY2ZuUm9sZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdEZXNjcmlwdGlvbicsICdyZHMgZGF0YWJhc2UgYXV0byBydW5uaW5nIHN0b3Agc3RhdGUgbWFjaGluZSByb2xlLicpO1xuICAgICAgY29uc3QgcG9saWN5ID0gcm9sZS5ub2RlLmZpbmRDaGlsZCgnRGVmYXVsdFBvbGljeScpIGFzIGlhbS5Qb2xpY3k7XG4gICAgICBjb25zdCBjZm5Qb2xpY3kgPSBwb2xpY3kubm9kZS5kZWZhdWx0Q2hpbGQgYXMgaWFtLkNmblBvbGljeTtcbiAgICAgIGNmblBvbGljeS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdQb2xpY3lOYW1lJywgYHJkcy1kYi1hdXRvLXJ1bm5pbmctc3RvcC1zdGF0ZS1tYWNoaW5lLSR7cmFuZG9tfS1wb2xpY3lgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGVjUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnRXZlbnRFeGVjUm9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiBuYW1lcy5zdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ2RiIGF1dG8gc3RhcnQgY2F0Y2ggd2l0aCBzdGFydCBzdGF0ZSBtYWNoaW5lIGV2ZW50IHJvbGUnLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2V2ZW50cy5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICAnc3RhdGUtbWFjaGluZS1leGVjJzogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnc3RhdGVzOlN0YXJ0RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGVuYWJsZVJ1bGU6IGJvb2xlYW4gPSAoKCkgPT4ge1xuICAgICAgcmV0dXJuIHByb3BzLmVuYWJsZVJ1bGUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy5lbmFibGVSdWxlO1xuICAgIH0pKCk7XG5cbiAgICAvLyDwn5GHIEV2ZW50QnJpZGdlIGJ5IFJEUyBEQiBJbnN0YW5jZSBBdXRvIFN0YXJ0IEV2ZW50XG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdEQkluc3RhbmNlRXZlbnQnLCB7XG4gICAgICBydWxlTmFtZTogbmFtZXMuc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAncmRzIGRiIGluc3RhbmNlIHJ1bm5pbmcgZXZlbnQgY2F0Y2ggcnVsZS4nLFxuICAgICAgZW5hYmxlZDogZW5hYmxlUnVsZSxcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFsnYXdzLnJkcyddLFxuICAgICAgICBkZXRhaWxUeXBlOiBbJ1JEUyBEQiBJbnN0YW5jZSBFdmVudCddLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBFdmVudElEOiBbJ1JEUy1FVkVOVC0wMTU0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW1xuICAgICAgICBuZXcgdGFyZ2V0cy5TZm5TdGF0ZU1hY2hpbmUoc3RhdGVNYWNoaW5lLCB7XG4gICAgICAgICAgcm9sZTogZXhlY1JvbGUsXG4gICAgICAgICAgaW5wdXQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICBldmVudDogZXZlbnRzLkV2ZW50RmllbGQuZnJvbVBhdGgoJyQnKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICB0YWdLZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICAgICAgdGFnVmFsdWVzOiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdWYWx1ZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIEV2ZW50QnJpZGdlIGJ5IFJEUyBEQiBJbnN0YW5jZSBBdXRvIFN0YXJ0IEV2ZW50XG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdEQkNsdXN0ZXJFdmVudCcsIHtcbiAgICAgIHJ1bGVOYW1lOiBuYW1lcy5zdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ2RiIGNsdXN0ZXIgcnVubmluZyBldmVudCBjYXRjaCBydWxlJyxcbiAgICAgIGVuYWJsZWQ6IGVuYWJsZVJ1bGUsXG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5yZHMnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydSRFMgREIgQ2x1c3RlciBFdmVudCddLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBFdmVudElEOiBbJ1JEUy1FVkVOVC0wMTUzJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW1xuICAgICAgICBuZXcgdGFyZ2V0cy5TZm5TdGF0ZU1hY2hpbmUoc3RhdGVNYWNoaW5lLCB7XG4gICAgICAgICAgcm9sZTogZXhlY1JvbGUsXG4gICAgICAgICAgaW5wdXQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICBldmVudDogZXZlbnRzLkV2ZW50RmllbGQuZnJvbVBhdGgoJyQnKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICB0YWdLZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICAgICAgdGFnVmFsdWVzOiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdWYWx1ZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
155
|
+
RDSDatabaseAutoRunningProtectionStack[_a] = { fqn: "@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStack", version: "2.4.0" };
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBMEw7QUFhakwsd0lBYmlGLHdDQUF1RCxPQWFqRjtBQVpoRSxvSEFBeUc7QUFDekcsNkNBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDZDQUE2QztBQUM3QywyQ0FBMkM7QUFDM0MsbUVBQW1FO0FBR25FLG1GQUE4RTtBQTJDOUUsTUFBYSxxQ0FBc0MsU0FBUSxtQkFBSztJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlEO1FBQ3pGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxvQ0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsbUJBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLGtCQUFrQjtRQUNsQixNQUFNLFVBQVUsR0FBRztZQUNqQixnQkFBZ0IsRUFBRSw0QkFBNEIsTUFBTSxnQkFBZ0I7WUFDcEUsb0JBQW9CLEVBQUUsMENBQTBDLE1BQU0sT0FBTztZQUM3RSwyQkFBMkIsRUFBRSxtQ0FBbUMsTUFBTSxPQUFPO1lBQzdFLCtCQUErQixFQUFFLHVDQUF1QyxNQUFNLE9BQU87WUFDckYsOEJBQThCLEVBQUUsc0NBQXNDLE1BQU0sT0FBTztTQUNwRixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsb0NBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxvQkFBMkQsQ0FBQyxDQUFDO1FBRW5ILGlDQUFpQztRQUNqQyxNQUFNLEtBQUssR0FBYyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLG1CQUFtQixF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QzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgscURBQXFEO1FBQ3JELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyw4QkFBOEI7WUFDOUMsV0FBVyxFQUFFLHFDQUFxQztZQUNsRCxPQUFPLEVBQUUsVUFBVTtZQUNuQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuQixVQUFVLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDcEMsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QjthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUU7b0JBQ3hDLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQzt3QkFDdEMsTUFBTSxFQUFFOzRCQUNOLE1BQU0sRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU07NEJBQ25DLFNBQVMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVM7eUJBQzFDO3FCQUNGLENBQUM7aUJBQ0gsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEvSUgsc0ZBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VBdXRvTmFtaW5nLCBSZXNvdXJjZURlZmF1bHROYW1pbmcsIFJlc291cmNlTmFtaW5nLCBSZXNvdXJjZU5hbWluZ1R5cGUgYXMgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Jlc291cmNlTmFtaW5nVHlwZSB9IGZyb20gJ0BnYW1tYXJlcnMvYXdzLXJlc291cmNlLW5hbWluZyc7XG5pbXBvcnQgeyBTTlNTbGFja01lc3NhZ2VMYW1iZGFTdWJzY3JpcHRpb24gfSBmcm9tICdAZ2FtbWFyZXJzL2F3cy1zbnMtc2xhY2stbWVzc2FnZS1sYW1iZGEtc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE5hbWVzLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc3Vic2NyaXB0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUHJvdGVjdGlvblN0YXRlTWFjaGluZSB9IGZyb20gJy4vcmVzb3VyY2VzL3Byb3RlY3Rpb24tc3RhdGUtbWFjaGluZSc7XG5cbmV4cG9ydCB7IFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2tSZXNvdXJjZU5hbWluZ1R5cGUgfTtcblxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHRhZ0tleTogc3RyaW5nO1xuICByZWFkb25seSB0YWdWYWx1ZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrIHtcbiAgcmVhZG9ubHkgd2ViaG9va1NlY3JldE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zIHtcbiAgcmVhZG9ubHkgZW1haWxzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNsYWNrPzogU2xhY2s7XG59XG5cbmV4cG9ydCB0eXBlIE1hY2hpbmVMb2dMZXZlbCA9IHNmbi5Mb2dMZXZlbDtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dPcHRpb24ge1xuICByZWFkb25seSBtYWNoaW5lTG9nTGV2ZWw/OiBNYWNoaW5lTG9nTGV2ZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHRhcmdldFJlc291cmNlOiBUYXJnZXRSZXNvdXJjZTtcbiAgcmVhZG9ubHkgZW5hYmxlUnVsZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25zO1xuICByZWFkb25seSByZXNvdXJjZU5hbWluZ09wdGlvbj86IFJlc291cmNlTmFtaW5nT3B0aW9uO1xuICByZWFkb25seSBsb2dPcHRpb24/OiBMb2dPcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDdXN0b21OYW1pbmcge1xuICByZWFkb25seSB0eXBlOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlLkNVU1RPTTtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVSb2xlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VOYW1pbmdPcHRpb24gPSBSZXNvdXJjZURlZmF1bHROYW1pbmcgfCBSZXNvdXJjZUF1dG9OYW1pbmcgfCBSZXNvdXJjZUN1c3RvbU5hbWluZztcblxuZXhwb3J0IGNsYXNzIFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIPCfkYcgQ3JlYXRlIHJhbmRvbSA4IGxlbmd0aCBzdHJpbmdcbiAgICBjb25zdCByYW5kb20gPSBSZXNvdXJjZU5hbWluZy5jcmVhdGVSYW5kb21TdHJpbmcoYCR7TmFtZXMudW5pcXVlSWQoc2NvcGUpfS4ke05hbWVzLnVuaXF1ZUlkKHRoaXMpfWApO1xuICAgIC8vIPCfkYcgQXV0byBuYWVtaW5nXG4gICAgY29uc3QgYXV0b05hbWluZyA9IHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3AtJHtyYW5kb219LXN0YXRlLW1hY2hpbmVgLFxuICAgICAgc3RhdGVNYWNoaW5lUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcm9sZWAsXG4gICAgICBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLWNhdGNoLWV2ZW50LSR7cmFuZG9tfS1yb2xlYCxcbiAgICAgIHN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItaW5zdGFuY2UtcnVubmluZy1ldmVudC1jYXRjaC0ke3JhbmRvbX0tcnVsZWAsXG4gICAgICBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItY2x1c3Rlci1ydW5uaW5nLWV2ZW50LWNhdGNoLSR7cmFuZG9tfS1ydWxlYCxcbiAgICB9O1xuICAgIGNvbnN0IG5hbWVzID0gUmVzb3VyY2VOYW1pbmcubmFtaW5nKGF1dG9OYW1pbmcsIHByb3BzLnJlc291cmNlTmFtaW5nT3B0aW9uIGFzIFJlc291cmNlTmFtaW5nLlJlc291cmNlTmFtaW5nT3B0aW9uKTtcblxuICAgIC8vIPCfkYcgU05TIFRvcGljIGZvciBub3RpZmljYXRpb25zXG4gICAgY29uc3QgdG9waWM6IHNucy5Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgJ05vdGlmaWNhdGlvblRvcGljJywge1xuICAgICAgdG9waWNOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogbmFtZXMubm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3Vic2NyaWJlIGFuIGVtYWlsIGVuZHBvaW50IHRvIHRoZSB0b3BpY1xuICAgIGNvbnN0IGVtYWlscyA9IHByb3BzLm5vdGlmaWNhdGlvbnM/LmVtYWlscyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGVtYWlsIG9mIGVtYWlscykge1xuICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzdWJzY3JpcHRpb25zLkVtYWlsU3Vic2NyaXB0aW9uKGVtYWlsKSk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBTdWJzY3JpcHRpb24gc2xhY2sgd2ViaG9va1xuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25zPy5zbGFjaykge1xuICAgICAgbmV3IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbih0aGlzLCAnU05TU2xhY2tNZXNzYWdlTGFtYmRhU3Vic2NyaXB0aW9uJywge1xuICAgICAgICB0b3BpYyxcbiAgICAgICAgc2xhY2tXZWJob29rU2VjcmV0TmFtZTogcHJvcHMubm90aWZpY2F0aW9ucy5zbGFjay53ZWJob29rU2VjcmV0TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIPCfkYcgU3RlcEZ1bmN0aW9uc1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiBuYW1lcy5zdGF0ZU1hY2hpbmVOYW1lLFxuICAgICAgbm90aWZpY2F0aW9uVG9waWM6IHRvcGljLFxuICAgICAgbG9nczogKCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmxvZ09wdGlvbj8ubWFjaGluZUxvZ0xldmVsKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnU3RhdGVNYWNoaW5lTG9nR3JvdXAnLCB7XG4gICAgICAgICAgICAgIGxvZ0dyb3VwTmFtZTogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZXMuc3RhdGVNYWNoaW5lTmFtZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGAvYXdzL3N0YXRlcy8ke25hbWVzLnN0YXRlTWFjaGluZU5hbWV9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbGV2ZWw6IHByb3BzLmxvZ09wdGlvbi5tYWNoaW5lTG9nTGV2ZWwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSkoKSxcbiAgICB9KTtcbiAgICBpZiAobmFtZXMuc3RhdGVNYWNoaW5lUm9sZU5hbWUpIHtcbiAgICAgIGNvbnN0IHJvbGUgPSBzdGF0ZU1hY2hpbmUubm9kZS5maW5kQ2hpbGQoJ1JvbGUnKSBhcyBpYW0uUm9sZTtcbiAgICAgIGNvbnN0IGNmblJvbGUgPSByb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGlhbS5DZm5Sb2xlO1xuICAgICAgY2ZuUm9sZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdSb2xlTmFtZScsIG5hbWVzLnN0YXRlTWFjaGluZVJvbGVOYW1lKTtcbiAgICAgIGNmblJvbGUuYWRkUHJvcGVydHlPdmVycmlkZSgnRGVzY3JpcHRpb24nLCAncmRzIGRhdGFiYXNlIGF1dG8gcnVubmluZyBzdG9wIHN0YXRlIG1hY2hpbmUgcm9sZS4nKTtcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJvbGUubm9kZS5maW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKSBhcyBpYW0uUG9saWN5O1xuICAgICAgY29uc3QgY2ZuUG9saWN5ID0gcG9saWN5Lm5vZGUuZGVmYXVsdENoaWxkIGFzIGlhbS5DZm5Qb2xpY3k7XG4gICAgICBjZm5Qb2xpY3kuYWRkUHJvcGVydHlPdmVycmlkZSgnUG9saWN5TmFtZScsIGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcG9saWN5YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhlY1JvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0V2ZW50RXhlY1JvbGUnLCB7XG4gICAgICByb2xlTmFtZTogbmFtZXMuc3RhcnRFdmVudENhdGNoUnVsZVJvbGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdkYiBhdXRvIHN0YXJ0IGNhdGNoIHdpdGggc3RhcnQgc3RhdGUgbWFjaGluZSBldmVudCByb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdldmVudHMuYW1hem9uYXdzLmNvbScpLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgJ3N0YXRlLW1hY2hpbmUtZXhlYyc6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3N0YXRlczpTdGFydEV4ZWN1dGlvbicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIHN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBlbmFibGVSdWxlOiBib29sZWFuID0gKCgpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5lbmFibGVSdWxlID09PSB1bmRlZmluZWQgfHwgcHJvcHMuZW5hYmxlUnVsZTtcbiAgICB9KSgpO1xuXG4gICAgLy8g8J+RhyBFdmVudEJyaWRnZSBieSBSRFMgREIgSW5zdGFuY2UgQXV0byBTdGFydCBFdmVudFxuICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCAnREJJbnN0YW5jZUV2ZW50Jywge1xuICAgICAgcnVsZU5hbWU6IG5hbWVzLnN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ3JkcyBkYiBpbnN0YW5jZSBydW5uaW5nIGV2ZW50IGNhdGNoIHJ1bGUuJyxcbiAgICAgIGVuYWJsZWQ6IGVuYWJsZVJ1bGUsXG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5yZHMnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydSRFMgREIgSW5zdGFuY2UgRXZlbnQnXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgRXZlbnRJRDogWydSRFMtRVZFTlQtMDE1NCddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtcbiAgICAgICAgbmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZSwge1xuICAgICAgICAgIHJvbGU6IGV4ZWNSb2xlLFxuICAgICAgICAgIGlucHV0OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50cy5FdmVudEZpZWxkLmZyb21QYXRoKCckJyksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGFnS2V5OiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdLZXksXG4gICAgICAgICAgICAgIHRhZ1ZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBFdmVudEJyaWRnZSBieSBSRFMgREIgSW5zdGFuY2UgQXV0byBTdGFydCBFdmVudFxuICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCAnREJDbHVzdGVyRXZlbnQnLCB7XG4gICAgICBydWxlTmFtZTogbmFtZXMuc3RhcnRDbHVzdGVyRXZlbnRDYXRjaFJ1bGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdkYiBjbHVzdGVyIHJ1bm5pbmcgZXZlbnQgY2F0Y2ggcnVsZScsXG4gICAgICBlbmFibGVkOiBlbmFibGVSdWxlLFxuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogWydhd3MucmRzJ10sXG4gICAgICAgIGRldGFpbFR5cGU6IFsnUkRTIERCIENsdXN0ZXIgRXZlbnQnXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgRXZlbnRJRDogWydSRFMtRVZFTlQtMDE1MyddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtcbiAgICAgICAgbmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZSwge1xuICAgICAgICAgIHJvbGU6IGV4ZWNSb2xlLFxuICAgICAgICAgIGlucHV0OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50cy5FdmVudEZpZWxkLmZyb21QYXRoKCckJyksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGFnS2V5OiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdLZXksXG4gICAgICAgICAgICAgIHRhZ1ZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59Il19
|