@horietakehiro/aws-cdk-utul 0.41.63 → 0.41.65

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.
Files changed (33) hide show
  1. package/lib/types/cfn-resource-types/aws-bedrockagentcore-gatewaytarget.d.ts +25 -2
  2. package/lib/types/cfn-resource-types/aws-bedrockagentcore-gatewaytarget.js +1 -1
  3. package/lib/types/cfn-resource-types/aws-bedrockagentcore-runtime.d.ts +63 -0
  4. package/lib/types/cfn-resource-types/aws-bedrockagentcore-runtime.js +1 -1
  5. package/lib/types/cfn-resource-types/aws-datazone-environment.d.ts +12 -0
  6. package/lib/types/cfn-resource-types/aws-datazone-environment.js +1 -1
  7. package/lib/types/cfn-resource-types/aws-ec2-natgateway.d.ts +0 -26
  8. package/lib/types/cfn-resource-types/aws-ec2-natgateway.js +1 -1
  9. package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.d.ts +5 -0
  10. package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.js +1 -1
  11. package/lib/types/cfn-resource-types/aws-emrcontainers-endpoint.d.ts +123 -0
  12. package/lib/types/cfn-resource-types/aws-emrcontainers-endpoint.js +3 -0
  13. package/lib/types/cfn-resource-types/aws-emrcontainers-securityconfiguration.d.ts +206 -0
  14. package/lib/types/cfn-resource-types/aws-emrcontainers-securityconfiguration.js +3 -0
  15. package/lib/types/cfn-resource-types/aws-gamelift-containerfleet.d.ts +154 -140
  16. package/lib/types/cfn-resource-types/aws-gamelift-containerfleet.js +1 -1
  17. package/lib/types/cfn-resource-types/aws-gamelift-fleet.d.ts +137 -123
  18. package/lib/types/cfn-resource-types/aws-gamelift-fleet.js +1 -1
  19. package/lib/types/cfn-resource-types/aws-iot-command.d.ts +43 -0
  20. package/lib/types/cfn-resource-types/aws-iot-command.js +1 -1
  21. package/lib/types/cfn-resource-types/aws-lightsail-databasesnapshot.d.ts +97 -0
  22. package/lib/types/cfn-resource-types/aws-lightsail-databasesnapshot.js +3 -0
  23. package/lib/types/cfn-resource-types/aws-medialive-channel.d.ts +13 -0
  24. package/lib/types/cfn-resource-types/aws-medialive-channel.js +1 -1
  25. package/lib/types/cfn-resource-types/aws-opensearchserverless-collection.d.ts +41 -23
  26. package/lib/types/cfn-resource-types/aws-opensearchserverless-collection.js +1 -1
  27. package/lib/types/cfn-resource-types/aws-organizations-policy.d.ts +2 -2
  28. package/lib/types/cfn-resource-types/aws-organizations-policy.js +1 -1
  29. package/lib/types/cfn-resource-types/aws-ses-configurationset.d.ts +10 -0
  30. package/lib/types/cfn-resource-types/aws-ses-configurationset.js +1 -1
  31. package/lib/types/cfn-resource-types.d.ts +6 -0
  32. package/lib/types/cfn-resource-types.js +26 -20
  33. package/package.json +1 -1
@@ -1,47 +1,47 @@
1
- /**
2
- * Configures the service that provides logs.
3
- */
4
- export type LogDestination = ("NONE" | "CLOUDWATCH" | "S3");
1
+ export type Location = string;
5
2
  /**
6
3
  * A list of fleet actions that have been suspended in the fleet location.
7
4
  *
8
5
  * @maxItems 1
9
6
  */
10
7
  export type StoppedActions = ("AUTO_SCALING")[];
11
- export type Location = string;
8
+ /**
9
+ * Configures the service that provides logs.
10
+ */
11
+ export type LogDestination = ("NONE" | "CLOUDWATCH" | "S3");
12
12
  /**
13
13
  * The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers.
14
14
  */
15
15
  export interface _AWS_GAMELIFT_CONTAINERFLEET {
16
- DeploymentDetails?: DeploymentDetails;
17
16
  /**
18
- * A list of rules that control how a fleet is scaled.
19
- *
20
- * @maxItems 50
17
+ * Unique fleet ID
21
18
  */
22
- ScalingPolicies?: ScalingPolicy[];
19
+ FleetId?: string;
23
20
  /**
24
- * The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.
21
+ * A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.
25
22
  */
26
- GameServerContainerGroupDefinitionName?: string;
23
+ FleetRoleArn: string;
27
24
  /**
28
25
  * A human-readable description of a fleet.
29
26
  */
30
27
  Description?: string;
31
28
  /**
32
- * The maximum number of game server container groups per instance, a number between 1-5000.
29
+ * The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.
33
30
  */
34
- MaximumGameServerContainerGroupsPerInstance?: number;
35
- GameSessionCreationLimitPolicy?: GameSessionCreationLimitPolicy;
31
+ GameServerContainerGroupDefinitionName?: string;
36
32
  /**
37
- * The number of desired game server container groups per instance, a number between 1-5000.
33
+ * The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.
38
34
  */
39
- GameServerContainerGroupsPerInstance?: number;
40
- LogConfiguration?: LogConfiguration;
35
+ GameServerContainerGroupDefinitionArn?: string;
36
+ /**
37
+ * The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.
38
+ */
39
+ PerInstanceContainerGroupDefinitionName?: string;
41
40
  /**
42
41
  * The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified.
43
42
  */
44
43
  PerInstanceContainerGroupDefinitionArn?: string;
44
+ InstanceConnectionPortRange?: ConnectionPortRange;
45
45
  /**
46
46
  * A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.
47
47
  *
@@ -49,52 +49,41 @@ export interface _AWS_GAMELIFT_CONTAINERFLEET {
49
49
  */
50
50
  InstanceInboundPermissions?: IpPermission[];
51
51
  /**
52
- * Unique fleet ID
53
- */
54
- FleetId?: string;
55
- /**
56
- * The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.
57
- */
58
- InstanceType?: string;
59
- /**
60
- * An array of key-value pairs to apply to this resource.
61
- *
62
- * @maxItems 200
52
+ * The number of desired game server container groups per instance, a number between 1-5000.
63
53
  */
64
- Tags?: Tag[];
54
+ GameServerContainerGroupsPerInstance?: number;
65
55
  /**
66
- * The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.
56
+ * The maximum number of game server container groups per instance, a number between 1-5000.
67
57
  */
68
- FleetArn?: string;
58
+ MaximumGameServerContainerGroupsPerInstance?: number;
69
59
  /**
70
- * Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.
60
+ * A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
71
61
  */
72
- BillingType?: ("ON_DEMAND" | "SPOT");
62
+ CreationTime?: string;
73
63
  /**
74
64
  * The current status of the container fleet.
75
65
  */
76
66
  Status?: ("PENDING" | "CREATING" | "CREATED" | "ACTIVATING" | "ACTIVE" | "UPDATING" | "DELETING");
67
+ DeploymentDetails?: DeploymentDetails;
68
+ DeploymentConfiguration?: DeploymentConfiguration;
77
69
  /**
78
- * A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.
70
+ * The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.
79
71
  */
80
- FleetRoleArn: string;
72
+ InstanceType?: string;
81
73
  /**
82
- * The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.
74
+ * Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.
83
75
  */
84
- PerInstanceContainerGroupDefinitionName?: string;
76
+ BillingType?: ("ON_DEMAND" | "SPOT");
85
77
  /**
86
78
  * @maxItems 100
87
79
  */
88
80
  Locations?: LocationConfiguration[];
89
81
  /**
90
- * A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.
91
- */
92
- NewGameSessionProtectionPolicy?: ("FullProtection" | "NoProtection");
93
- InstanceConnectionPortRange?: ConnectionPortRange;
94
- /**
95
- * The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.
82
+ * A list of rules that control how a fleet is scaled.
83
+ *
84
+ * @maxItems 50
96
85
  */
97
- GameServerContainerGroupDefinitionArn?: string;
86
+ ScalingPolicies?: ScalingPolicy[];
98
87
  /**
99
88
  * The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.
100
89
  *
@@ -102,180 +91,205 @@ export interface _AWS_GAMELIFT_CONTAINERFLEET {
102
91
  */
103
92
  MetricGroups?: string[];
104
93
  /**
105
- * A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
94
+ * A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.
106
95
  */
107
- CreationTime?: string;
108
- DeploymentConfiguration?: DeploymentConfiguration;
96
+ NewGameSessionProtectionPolicy?: ("FullProtection" | "NoProtection");
97
+ GameSessionCreationLimitPolicy?: GameSessionCreationLimitPolicy;
98
+ LogConfiguration?: LogConfiguration;
99
+ /**
100
+ * An array of key-value pairs to apply to this resource.
101
+ *
102
+ * @maxItems 200
103
+ */
104
+ Tags?: Tag[];
105
+ /**
106
+ * The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.
107
+ */
108
+ FleetArn?: string;
109
109
  }
110
110
  /**
111
- * Provides information about the last deployment ID and its status.
111
+ * Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.
112
112
  */
113
- export interface DeploymentDetails {
113
+ export interface ConnectionPortRange {
114
114
  /**
115
- * The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.
115
+ * A starting value for a range of allowed port numbers.
116
116
  */
117
- LatestDeploymentId?: string;
117
+ FromPort: number;
118
+ /**
119
+ * An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.
120
+ */
121
+ ToPort: number;
118
122
  }
119
123
  /**
120
- * Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.
124
+ * A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.
121
125
  */
122
- export interface ScalingPolicy {
126
+ export interface IpPermission {
123
127
  /**
124
- * Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.
128
+ * A starting value for a range of allowed port numbers.
125
129
  */
126
- MetricName: ("ActivatingGameSessions" | "ActiveGameSessions" | "ActiveInstances" | "AvailableGameSessions" | "AvailablePlayerSessions" | "CurrentPlayerSessions" | "IdleInstances" | "PercentAvailableGameSessions" | "PercentIdleInstances" | "QueueDepth" | "WaitTime" | "ConcurrentActivatableGameSessions");
130
+ FromPort: number;
127
131
  /**
128
- * The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
132
+ * A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "000.000.000.000/[subnet mask]" or optionally the shortened version "0.0.0.0/[subnet mask]".
129
133
  */
130
- PolicyType?: ("RuleBased" | "TargetBased");
134
+ IpRange: string;
131
135
  /**
132
- * Comparison operator to use when measuring a metric against the threshold value.
136
+ * The network communication protocol used by the fleet.
133
137
  */
134
- ComparisonOperator?: ("GreaterThanOrEqualToThreshold" | "GreaterThanThreshold" | "LessThanThreshold" | "LessThanOrEqualToThreshold");
135
- TargetConfiguration?: TargetConfiguration;
138
+ Protocol: ("TCP" | "UDP");
136
139
  /**
137
- * Amount of adjustment to make, based on the scaling adjustment type.
140
+ * An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.
138
141
  */
139
- ScalingAdjustment?: number;
142
+ ToPort: number;
143
+ }
144
+ /**
145
+ * Provides information about the last deployment ID and its status.
146
+ */
147
+ export interface DeploymentDetails {
140
148
  /**
141
- * Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.
149
+ * The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.
142
150
  */
143
- EvaluationPeriods?: number;
151
+ LatestDeploymentId?: string;
152
+ }
153
+ /**
154
+ * Provides details about how to drain old tasks and replace them with new updated tasks.
155
+ */
156
+ export interface DeploymentConfiguration {
144
157
  /**
145
- * A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.
158
+ * The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.
146
159
  */
147
- Name: string;
160
+ ProtectionStrategy?: ("WITH_PROTECTION" | "IGNORE_PROTECTION");
148
161
  /**
149
- * The type of adjustment to make to a fleet's instance count.
162
+ * The minimum percentage of healthy required; defaults to 75.
150
163
  */
151
- ScalingAdjustmentType?: ("ChangeInCapacity" | "ExactCapacity" | "PercentChangeInCapacity");
164
+ MinimumHealthyPercentage?: number;
152
165
  /**
153
- * Metric value used to trigger a scaling event.
166
+ * The strategy to apply in case of impairment; defaults to MAINTAIN.
154
167
  */
155
- Threshold?: number;
168
+ ImpairmentStrategy?: ("MAINTAIN" | "ROLLBACK");
156
169
  }
157
170
  /**
158
- * An object that contains settings for a target-based scaling policy.
171
+ * A remote location where a multi-location fleet can deploy EC2 instances for game hosting.
159
172
  */
160
- export interface TargetConfiguration {
161
- /**
162
- * Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).
163
- */
164
- TargetValue: number;
173
+ export interface LocationConfiguration {
174
+ Location: Location;
175
+ LocationCapacity?: LocationCapacity;
176
+ StoppedActions?: StoppedActions;
165
177
  }
166
178
  /**
167
- * A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.
179
+ * Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.
168
180
  */
169
- export interface GameSessionCreationLimitPolicy {
181
+ export interface LocationCapacity {
170
182
  /**
171
- * The time span used in evaluating the resource creation limit policy.
183
+ * Defaults to MinSize if not defined. The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. If any auto-scaling policy is defined for the container fleet, the desired instance will only be applied once during fleet creation and will be ignored in updates to avoid conflicts with auto-scaling. During updates with any auto-scaling policy defined, if current desired instance is lower than the new MinSize, it will be increased to the new MinSize; if current desired instance is larger than the new MaxSize, it will be decreased to the new MaxSize.
172
184
  */
173
- PolicyPeriodInMinutes?: number;
185
+ DesiredEC2Instances?: number;
174
186
  /**
175
- * The maximum number of game sessions that an individual can create during the policy period.
187
+ * The minimum value allowed for the fleet's instance count for a location.
176
188
  */
177
- NewGameSessionsPerCreator?: number;
189
+ MinSize?: number;
190
+ /**
191
+ * The maximum value that is allowed for the fleet's instance count for a location.
192
+ */
193
+ MaxSize: number;
194
+ ManagedCapacityConfiguration?: ManagedCapacityConfiguration;
178
195
  }
179
196
  /**
180
- * A policy the location and provider of logs from the fleet.
197
+ * Configuration options for Amazon GameLift Servers-managed capacity behavior.
181
198
  */
182
- export interface LogConfiguration {
183
- LogDestination?: LogDestination;
199
+ export interface ManagedCapacityConfiguration {
184
200
  /**
185
- * The name of the S3 bucket to pull logs from if S3 is the LogDestination
201
+ * The strategy Amazon GameLift Servers will use to automatically scale your capacity to and from zero in response to game session activity. Game session activity refers to any active running sessions or game session requests. When set to SCALE_TO_AND_FROM_ZERO, MinSize must not be specified and will be managed automatically. When set to MANUAL, MinSize is required.
186
202
  */
187
- S3BucketName?: string;
203
+ ZeroCapacityStrategy: ("SCALE_TO_AND_FROM_ZERO" | "MANUAL");
188
204
  /**
189
- * If log destination is CLOUDWATCH, logs are sent to the specified log group in Amazon CloudWatch.
205
+ * Length of time, in minutes, that Amazon GameLift Servers will wait before scaling in your MinSize and DesiredInstances to 0 after a period with no game session activity.
190
206
  */
191
- LogGroupArn?: string;
207
+ ScaleInAfterInactivityMinutes?: number;
192
208
  }
193
209
  /**
194
- * A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.
210
+ * Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.
195
211
  */
196
- export interface IpPermission {
212
+ export interface ScalingPolicy {
197
213
  /**
198
- * A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "000.000.000.000/[subnet mask]" or optionally the shortened version "0.0.0.0/[subnet mask]".
214
+ * Comparison operator to use when measuring a metric against the threshold value.
199
215
  */
200
- IpRange: string;
216
+ ComparisonOperator?: ("GreaterThanOrEqualToThreshold" | "GreaterThanThreshold" | "LessThanThreshold" | "LessThanOrEqualToThreshold");
201
217
  /**
202
- * A starting value for a range of allowed port numbers.
218
+ * Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.
203
219
  */
204
- FromPort: number;
220
+ EvaluationPeriods?: number;
205
221
  /**
206
- * An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.
222
+ * Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.
207
223
  */
208
- ToPort: number;
224
+ MetricName: ("ActivatingGameSessions" | "ActiveGameSessions" | "ActiveInstances" | "AvailableGameSessions" | "AvailablePlayerSessions" | "CurrentPlayerSessions" | "IdleInstances" | "PercentAvailableGameSessions" | "PercentIdleInstances" | "QueueDepth" | "WaitTime" | "ConcurrentActivatableGameSessions");
209
225
  /**
210
- * The network communication protocol used by the fleet.
226
+ * A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.
211
227
  */
212
- Protocol: ("TCP" | "UDP");
213
- }
214
- /**
215
- * A key-value pair to associate with a resource.
216
- */
217
- export interface Tag {
228
+ Name: string;
218
229
  /**
219
- * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.
230
+ * The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
220
231
  */
221
- Value: string;
232
+ PolicyType?: ("RuleBased" | "TargetBased");
222
233
  /**
223
- * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.
234
+ * Amount of adjustment to make, based on the scaling adjustment type.
224
235
  */
225
- Key: string;
236
+ ScalingAdjustment?: number;
237
+ /**
238
+ * The type of adjustment to make to a fleet's instance count.
239
+ */
240
+ ScalingAdjustmentType?: ("ChangeInCapacity" | "ExactCapacity" | "PercentChangeInCapacity");
241
+ TargetConfiguration?: TargetConfiguration;
242
+ /**
243
+ * Metric value used to trigger a scaling event.
244
+ */
245
+ Threshold?: number;
226
246
  }
227
247
  /**
228
- * A remote location where a multi-location fleet can deploy EC2 instances for game hosting.
248
+ * An object that contains settings for a target-based scaling policy.
229
249
  */
230
- export interface LocationConfiguration {
231
- LocationCapacity?: LocationCapacity;
232
- StoppedActions?: StoppedActions;
233
- Location: Location;
250
+ export interface TargetConfiguration {
251
+ /**
252
+ * Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).
253
+ */
254
+ TargetValue: number;
234
255
  }
235
256
  /**
236
- * Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.
257
+ * A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.
237
258
  */
238
- export interface LocationCapacity {
239
- /**
240
- * The minimum value allowed for the fleet's instance count for a location.
241
- */
242
- MinSize?: number;
259
+ export interface GameSessionCreationLimitPolicy {
243
260
  /**
244
- * Defaults to MinSize if not defined. The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. If any auto-scaling policy is defined for the container fleet, the desired instance will only be applied once during fleet creation and will be ignored in updates to avoid conflicts with auto-scaling. During updates with any auto-scaling policy defined, if current desired instance is lower than the new MinSize, it will be increased to the new MinSize; if current desired instance is larger than the new MaxSize, it will be decreased to the new MaxSize.
261
+ * The maximum number of game sessions that an individual can create during the policy period.
245
262
  */
246
- DesiredEC2Instances?: number;
263
+ NewGameSessionsPerCreator?: number;
247
264
  /**
248
- * The maximum value that is allowed for the fleet's instance count for a location.
265
+ * The time span used in evaluating the resource creation limit policy.
249
266
  */
250
- MaxSize: number;
267
+ PolicyPeriodInMinutes?: number;
251
268
  }
252
269
  /**
253
- * Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.
270
+ * A policy the location and provider of logs from the fleet.
254
271
  */
255
- export interface ConnectionPortRange {
272
+ export interface LogConfiguration {
273
+ LogDestination?: LogDestination;
256
274
  /**
257
- * A starting value for a range of allowed port numbers.
275
+ * If log destination is CLOUDWATCH, logs are sent to the specified log group in Amazon CloudWatch.
258
276
  */
259
- FromPort: number;
277
+ LogGroupArn?: string;
260
278
  /**
261
- * An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.
279
+ * The name of the S3 bucket to pull logs from if S3 is the LogDestination
262
280
  */
263
- ToPort: number;
281
+ S3BucketName?: string;
264
282
  }
265
283
  /**
266
- * Provides details about how to drain old tasks and replace them with new updated tasks.
284
+ * A key-value pair to associate with a resource.
267
285
  */
268
- export interface DeploymentConfiguration {
269
- /**
270
- * The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.
271
- */
272
- ProtectionStrategy?: ("WITH_PROTECTION" | "IGNORE_PROTECTION");
286
+ export interface Tag {
273
287
  /**
274
- * The strategy to apply in case of impairment; defaults to MAINTAIN.
288
+ * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.
275
289
  */
276
- ImpairmentStrategy?: ("MAINTAIN" | "ROLLBACK");
290
+ Key: string;
277
291
  /**
278
- * The minimum percentage of healthy required; defaults to 75.
292
+ * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.
279
293
  */
280
- MinimumHealthyPercentage?: number;
294
+ Value: string;
281
295
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWdhbWVsaWZ0LWNvbnRhaW5lcmZsZWV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWdhbWVsaWZ0LWNvbnRhaW5lcmZsZWV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyZXMgdGhlIHNlcnZpY2UgdGhhdCBwcm92aWRlcyBsb2dzLlxuICovXG5leHBvcnQgdHlwZSBMb2dEZXN0aW5hdGlvbiA9IChcIk5PTkVcIiB8IFwiQ0xPVURXQVRDSFwiIHwgXCJTM1wiKVxuLyoqXG4gKiBBIGxpc3Qgb2YgZmxlZXQgYWN0aW9ucyB0aGF0IGhhdmUgYmVlbiBzdXNwZW5kZWQgaW4gdGhlIGZsZWV0IGxvY2F0aW9uLlxuICogXG4gKiBAbWF4SXRlbXMgMVxuICovXG5leHBvcnQgdHlwZSBTdG9wcGVkQWN0aW9ucyA9IChcIkFVVE9fU0NBTElOR1wiKVtdXG5leHBvcnQgdHlwZSBMb2NhdGlvbiA9IHN0cmluZ1xuXG4vKipcbiAqIFRoZSBBV1M6OkdhbWVMaWZ0OjpDb250YWluZXJGbGVldCByZXNvdXJjZSBjcmVhdGVzIGFuIEFtYXpvbiBHYW1lTGlmdCAoR2FtZUxpZnQpIGNvbnRhaW5lciBmbGVldCB0byBob3N0IGdhbWUgc2VydmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0dBTUVMSUZUX0NPTlRBSU5FUkZMRUVUIHtcbkRlcGxveW1lbnREZXRhaWxzPzogRGVwbG95bWVudERldGFpbHNcbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgY29udHJvbCBob3cgYSBmbGVldCBpcyBzY2FsZWQuXG4gKiBcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5TY2FsaW5nUG9saWNpZXM/OiBTY2FsaW5nUG9saWN5W11cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBncm91cCBkZWZpbml0aW9uIHRoYXQgd2lsbCBiZSBjcmVhdGVkIHBlciBnYW1lIHNlcnZlci4gWW91IG11c3Qgc3BlY2lmeSBHQU1FX1NFUlZFUiBjb250YWluZXIgZ3JvdXAuIFlvdSBoYXZlIHRoZSBvcHRpb24gdG8gYWxzbyBzcGVjaWZ5IG9uZSBQRVJfSU5TVEFOQ0UgY29udGFpbmVyIGdyb3VwLlxuICovXG5HYW1lU2VydmVyQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uTmFtZT86IHN0cmluZ1xuLyoqXG4gKiBBIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIGEgZmxlZXQuXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYW1lIHNlcnZlciBjb250YWluZXIgZ3JvdXBzIHBlciBpbnN0YW5jZSwgYSBudW1iZXIgYmV0d2VlbiAxLTUwMDAuXG4gKi9cbk1heGltdW1HYW1lU2VydmVyQ29udGFpbmVyR3JvdXBzUGVySW5zdGFuY2U/OiBudW1iZXJcbkdhbWVTZXNzaW9uQ3JlYXRpb25MaW1pdFBvbGljeT86IEdhbWVTZXNzaW9uQ3JlYXRpb25MaW1pdFBvbGljeVxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIGRlc2lyZWQgZ2FtZSBzZXJ2ZXIgY29udGFpbmVyIGdyb3VwcyBwZXIgaW5zdGFuY2UsIGEgbnVtYmVyIGJldHdlZW4gMS01MDAwLlxuICovXG5HYW1lU2VydmVyQ29udGFpbmVyR3JvdXBzUGVySW5zdGFuY2U/OiBudW1iZXJcbkxvZ0NvbmZpZ3VyYXRpb24/OiBMb2dDb25maWd1cmF0aW9uXG4vKipcbiAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgcGVyIGluc3RhbmNlIGNvbnRhaW5lciBncm91cCBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIHdpbGwgYmUgZW1wdHkgaWYgUGVySW5zdGFuY2VDb250YWluZXJHcm91cERlZmluaXRpb25OYW1lIGlzIG5vdCBzcGVjaWZpZWQuXG4gKi9cblBlckluc3RhbmNlQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uQXJuPzogc3RyaW5nXG4vKipcbiAqIEEgcmFuZ2Ugb2YgSVAgYWRkcmVzc2VzIGFuZCBwb3J0IHNldHRpbmdzIHRoYXQgYWxsb3cgaW5ib3VuZCB0cmFmZmljIHRvIGNvbm5lY3QgdG8gc2VydmVyIHByb2Nlc3NlcyBvbiBhbiBBbWF6b24gR2FtZUxpZnQgc2VydmVyLlxuICogXG4gKiBAbWF4SXRlbXMgNTBcbiAqL1xuSW5zdGFuY2VJbmJvdW5kUGVybWlzc2lvbnM/OiBJcFBlcm1pc3Npb25bXVxuLyoqXG4gKiBVbmlxdWUgZmxlZXQgSURcbiAqL1xuRmxlZXRJZD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiBhbiBFQzIgaW5zdGFuY2UgdHlwZSB0aGF0IGlzIHN1cHBvcnRlZCBpbiBBbWF6b24gR2FtZUxpZnQuIEEgZmxlZXQgaW5zdGFuY2UgdHlwZSBkZXRlcm1pbmVzIHRoZSBjb21wdXRpbmcgcmVzb3VyY2VzIG9mIGVhY2ggaW5zdGFuY2UgaW4gdGhlIGZsZWV0LCBpbmNsdWRpbmcgQ1BVLCBtZW1vcnksIHN0b3JhZ2UsIGFuZCBuZXR3b3JraW5nIGNhcGFjaXR5LiBBbWF6b24gR2FtZUxpZnQgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBFQzIgaW5zdGFuY2UgdHlwZXMuIFNlZSBBbWF6b24gRUMyIEluc3RhbmNlIFR5cGVzIGZvciBkZXRhaWxlZCBkZXNjcmlwdGlvbnMuXG4gKi9cbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuLyoqXG4gKiBBbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMgdG8gYXBwbHkgdG8gdGhpcyByZXNvdXJjZS5cbiAqIFxuICogQG1heEl0ZW1zIDIwMFxuICovXG5UYWdzPzogVGFnW11cbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIHRoYXQgaXMgYXNzaWduZWQgdG8gYSBBbWF6b24gR2FtZUxpZnQgY29udGFpbmVyIGZsZWV0IHJlc291cmNlIGFuZCB1bmlxdWVseSBpZGVudGlmaWVzIGl0IGFjcm9zcyBhbGwgQVdTIFJlZ2lvbnMuXG4gKi9cbkZsZWV0QXJuPzogc3RyaW5nXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHVzZSBPbi1EZW1hbmQgaW5zdGFuY2VzIG9yIFNwb3QgaW5zdGFuY2VzIGZvciB0aGlzIGZsZWV0LiBJZiBlbXB0eSwgdGhlIGRlZmF1bHQgaXMgT05fREVNQU5ELiBCb3RoIGNhdGVnb3JpZXMgb2YgaW5zdGFuY2VzIHVzZSBpZGVudGljYWwgaGFyZHdhcmUgYW5kIGNvbmZpZ3VyYXRpb25zIGJhc2VkIG9uIHRoZSBpbnN0YW5jZSB0eXBlIHNlbGVjdGVkIGZvciB0aGlzIGZsZWV0LlxuICovXG5CaWxsaW5nVHlwZT86IChcIk9OX0RFTUFORFwiIHwgXCJTUE9UXCIpXG4vKipcbiAqIFRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgY29udGFpbmVyIGZsZWV0LlxuICovXG5TdGF0dXM/OiAoXCJQRU5ESU5HXCIgfCBcIkNSRUFUSU5HXCIgfCBcIkNSRUFURURcIiB8IFwiQUNUSVZBVElOR1wiIHwgXCJBQ1RJVkVcIiB8IFwiVVBEQVRJTkdcIiB8IFwiREVMRVRJTkdcIilcbi8qKlxuICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYW4gQVdTIElBTSByb2xlIHRoYXQgbWFuYWdlcyBhY2Nlc3MgdG8geW91ciBBV1Mgc2VydmljZXMuIENyZWF0ZSBhIHJvbGUgb3IgbG9vayB1cCBhIHJvbGUncyBBUk4gZnJvbSB0aGUgSUFNIGRhc2hib2FyZCBpbiB0aGUgQVdTIE1hbmFnZW1lbnQgQ29uc29sZS5cbiAqL1xuRmxlZXRSb2xlQXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBncm91cCBkZWZpbml0aW9uIHRoYXQgd2lsbCBiZSBjcmVhdGVkIHBlciBpbnN0YW5jZS4gVGhpcyBmaWVsZCBpcyBvcHRpb25hbCBpZiB5b3Ugc3BlY2lmeSBHYW1lU2VydmVyQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uTmFtZS5cbiAqL1xuUGVySW5zdGFuY2VDb250YWluZXJHcm91cERlZmluaXRpb25OYW1lPzogc3RyaW5nXG4vKipcbiAqIEBtYXhJdGVtcyAxMDBcbiAqL1xuTG9jYXRpb25zPzogTG9jYXRpb25Db25maWd1cmF0aW9uW11cbi8qKlxuICogQSBnYW1lIHNlc3Npb24gcHJvdGVjdGlvbiBwb2xpY3kgdG8gYXBwbHkgdG8gYWxsIGdhbWUgc2Vzc2lvbnMgaG9zdGVkIG9uIGluc3RhbmNlcyBpbiB0aGlzIGZsZWV0LiBXaGVuIHByb3RlY3RlZCwgYWN0aXZlIGdhbWUgc2Vzc2lvbnMgY2Fubm90IGJlIHRlcm1pbmF0ZWQgZHVyaW5nIGEgc2NhbGUtZG93biBldmVudC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNldCwgaW5zdGFuY2VzIGluIHRoaXMgZmxlZXQgZGVmYXVsdCB0byBubyBwcm90ZWN0aW9uLiBZb3UgY2FuIGNoYW5nZSBhIGZsZWV0J3MgcHJvdGVjdGlvbiBwb2xpY3kgdG8gYWZmZWN0IGZ1dHVyZSBnYW1lIHNlc3Npb25zIG9uIHRoZSBmbGVldC4gWW91IGNhbiBhbHNvIHNldCBwcm90ZWN0aW9uIGZvciBpbmRpdmlkdWFsIGdhbWUgc2Vzc2lvbnMuXG4gKi9cbk5ld0dhbWVTZXNzaW9uUHJvdGVjdGlvblBvbGljeT86IChcIkZ1bGxQcm90ZWN0aW9uXCIgfCBcIk5vUHJvdGVjdGlvblwiKVxuSW5zdGFuY2VDb25uZWN0aW9uUG9ydFJhbmdlPzogQ29ubmVjdGlvblBvcnRSYW5nZVxuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGdhbWUgc2VydmVyIGNvbnRhaW5lciBncm91cCBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIHdpbGwgYmUgZW1wdHkgaWYgR2FtZVNlcnZlckNvbnRhaW5lckdyb3VwRGVmaW5pdGlvbk5hbWUgaXMgbm90IHNwZWNpZmllZC5cbiAqL1xuR2FtZVNlcnZlckNvbnRhaW5lckdyb3VwRGVmaW5pdGlvbkFybj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiBhbiBBbWF6b24gQ2xvdWRXYXRjaCBtZXRyaWMgZ3JvdXAuIEEgbWV0cmljIGdyb3VwIGFnZ3JlZ2F0ZXMgdGhlIG1ldHJpY3MgZm9yIGFsbCBmbGVldHMgaW4gdGhlIGdyb3VwLiBTcGVjaWZ5IGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1ldHJpYyBncm91cCBuYW1lLiBZb3UgY2FuIHVzZSBhbiBleGlzdGluZyBuYW1lIG9yIHVzZSBhIG5ldyBuYW1lIHRvIGNyZWF0ZSBhIG5ldyBtZXRyaWMgZ3JvdXAuIEN1cnJlbnRseSwgdGhpcyBwYXJhbWV0ZXIgY2FuIGhhdmUgb25seSBvbmUgc3RyaW5nLlxuICogXG4gKiBAbWF4SXRlbXMgMVxuICovXG5NZXRyaWNHcm91cHM/OiBzdHJpbmdbXVxuLyoqXG4gKiBBIHRpbWUgc3RhbXAgaW5kaWNhdGluZyB3aGVuIHRoaXMgZGF0YSBvYmplY3Qgd2FzIGNyZWF0ZWQuIEZvcm1hdCBpcyBhIG51bWJlciBleHByZXNzZWQgaW4gVW5peCB0aW1lIGFzIG1pbGxpc2Vjb25kcyAoZm9yIGV4YW1wbGUgXCIxNDY5NDk4NDY4LjA1N1wiKS5cbiAqL1xuQ3JlYXRpb25UaW1lPzogc3RyaW5nXG5EZXBsb3ltZW50Q29uZmlndXJhdGlvbj86IERlcGxveW1lbnRDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGRlcGxveW1lbnQgSUQgYW5kIGl0cyBzdGF0dXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudERldGFpbHMge1xuLyoqXG4gKiBUaGUgSUQgb2YgdGhlIGxhc3QgZGVwbG95bWVudCBvbiB0aGUgY29udGFpbmVyIGZsZWV0LiBUaGlzIGZpZWxkIHdpbGwgYmUgZW1wdHkgaWYgdGhlIGNvbnRhaW5lciBmbGVldCBkb2VzIG5vdCBoYXZlIGEgQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uIGF0dGFjaGVkLlxuICovXG5MYXRlc3REZXBsb3ltZW50SWQ/OiBzdHJpbmdcbn1cbi8qKlxuICogUnVsZSB0aGF0IGNvbnRyb2xzIGhvdyBhIGZsZWV0IGlzIHNjYWxlZC4gU2NhbGluZyBwb2xpY2llcyBhcmUgdW5pcXVlbHkgaWRlbnRpZmllZCBieSB0aGUgY29tYmluYXRpb24gb2YgbmFtZSBhbmQgZmxlZXQgSUQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbGluZ1BvbGljeSB7XG4vKipcbiAqIE5hbWUgb2YgdGhlIEFtYXpvbiBHYW1lTGlmdC1kZWZpbmVkIG1ldHJpYyB0aGF0IGlzIHVzZWQgdG8gdHJpZ2dlciBhIHNjYWxpbmcgYWRqdXN0bWVudC5cbiAqL1xuTWV0cmljTmFtZTogKFwiQWN0aXZhdGluZ0dhbWVTZXNzaW9uc1wiIHwgXCJBY3RpdmVHYW1lU2Vzc2lvbnNcIiB8IFwiQWN0aXZlSW5zdGFuY2VzXCIgfCBcIkF2YWlsYWJsZUdhbWVTZXNzaW9uc1wiIHwgXCJBdmFpbGFibGVQbGF5ZXJTZXNzaW9uc1wiIHwgXCJDdXJyZW50UGxheWVyU2Vzc2lvbnNcIiB8IFwiSWRsZUluc3RhbmNlc1wiIHwgXCJQZXJjZW50QXZhaWxhYmxlR2FtZVNlc3Npb25zXCIgfCBcIlBlcmNlbnRJZGxlSW5zdGFuY2VzXCIgfCBcIlF1ZXVlRGVwdGhcIiB8IFwiV2FpdFRpbWVcIiB8IFwiQ29uY3VycmVudEFjdGl2YXRhYmxlR2FtZVNlc3Npb25zXCIpXG4vKipcbiAqIFRoZSB0eXBlIG9mIHNjYWxpbmcgcG9saWN5IHRvIGNyZWF0ZS4gRm9yIGEgdGFyZ2V0LWJhc2VkIHBvbGljeSwgc2V0IHRoZSBwYXJhbWV0ZXIgTWV0cmljTmFtZSB0byAnUGVyY2VudEF2YWlsYWJsZUdhbWVTZXNzaW9ucycgYW5kIHNwZWNpZnkgYSBUYXJnZXRDb25maWd1cmF0aW9uLiBGb3IgYSBydWxlLWJhc2VkIHBvbGljeSBzZXQgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOiBNZXRyaWNOYW1lLCBDb21wYXJpc29uT3BlcmF0b3IsIFRocmVzaG9sZCwgRXZhbHVhdGlvblBlcmlvZHMsIFNjYWxpbmdBZGp1c3RtZW50VHlwZSwgYW5kIFNjYWxpbmdBZGp1c3RtZW50LlxuICovXG5Qb2xpY3lUeXBlPzogKFwiUnVsZUJhc2VkXCIgfCBcIlRhcmdldEJhc2VkXCIpXG4vKipcbiAqIENvbXBhcmlzb24gb3BlcmF0b3IgdG8gdXNlIHdoZW4gbWVhc3VyaW5nIGEgbWV0cmljIGFnYWluc3QgdGhlIHRocmVzaG9sZCB2YWx1ZS5cbiAqL1xuQ29tcGFyaXNvbk9wZXJhdG9yPzogKFwiR3JlYXRlclRoYW5PckVxdWFsVG9UaHJlc2hvbGRcIiB8IFwiR3JlYXRlclRoYW5UaHJlc2hvbGRcIiB8IFwiTGVzc1RoYW5UaHJlc2hvbGRcIiB8IFwiTGVzc1RoYW5PckVxdWFsVG9UaHJlc2hvbGRcIilcblRhcmdldENvbmZpZ3VyYXRpb24/OiBUYXJnZXRDb25maWd1cmF0aW9uXG4vKipcbiAqIEFtb3VudCBvZiBhZGp1c3RtZW50IHRvIG1ha2UsIGJhc2VkIG9uIHRoZSBzY2FsaW5nIGFkanVzdG1lbnQgdHlwZS5cbiAqL1xuU2NhbGluZ0FkanVzdG1lbnQ/OiBudW1iZXJcbi8qKlxuICogTGVuZ3RoIG9mIHRpbWUgKGluIG1pbnV0ZXMpIHRoZSBtZXRyaWMgbXVzdCBiZSBhdCBvciBiZXlvbmQgdGhlIHRocmVzaG9sZCBiZWZvcmUgYSBzY2FsaW5nIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAqL1xuRXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbi8qKlxuICogQSBkZXNjcmlwdGl2ZSBsYWJlbCB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCBhIGZsZWV0J3Mgc2NhbGluZyBwb2xpY3kuIFBvbGljeSBuYW1lcyBkbyBub3QgbmVlZCB0byBiZSB1bmlxdWUuXG4gKi9cbk5hbWU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdHlwZSBvZiBhZGp1c3RtZW50IHRvIG1ha2UgdG8gYSBmbGVldCdzIGluc3RhbmNlIGNvdW50LlxuICovXG5TY2FsaW5nQWRqdXN0bWVudFR5cGU/OiAoXCJDaGFuZ2VJbkNhcGFjaXR5XCIgfCBcIkV4YWN0Q2FwYWNpdHlcIiB8IFwiUGVyY2VudENoYW5nZUluQ2FwYWNpdHlcIilcbi8qKlxuICogTWV0cmljIHZhbHVlIHVzZWQgdG8gdHJpZ2dlciBhIHNjYWxpbmcgZXZlbnQuXG4gKi9cblRocmVzaG9sZD86IG51bWJlclxufVxuLyoqXG4gKiBBbiBvYmplY3QgdGhhdCBjb250YWlucyBzZXR0aW5ncyBmb3IgYSB0YXJnZXQtYmFzZWQgc2NhbGluZyBwb2xpY3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFyZ2V0Q29uZmlndXJhdGlvbiB7XG4vKipcbiAqIERlc2lyZWQgdmFsdWUgdG8gdXNlIHdpdGggYSB0YXJnZXQtYmFzZWQgc2NhbGluZyBwb2xpY3kuIFRoZSB2YWx1ZSBtdXN0IGJlIHJlbGV2YW50IGZvciB3aGF0ZXZlciBtZXRyaWMgdGhlIHNjYWxpbmcgcG9saWN5IGlzIHVzaW5nLiBGb3IgZXhhbXBsZSwgaW4gYSBwb2xpY3kgdXNpbmcgdGhlIG1ldHJpYyBQZXJjZW50QXZhaWxhYmxlR2FtZVNlc3Npb25zLCB0aGUgdGFyZ2V0IHZhbHVlIHNob3VsZCBiZSB0aGUgcHJlZmVycmVkIHNpemUgb2YgdGhlIGZsZWV0J3MgYnVmZmVyICh0aGUgcGVyY2VudCBvZiBjYXBhY2l0eSB0aGF0IHNob3VsZCBiZSBpZGxlIGFuZCByZWFkeSBmb3IgbmV3IGdhbWUgc2Vzc2lvbnMpLlxuICovXG5UYXJnZXRWYWx1ZTogbnVtYmVyXG59XG4vKipcbiAqIEEgcG9saWN5IHRoYXQgbGltaXRzIHRoZSBudW1iZXIgb2YgZ2FtZSBzZXNzaW9ucyBhbiBpbmRpdmlkdWFsIHBsYXllciBjYW4gY3JlYXRlIG92ZXIgYSBzcGFuIG9mIHRpbWUgZm9yIHRoaXMgZmxlZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2FtZVNlc3Npb25DcmVhdGlvbkxpbWl0UG9saWN5IHtcbi8qKlxuICogVGhlIHRpbWUgc3BhbiB1c2VkIGluIGV2YWx1YXRpbmcgdGhlIHJlc291cmNlIGNyZWF0aW9uIGxpbWl0IHBvbGljeS5cbiAqL1xuUG9saWN5UGVyaW9kSW5NaW51dGVzPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYW1lIHNlc3Npb25zIHRoYXQgYW4gaW5kaXZpZHVhbCBjYW4gY3JlYXRlIGR1cmluZyB0aGUgcG9saWN5IHBlcmlvZC5cbiAqL1xuTmV3R2FtZVNlc3Npb25zUGVyQ3JlYXRvcj86IG51bWJlclxufVxuLyoqXG4gKiBBIHBvbGljeSB0aGUgbG9jYXRpb24gYW5kIHByb3ZpZGVyIG9mIGxvZ3MgZnJvbSB0aGUgZmxlZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nQ29uZmlndXJhdGlvbiB7XG5Mb2dEZXN0aW5hdGlvbj86IExvZ0Rlc3RpbmF0aW9uXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBTMyBidWNrZXQgdG8gcHVsbCBsb2dzIGZyb20gaWYgUzMgaXMgdGhlIExvZ0Rlc3RpbmF0aW9uXG4gKi9cblMzQnVja2V0TmFtZT86IHN0cmluZ1xuLyoqXG4gKiBJZiBsb2cgZGVzdGluYXRpb24gaXMgQ0xPVURXQVRDSCwgbG9ncyBhcmUgc2VudCB0byB0aGUgc3BlY2lmaWVkIGxvZyBncm91cCBpbiBBbWF6b24gQ2xvdWRXYXRjaC5cbiAqL1xuTG9nR3JvdXBBcm4/OiBzdHJpbmdcbn1cbi8qKlxuICogQSByYW5nZSBvZiBJUCBhZGRyZXNzZXMgYW5kIHBvcnQgc2V0dGluZ3MgdGhhdCBhbGxvdyBpbmJvdW5kIHRyYWZmaWMgdG8gY29ubmVjdCB0byBzZXJ2ZXIgcHJvY2Vzc2VzIG9uIGFuIEFtYXpvbiBHYW1lTGlmdCBob3N0aW5nIHJlc291cmNlLiBOZXcgZ2FtZSBzZXNzaW9ucyB0aGF0IGFyZSBzdGFydGVkIG9uIHRoZSBmbGVldCBhcmUgYXNzaWduZWQgYW4gSVAgYWRkcmVzcy9wb3J0IG51bWJlciBjb21iaW5hdGlvbiwgd2hpY2ggbXVzdCBmYWxsIGludG8gdGhlIGZsZWV0J3MgYWxsb3dlZCByYW5nZXMuIEZvciBmbGVldHMgY3JlYXRlZCB3aXRoIGEgY3VzdG9tIGdhbWUgc2VydmVyLCB0aGUgcmFuZ2VzIHJlZmxlY3QgdGhlIHNlcnZlcidzIGdhbWUgc2Vzc2lvbiBhc3NpZ25tZW50cy4gRm9yIFJlYWx0aW1lIFNlcnZlcnMgZmxlZXRzLCBBbWF6b24gR2FtZUxpZnQgYXV0b21hdGljYWxseSBvcGVucyB0d28gcG9ydCByYW5nZXMsIG9uZSBmb3IgVENQIG1lc3NhZ2luZyBhbmQgb25lIGZvciBVRFAsIGZvciB1c2UgYnkgdGhlIFJlYWx0aW1lIHNlcnZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBQZXJtaXNzaW9uIHtcbi8qKlxuICogQSByYW5nZSBvZiBhbGxvd2VkIElQIGFkZHJlc3Nlcy4gVGhpcyB2YWx1ZSBtdXN0IGJlIGV4cHJlc3NlZCBpbiBDSURSIG5vdGF0aW9uLiBFeGFtcGxlOiBcIjAwMC4wMDAuMDAwLjAwMC9bc3VibmV0IG1hc2tdXCIgb3Igb3B0aW9uYWxseSB0aGUgc2hvcnRlbmVkIHZlcnNpb24gXCIwLjAuMC4wL1tzdWJuZXQgbWFza11cIi5cbiAqL1xuSXBSYW5nZTogc3RyaW5nXG4vKipcbiAqIEEgc3RhcnRpbmcgdmFsdWUgZm9yIGEgcmFuZ2Ugb2YgYWxsb3dlZCBwb3J0IG51bWJlcnMuXG4gKi9cbkZyb21Qb3J0OiBudW1iZXJcbi8qKlxuICogQW4gZW5kaW5nIHZhbHVlIGZvciBhIHJhbmdlIG9mIGFsbG93ZWQgcG9ydCBudW1iZXJzLiBQb3J0IG51bWJlcnMgYXJlIGVuZC1pbmNsdXNpdmUuIFRoaXMgdmFsdWUgbXVzdCBiZSBoaWdoZXIgdGhhbiBGcm9tUG9ydC5cbiAqL1xuVG9Qb3J0OiBudW1iZXJcbi8qKlxuICogVGhlIG5ldHdvcmsgY29tbXVuaWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoZSBmbGVldC5cbiAqL1xuUHJvdG9jb2w6IChcIlRDUFwiIHwgXCJVRFBcIilcbn1cbi8qKlxuICogQSBrZXktdmFsdWUgcGFpciB0byBhc3NvY2lhdGUgd2l0aCBhIHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4vKipcbiAqIFRoZSB2YWx1ZSBmb3IgdGhlIHRhZy4gWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgdGhhdCBpcyAwIHRvIDI1NiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLlxuICovXG5WYWx1ZTogc3RyaW5nXG4vKipcbiAqIFRoZSBrZXkgbmFtZSBvZiB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0IGlzIDEgdG8gMTI4IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBsZW5ndGguXG4gKi9cbktleTogc3RyaW5nXG59XG4vKipcbiAqIEEgcmVtb3RlIGxvY2F0aW9uIHdoZXJlIGEgbXVsdGktbG9jYXRpb24gZmxlZXQgY2FuIGRlcGxveSBFQzIgaW5zdGFuY2VzIGZvciBnYW1lIGhvc3RpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25Db25maWd1cmF0aW9uIHtcbkxvY2F0aW9uQ2FwYWNpdHk/OiBMb2NhdGlvbkNhcGFjaXR5XG5TdG9wcGVkQWN0aW9ucz86IFN0b3BwZWRBY3Rpb25zXG5Mb2NhdGlvbjogTG9jYXRpb25cbn1cbi8qKlxuICogQ3VycmVudCByZXNvdXJjZSBjYXBhY2l0eSBzZXR0aW5ncyBpbiBhIHNwZWNpZmllZCBmbGVldCBvciBsb2NhdGlvbi4gVGhlIGxvY2F0aW9uIHZhbHVlIG1pZ2h0IHJlZmVyIHRvIGEgZmxlZXQncyByZW1vdGUgbG9jYXRpb24gb3IgaXRzIGhvbWUgUmVnaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQ2FwYWNpdHkge1xuLyoqXG4gKiBUaGUgbWluaW11bSB2YWx1ZSBhbGxvd2VkIGZvciB0aGUgZmxlZXQncyBpbnN0YW5jZSBjb3VudCBmb3IgYSBsb2NhdGlvbi5cbiAqL1xuTWluU2l6ZT86IG51bWJlclxuLyoqXG4gKiBEZWZhdWx0cyB0byBNaW5TaXplIGlmIG5vdCBkZWZpbmVkLiBUaGUgbnVtYmVyIG9mIEVDMiBpbnN0YW5jZXMgeW91IHdhbnQgdG8gbWFpbnRhaW4gaW4gdGhlIHNwZWNpZmllZCBmbGVldCBsb2NhdGlvbi4gVGhpcyB2YWx1ZSBtdXN0IGZhbGwgYmV0d2VlbiB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBzaXplIGxpbWl0cy4gSWYgYW55IGF1dG8tc2NhbGluZyBwb2xpY3kgaXMgZGVmaW5lZCBmb3IgdGhlIGNvbnRhaW5lciBmbGVldCwgdGhlIGRlc2lyZWQgaW5zdGFuY2Ugd2lsbCBvbmx5IGJlIGFwcGxpZWQgb25jZSBkdXJpbmcgZmxlZXQgY3JlYXRpb24gYW5kIHdpbGwgYmUgaWdub3JlZCBpbiB1cGRhdGVzIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGF1dG8tc2NhbGluZy4gRHVyaW5nIHVwZGF0ZXMgd2l0aCBhbnkgYXV0by1zY2FsaW5nIHBvbGljeSBkZWZpbmVkLCBpZiBjdXJyZW50IGRlc2lyZWQgaW5zdGFuY2UgaXMgbG93ZXIgdGhhbiB0aGUgbmV3IE1pblNpemUsIGl0IHdpbGwgYmUgaW5jcmVhc2VkIHRvIHRoZSBuZXcgTWluU2l6ZTsgaWYgY3VycmVudCBkZXNpcmVkIGluc3RhbmNlIGlzIGxhcmdlciB0aGFuIHRoZSBuZXcgTWF4U2l6ZSwgaXQgd2lsbCBiZSBkZWNyZWFzZWQgdG8gdGhlIG5ldyBNYXhTaXplLlxuICovXG5EZXNpcmVkRUMySW5zdGFuY2VzPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIHZhbHVlIHRoYXQgaXMgYWxsb3dlZCBmb3IgdGhlIGZsZWV0J3MgaW5zdGFuY2UgY291bnQgZm9yIGEgbG9jYXRpb24uXG4gKi9cbk1heFNpemU6IG51bWJlclxufVxuLyoqXG4gKiBEZWZpbmVzIHRoZSByYW5nZSBvZiBwb3J0cyBvbiB0aGUgaW5zdGFuY2UgdGhhdCBhbGxvdyBpbmJvdW5kIHRyYWZmaWMgdG8gY29ubmVjdCB3aXRoIGNvbnRhaW5lcnMgaW4gYSBmbGVldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aW9uUG9ydFJhbmdlIHtcbi8qKlxuICogQSBzdGFydGluZyB2YWx1ZSBmb3IgYSByYW5nZSBvZiBhbGxvd2VkIHBvcnQgbnVtYmVycy5cbiAqL1xuRnJvbVBvcnQ6IG51bWJlclxuLyoqXG4gKiBBbiBlbmRpbmcgdmFsdWUgZm9yIGEgcmFuZ2Ugb2YgYWxsb3dlZCBwb3J0IG51bWJlcnMuIFBvcnQgbnVtYmVycyBhcmUgZW5kLWluY2x1c2l2ZS4gVGhpcyB2YWx1ZSBtdXN0IGJlIGhpZ2hlciB0aGFuIEZyb21Qb3J0LlxuICovXG5Ub1BvcnQ6IG51bWJlclxufVxuLyoqXG4gKiBQcm92aWRlcyBkZXRhaWxzIGFib3V0IGhvdyB0byBkcmFpbiBvbGQgdGFza3MgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIG5ldyB1cGRhdGVkIHRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveW1lbnRDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIHByb3RlY3Rpb24gc3RyYXRlZ3kgZm9yIGRlcGxveW1lbnQgb24gdGhlIGNvbnRhaW5lciBmbGVldDsgZGVmYXVsdHMgdG8gV0lUSF9QUk9URUNUSU9OLlxuICovXG5Qcm90ZWN0aW9uU3RyYXRlZ3k/OiAoXCJXSVRIX1BST1RFQ1RJT05cIiB8IFwiSUdOT1JFX1BST1RFQ1RJT05cIilcbi8qKlxuICogVGhlIHN0cmF0ZWd5IHRvIGFwcGx5IGluIGNhc2Ugb2YgaW1wYWlybWVudDsgZGVmYXVsdHMgdG8gTUFJTlRBSU4uXG4gKi9cbkltcGFpcm1lbnRTdHJhdGVneT86IChcIk1BSU5UQUlOXCIgfCBcIlJPTExCQUNLXCIpXG4vKipcbiAqIFRoZSBtaW5pbXVtIHBlcmNlbnRhZ2Ugb2YgaGVhbHRoeSByZXF1aXJlZDsgZGVmYXVsdHMgdG8gNzUuXG4gKi9cbk1pbmltdW1IZWFsdGh5UGVyY2VudGFnZT86IG51bWJlclxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWdhbWVsaWZ0LWNvbnRhaW5lcmZsZWV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWdhbWVsaWZ0LWNvbnRhaW5lcmZsZWV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMb2NhdGlvbiA9IHN0cmluZ1xuLyoqXG4gKiBBIGxpc3Qgb2YgZmxlZXQgYWN0aW9ucyB0aGF0IGhhdmUgYmVlbiBzdXNwZW5kZWQgaW4gdGhlIGZsZWV0IGxvY2F0aW9uLlxuICogXG4gKiBAbWF4SXRlbXMgMVxuICovXG5leHBvcnQgdHlwZSBTdG9wcGVkQWN0aW9ucyA9IChcIkFVVE9fU0NBTElOR1wiKVtdXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIHNlcnZpY2UgdGhhdCBwcm92aWRlcyBsb2dzLlxuICovXG5leHBvcnQgdHlwZSBMb2dEZXN0aW5hdGlvbiA9IChcIk5PTkVcIiB8IFwiQ0xPVURXQVRDSFwiIHwgXCJTM1wiKVxuXG4vKipcbiAqIFRoZSBBV1M6OkdhbWVMaWZ0OjpDb250YWluZXJGbGVldCByZXNvdXJjZSBjcmVhdGVzIGFuIEFtYXpvbiBHYW1lTGlmdCAoR2FtZUxpZnQpIGNvbnRhaW5lciBmbGVldCB0byBob3N0IGdhbWUgc2VydmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0dBTUVMSUZUX0NPTlRBSU5FUkZMRUVUIHtcbi8qKlxuICogVW5pcXVlIGZsZWV0IElEXG4gKi9cbkZsZWV0SWQ/OiBzdHJpbmdcbi8qKlxuICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYW4gQVdTIElBTSByb2xlIHRoYXQgbWFuYWdlcyBhY2Nlc3MgdG8geW91ciBBV1Mgc2VydmljZXMuIENyZWF0ZSBhIHJvbGUgb3IgbG9vayB1cCBhIHJvbGUncyBBUk4gZnJvbSB0aGUgSUFNIGRhc2hib2FyZCBpbiB0aGUgQVdTIE1hbmFnZW1lbnQgQ29uc29sZS5cbiAqL1xuRmxlZXRSb2xlQXJuOiBzdHJpbmdcbi8qKlxuICogQSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiBhIGZsZWV0LlxuICovXG5EZXNjcmlwdGlvbj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGdyb3VwIGRlZmluaXRpb24gdGhhdCB3aWxsIGJlIGNyZWF0ZWQgcGVyIGdhbWUgc2VydmVyLiBZb3UgbXVzdCBzcGVjaWZ5IEdBTUVfU0VSVkVSIGNvbnRhaW5lciBncm91cC4gWW91IGhhdmUgdGhlIG9wdGlvbiB0byBhbHNvIHNwZWNpZnkgb25lIFBFUl9JTlNUQU5DRSBjb250YWluZXIgZ3JvdXAuXG4gKi9cbkdhbWVTZXJ2ZXJDb250YWluZXJHcm91cERlZmluaXRpb25OYW1lPzogc3RyaW5nXG4vKipcbiAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgZ2FtZSBzZXJ2ZXIgY29udGFpbmVyIGdyb3VwIGRlZmluaXRpb24uIFRoaXMgZmllbGQgd2lsbCBiZSBlbXB0eSBpZiBHYW1lU2VydmVyQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uTmFtZSBpcyBub3Qgc3BlY2lmaWVkLlxuICovXG5HYW1lU2VydmVyQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uQXJuPzogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBjb250YWluZXIgZ3JvdXAgZGVmaW5pdGlvbiB0aGF0IHdpbGwgYmUgY3JlYXRlZCBwZXIgaW5zdGFuY2UuIFRoaXMgZmllbGQgaXMgb3B0aW9uYWwgaWYgeW91IHNwZWNpZnkgR2FtZVNlcnZlckNvbnRhaW5lckdyb3VwRGVmaW5pdGlvbk5hbWUuXG4gKi9cblBlckluc3RhbmNlQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uTmFtZT86IHN0cmluZ1xuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIHBlciBpbnN0YW5jZSBjb250YWluZXIgZ3JvdXAgZGVmaW5pdGlvbi4gVGhpcyBmaWVsZCB3aWxsIGJlIGVtcHR5IGlmIFBlckluc3RhbmNlQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uTmFtZSBpcyBub3Qgc3BlY2lmaWVkLlxuICovXG5QZXJJbnN0YW5jZUNvbnRhaW5lckdyb3VwRGVmaW5pdGlvbkFybj86IHN0cmluZ1xuSW5zdGFuY2VDb25uZWN0aW9uUG9ydFJhbmdlPzogQ29ubmVjdGlvblBvcnRSYW5nZVxuLyoqXG4gKiBBIHJhbmdlIG9mIElQIGFkZHJlc3NlcyBhbmQgcG9ydCBzZXR0aW5ncyB0aGF0IGFsbG93IGluYm91bmQgdHJhZmZpYyB0byBjb25uZWN0IHRvIHNlcnZlciBwcm9jZXNzZXMgb24gYW4gQW1hem9uIEdhbWVMaWZ0IHNlcnZlci5cbiAqIFxuICogQG1heEl0ZW1zIDUwXG4gKi9cbkluc3RhbmNlSW5ib3VuZFBlcm1pc3Npb25zPzogSXBQZXJtaXNzaW9uW11cbi8qKlxuICogVGhlIG51bWJlciBvZiBkZXNpcmVkIGdhbWUgc2VydmVyIGNvbnRhaW5lciBncm91cHMgcGVyIGluc3RhbmNlLCBhIG51bWJlciBiZXR3ZWVuIDEtNTAwMC5cbiAqL1xuR2FtZVNlcnZlckNvbnRhaW5lckdyb3Vwc1Blckluc3RhbmNlPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYW1lIHNlcnZlciBjb250YWluZXIgZ3JvdXBzIHBlciBpbnN0YW5jZSwgYSBudW1iZXIgYmV0d2VlbiAxLTUwMDAuXG4gKi9cbk1heGltdW1HYW1lU2VydmVyQ29udGFpbmVyR3JvdXBzUGVySW5zdGFuY2U/OiBudW1iZXJcbi8qKlxuICogQSB0aW1lIHN0YW1wIGluZGljYXRpbmcgd2hlbiB0aGlzIGRhdGEgb2JqZWN0IHdhcyBjcmVhdGVkLiBGb3JtYXQgaXMgYSBudW1iZXIgZXhwcmVzc2VkIGluIFVuaXggdGltZSBhcyBtaWxsaXNlY29uZHMgKGZvciBleGFtcGxlIFwiMTQ2OTQ5ODQ2OC4wNTdcIikuXG4gKi9cbkNyZWF0aW9uVGltZT86IHN0cmluZ1xuLyoqXG4gKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGNvbnRhaW5lciBmbGVldC5cbiAqL1xuU3RhdHVzPzogKFwiUEVORElOR1wiIHwgXCJDUkVBVElOR1wiIHwgXCJDUkVBVEVEXCIgfCBcIkFDVElWQVRJTkdcIiB8IFwiQUNUSVZFXCIgfCBcIlVQREFUSU5HXCIgfCBcIkRFTEVUSU5HXCIpXG5EZXBsb3ltZW50RGV0YWlscz86IERlcGxveW1lbnREZXRhaWxzXG5EZXBsb3ltZW50Q29uZmlndXJhdGlvbj86IERlcGxveW1lbnRDb25maWd1cmF0aW9uXG4vKipcbiAqIFRoZSBuYW1lIG9mIGFuIEVDMiBpbnN0YW5jZSB0eXBlIHRoYXQgaXMgc3VwcG9ydGVkIGluIEFtYXpvbiBHYW1lTGlmdC4gQSBmbGVldCBpbnN0YW5jZSB0eXBlIGRldGVybWluZXMgdGhlIGNvbXB1dGluZyByZXNvdXJjZXMgb2YgZWFjaCBpbnN0YW5jZSBpbiB0aGUgZmxlZXQsIGluY2x1ZGluZyBDUFUsIG1lbW9yeSwgc3RvcmFnZSwgYW5kIG5ldHdvcmtpbmcgY2FwYWNpdHkuIEFtYXpvbiBHYW1lTGlmdCBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIEVDMiBpbnN0YW5jZSB0eXBlcy4gU2VlIEFtYXpvbiBFQzIgSW5zdGFuY2UgVHlwZXMgZm9yIGRldGFpbGVkIGRlc2NyaXB0aW9ucy5cbiAqL1xuSW5zdGFuY2VUeXBlPzogc3RyaW5nXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHVzZSBPbi1EZW1hbmQgaW5zdGFuY2VzIG9yIFNwb3QgaW5zdGFuY2VzIGZvciB0aGlzIGZsZWV0LiBJZiBlbXB0eSwgdGhlIGRlZmF1bHQgaXMgT05fREVNQU5ELiBCb3RoIGNhdGVnb3JpZXMgb2YgaW5zdGFuY2VzIHVzZSBpZGVudGljYWwgaGFyZHdhcmUgYW5kIGNvbmZpZ3VyYXRpb25zIGJhc2VkIG9uIHRoZSBpbnN0YW5jZSB0eXBlIHNlbGVjdGVkIGZvciB0aGlzIGZsZWV0LlxuICovXG5CaWxsaW5nVHlwZT86IChcIk9OX0RFTUFORFwiIHwgXCJTUE9UXCIpXG4vKipcbiAqIEBtYXhJdGVtcyAxMDBcbiAqL1xuTG9jYXRpb25zPzogTG9jYXRpb25Db25maWd1cmF0aW9uW11cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgY29udHJvbCBob3cgYSBmbGVldCBpcyBzY2FsZWQuXG4gKiBcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5TY2FsaW5nUG9saWNpZXM/OiBTY2FsaW5nUG9saWN5W11cbi8qKlxuICogVGhlIG5hbWUgb2YgYW4gQW1hem9uIENsb3VkV2F0Y2ggbWV0cmljIGdyb3VwLiBBIG1ldHJpYyBncm91cCBhZ2dyZWdhdGVzIHRoZSBtZXRyaWNzIGZvciBhbGwgZmxlZXRzIGluIHRoZSBncm91cC4gU3BlY2lmeSBhIHN0cmluZyBjb250YWluaW5nIHRoZSBtZXRyaWMgZ3JvdXAgbmFtZS4gWW91IGNhbiB1c2UgYW4gZXhpc3RpbmcgbmFtZSBvciB1c2UgYSBuZXcgbmFtZSB0byBjcmVhdGUgYSBuZXcgbWV0cmljIGdyb3VwLiBDdXJyZW50bHksIHRoaXMgcGFyYW1ldGVyIGNhbiBoYXZlIG9ubHkgb25lIHN0cmluZy5cbiAqIFxuICogQG1heEl0ZW1zIDFcbiAqL1xuTWV0cmljR3JvdXBzPzogc3RyaW5nW11cbi8qKlxuICogQSBnYW1lIHNlc3Npb24gcHJvdGVjdGlvbiBwb2xpY3kgdG8gYXBwbHkgdG8gYWxsIGdhbWUgc2Vzc2lvbnMgaG9zdGVkIG9uIGluc3RhbmNlcyBpbiB0aGlzIGZsZWV0LiBXaGVuIHByb3RlY3RlZCwgYWN0aXZlIGdhbWUgc2Vzc2lvbnMgY2Fubm90IGJlIHRlcm1pbmF0ZWQgZHVyaW5nIGEgc2NhbGUtZG93biBldmVudC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNldCwgaW5zdGFuY2VzIGluIHRoaXMgZmxlZXQgZGVmYXVsdCB0byBubyBwcm90ZWN0aW9uLiBZb3UgY2FuIGNoYW5nZSBhIGZsZWV0J3MgcHJvdGVjdGlvbiBwb2xpY3kgdG8gYWZmZWN0IGZ1dHVyZSBnYW1lIHNlc3Npb25zIG9uIHRoZSBmbGVldC4gWW91IGNhbiBhbHNvIHNldCBwcm90ZWN0aW9uIGZvciBpbmRpdmlkdWFsIGdhbWUgc2Vzc2lvbnMuXG4gKi9cbk5ld0dhbWVTZXNzaW9uUHJvdGVjdGlvblBvbGljeT86IChcIkZ1bGxQcm90ZWN0aW9uXCIgfCBcIk5vUHJvdGVjdGlvblwiKVxuR2FtZVNlc3Npb25DcmVhdGlvbkxpbWl0UG9saWN5PzogR2FtZVNlc3Npb25DcmVhdGlvbkxpbWl0UG9saWN5XG5Mb2dDb25maWd1cmF0aW9uPzogTG9nQ29uZmlndXJhdGlvblxuLyoqXG4gKiBBbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMgdG8gYXBwbHkgdG8gdGhpcyByZXNvdXJjZS5cbiAqIFxuICogQG1heEl0ZW1zIDIwMFxuICovXG5UYWdzPzogVGFnW11cbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIHRoYXQgaXMgYXNzaWduZWQgdG8gYSBBbWF6b24gR2FtZUxpZnQgY29udGFpbmVyIGZsZWV0IHJlc291cmNlIGFuZCB1bmlxdWVseSBpZGVudGlmaWVzIGl0IGFjcm9zcyBhbGwgQVdTIFJlZ2lvbnMuXG4gKi9cbkZsZWV0QXJuPzogc3RyaW5nXG59XG4vKipcbiAqIERlZmluZXMgdGhlIHJhbmdlIG9mIHBvcnRzIG9uIHRoZSBpbnN0YW5jZSB0aGF0IGFsbG93IGluYm91bmQgdHJhZmZpYyB0byBjb25uZWN0IHdpdGggY29udGFpbmVycyBpbiBhIGZsZWV0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25Qb3J0UmFuZ2Uge1xuLyoqXG4gKiBBIHN0YXJ0aW5nIHZhbHVlIGZvciBhIHJhbmdlIG9mIGFsbG93ZWQgcG9ydCBudW1iZXJzLlxuICovXG5Gcm9tUG9ydDogbnVtYmVyXG4vKipcbiAqIEFuIGVuZGluZyB2YWx1ZSBmb3IgYSByYW5nZSBvZiBhbGxvd2VkIHBvcnQgbnVtYmVycy4gUG9ydCBudW1iZXJzIGFyZSBlbmQtaW5jbHVzaXZlLiBUaGlzIHZhbHVlIG11c3QgYmUgaGlnaGVyIHRoYW4gRnJvbVBvcnQuXG4gKi9cblRvUG9ydDogbnVtYmVyXG59XG4vKipcbiAqIEEgcmFuZ2Ugb2YgSVAgYWRkcmVzc2VzIGFuZCBwb3J0IHNldHRpbmdzIHRoYXQgYWxsb3cgaW5ib3VuZCB0cmFmZmljIHRvIGNvbm5lY3QgdG8gc2VydmVyIHByb2Nlc3NlcyBvbiBhbiBBbWF6b24gR2FtZUxpZnQgaG9zdGluZyByZXNvdXJjZS4gTmV3IGdhbWUgc2Vzc2lvbnMgdGhhdCBhcmUgc3RhcnRlZCBvbiB0aGUgZmxlZXQgYXJlIGFzc2lnbmVkIGFuIElQIGFkZHJlc3MvcG9ydCBudW1iZXIgY29tYmluYXRpb24sIHdoaWNoIG11c3QgZmFsbCBpbnRvIHRoZSBmbGVldCdzIGFsbG93ZWQgcmFuZ2VzLiBGb3IgZmxlZXRzIGNyZWF0ZWQgd2l0aCBhIGN1c3RvbSBnYW1lIHNlcnZlciwgdGhlIHJhbmdlcyByZWZsZWN0IHRoZSBzZXJ2ZXIncyBnYW1lIHNlc3Npb24gYXNzaWdubWVudHMuIEZvciBSZWFsdGltZSBTZXJ2ZXJzIGZsZWV0cywgQW1hem9uIEdhbWVMaWZ0IGF1dG9tYXRpY2FsbHkgb3BlbnMgdHdvIHBvcnQgcmFuZ2VzLCBvbmUgZm9yIFRDUCBtZXNzYWdpbmcgYW5kIG9uZSBmb3IgVURQLCBmb3IgdXNlIGJ5IHRoZSBSZWFsdGltZSBzZXJ2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwUGVybWlzc2lvbiB7XG4vKipcbiAqIEEgc3RhcnRpbmcgdmFsdWUgZm9yIGEgcmFuZ2Ugb2YgYWxsb3dlZCBwb3J0IG51bWJlcnMuXG4gKi9cbkZyb21Qb3J0OiBudW1iZXJcbi8qKlxuICogQSByYW5nZSBvZiBhbGxvd2VkIElQIGFkZHJlc3Nlcy4gVGhpcyB2YWx1ZSBtdXN0IGJlIGV4cHJlc3NlZCBpbiBDSURSIG5vdGF0aW9uLiBFeGFtcGxlOiBcIjAwMC4wMDAuMDAwLjAwMC9bc3VibmV0IG1hc2tdXCIgb3Igb3B0aW9uYWxseSB0aGUgc2hvcnRlbmVkIHZlcnNpb24gXCIwLjAuMC4wL1tzdWJuZXQgbWFza11cIi5cbiAqL1xuSXBSYW5nZTogc3RyaW5nXG4vKipcbiAqIFRoZSBuZXR3b3JrIGNvbW11bmljYXRpb24gcHJvdG9jb2wgdXNlZCBieSB0aGUgZmxlZXQuXG4gKi9cblByb3RvY29sOiAoXCJUQ1BcIiB8IFwiVURQXCIpXG4vKipcbiAqIEFuIGVuZGluZyB2YWx1ZSBmb3IgYSByYW5nZSBvZiBhbGxvd2VkIHBvcnQgbnVtYmVycy4gUG9ydCBudW1iZXJzIGFyZSBlbmQtaW5jbHVzaXZlLiBUaGlzIHZhbHVlIG11c3QgYmUgaGlnaGVyIHRoYW4gRnJvbVBvcnQuXG4gKi9cblRvUG9ydDogbnVtYmVyXG59XG4vKipcbiAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGRlcGxveW1lbnQgSUQgYW5kIGl0cyBzdGF0dXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudERldGFpbHMge1xuLyoqXG4gKiBUaGUgSUQgb2YgdGhlIGxhc3QgZGVwbG95bWVudCBvbiB0aGUgY29udGFpbmVyIGZsZWV0LiBUaGlzIGZpZWxkIHdpbGwgYmUgZW1wdHkgaWYgdGhlIGNvbnRhaW5lciBmbGVldCBkb2VzIG5vdCBoYXZlIGEgQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uIGF0dGFjaGVkLlxuICovXG5MYXRlc3REZXBsb3ltZW50SWQ/OiBzdHJpbmdcbn1cbi8qKlxuICogUHJvdmlkZXMgZGV0YWlscyBhYm91dCBob3cgdG8gZHJhaW4gb2xkIHRhc2tzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBuZXcgdXBkYXRlZCB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50Q29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBwcm90ZWN0aW9uIHN0cmF0ZWd5IGZvciBkZXBsb3ltZW50IG9uIHRoZSBjb250YWluZXIgZmxlZXQ7IGRlZmF1bHRzIHRvIFdJVEhfUFJPVEVDVElPTi5cbiAqL1xuUHJvdGVjdGlvblN0cmF0ZWd5PzogKFwiV0lUSF9QUk9URUNUSU9OXCIgfCBcIklHTk9SRV9QUk9URUNUSU9OXCIpXG4vKipcbiAqIFRoZSBtaW5pbXVtIHBlcmNlbnRhZ2Ugb2YgaGVhbHRoeSByZXF1aXJlZDsgZGVmYXVsdHMgdG8gNzUuXG4gKi9cbk1pbmltdW1IZWFsdGh5UGVyY2VudGFnZT86IG51bWJlclxuLyoqXG4gKiBUaGUgc3RyYXRlZ3kgdG8gYXBwbHkgaW4gY2FzZSBvZiBpbXBhaXJtZW50OyBkZWZhdWx0cyB0byBNQUlOVEFJTi5cbiAqL1xuSW1wYWlybWVudFN0cmF0ZWd5PzogKFwiTUFJTlRBSU5cIiB8IFwiUk9MTEJBQ0tcIilcbn1cbi8qKlxuICogQSByZW1vdGUgbG9jYXRpb24gd2hlcmUgYSBtdWx0aS1sb2NhdGlvbiBmbGVldCBjYW4gZGVwbG95IEVDMiBpbnN0YW5jZXMgZm9yIGdhbWUgaG9zdGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbkNvbmZpZ3VyYXRpb24ge1xuTG9jYXRpb246IExvY2F0aW9uXG5Mb2NhdGlvbkNhcGFjaXR5PzogTG9jYXRpb25DYXBhY2l0eVxuU3RvcHBlZEFjdGlvbnM/OiBTdG9wcGVkQWN0aW9uc1xufVxuLyoqXG4gKiBDdXJyZW50IHJlc291cmNlIGNhcGFjaXR5IHNldHRpbmdzIGluIGEgc3BlY2lmaWVkIGZsZWV0IG9yIGxvY2F0aW9uLiBUaGUgbG9jYXRpb24gdmFsdWUgbWlnaHQgcmVmZXIgdG8gYSBmbGVldCdzIHJlbW90ZSBsb2NhdGlvbiBvciBpdHMgaG9tZSBSZWdpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25DYXBhY2l0eSB7XG4vKipcbiAqIERlZmF1bHRzIHRvIE1pblNpemUgaWYgbm90IGRlZmluZWQuIFRoZSBudW1iZXIgb2YgRUMyIGluc3RhbmNlcyB5b3Ugd2FudCB0byBtYWludGFpbiBpbiB0aGUgc3BlY2lmaWVkIGZsZWV0IGxvY2F0aW9uLiBUaGlzIHZhbHVlIG11c3QgZmFsbCBiZXR3ZWVuIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHNpemUgbGltaXRzLiBJZiBhbnkgYXV0by1zY2FsaW5nIHBvbGljeSBpcyBkZWZpbmVkIGZvciB0aGUgY29udGFpbmVyIGZsZWV0LCB0aGUgZGVzaXJlZCBpbnN0YW5jZSB3aWxsIG9ubHkgYmUgYXBwbGllZCBvbmNlIGR1cmluZyBmbGVldCBjcmVhdGlvbiBhbmQgd2lsbCBiZSBpZ25vcmVkIGluIHVwZGF0ZXMgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggYXV0by1zY2FsaW5nLiBEdXJpbmcgdXBkYXRlcyB3aXRoIGFueSBhdXRvLXNjYWxpbmcgcG9saWN5IGRlZmluZWQsIGlmIGN1cnJlbnQgZGVzaXJlZCBpbnN0YW5jZSBpcyBsb3dlciB0aGFuIHRoZSBuZXcgTWluU2l6ZSwgaXQgd2lsbCBiZSBpbmNyZWFzZWQgdG8gdGhlIG5ldyBNaW5TaXplOyBpZiBjdXJyZW50IGRlc2lyZWQgaW5zdGFuY2UgaXMgbGFyZ2VyIHRoYW4gdGhlIG5ldyBNYXhTaXplLCBpdCB3aWxsIGJlIGRlY3JlYXNlZCB0byB0aGUgbmV3IE1heFNpemUuXG4gKi9cbkRlc2lyZWRFQzJJbnN0YW5jZXM/OiBudW1iZXJcbi8qKlxuICogVGhlIG1pbmltdW0gdmFsdWUgYWxsb3dlZCBmb3IgdGhlIGZsZWV0J3MgaW5zdGFuY2UgY291bnQgZm9yIGEgbG9jYXRpb24uXG4gKi9cbk1pblNpemU/OiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gdmFsdWUgdGhhdCBpcyBhbGxvd2VkIGZvciB0aGUgZmxlZXQncyBpbnN0YW5jZSBjb3VudCBmb3IgYSBsb2NhdGlvbi5cbiAqL1xuTWF4U2l6ZTogbnVtYmVyXG5NYW5hZ2VkQ2FwYWNpdHlDb25maWd1cmF0aW9uPzogTWFuYWdlZENhcGFjaXR5Q29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEFtYXpvbiBHYW1lTGlmdCBTZXJ2ZXJzLW1hbmFnZWQgY2FwYWNpdHkgYmVoYXZpb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlZENhcGFjaXR5Q29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBzdHJhdGVneSBBbWF6b24gR2FtZUxpZnQgU2VydmVycyB3aWxsIHVzZSB0byBhdXRvbWF0aWNhbGx5IHNjYWxlIHlvdXIgY2FwYWNpdHkgdG8gYW5kIGZyb20gemVybyBpbiByZXNwb25zZSB0byBnYW1lIHNlc3Npb24gYWN0aXZpdHkuIEdhbWUgc2Vzc2lvbiBhY3Rpdml0eSByZWZlcnMgdG8gYW55IGFjdGl2ZSBydW5uaW5nIHNlc3Npb25zIG9yIGdhbWUgc2Vzc2lvbiByZXF1ZXN0cy4gV2hlbiBzZXQgdG8gU0NBTEVfVE9fQU5EX0ZST01fWkVSTywgTWluU2l6ZSBtdXN0IG5vdCBiZSBzcGVjaWZpZWQgYW5kIHdpbGwgYmUgbWFuYWdlZCBhdXRvbWF0aWNhbGx5LiBXaGVuIHNldCB0byBNQU5VQUwsIE1pblNpemUgaXMgcmVxdWlyZWQuXG4gKi9cblplcm9DYXBhY2l0eVN0cmF0ZWd5OiAoXCJTQ0FMRV9UT19BTkRfRlJPTV9aRVJPXCIgfCBcIk1BTlVBTFwiKVxuLyoqXG4gKiBMZW5ndGggb2YgdGltZSwgaW4gbWludXRlcywgdGhhdCBBbWF6b24gR2FtZUxpZnQgU2VydmVycyB3aWxsIHdhaXQgYmVmb3JlIHNjYWxpbmcgaW4geW91ciBNaW5TaXplIGFuZCBEZXNpcmVkSW5zdGFuY2VzIHRvIDAgYWZ0ZXIgYSBwZXJpb2Qgd2l0aCBubyBnYW1lIHNlc3Npb24gYWN0aXZpdHkuXG4gKi9cblNjYWxlSW5BZnRlckluYWN0aXZpdHlNaW51dGVzPzogbnVtYmVyXG59XG4vKipcbiAqIFJ1bGUgdGhhdCBjb250cm9scyBob3cgYSBmbGVldCBpcyBzY2FsZWQuIFNjYWxpbmcgcG9saWNpZXMgYXJlIHVuaXF1ZWx5IGlkZW50aWZpZWQgYnkgdGhlIGNvbWJpbmF0aW9uIG9mIG5hbWUgYW5kIGZsZWV0IElELlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxpbmdQb2xpY3kge1xuLyoqXG4gKiBDb21wYXJpc29uIG9wZXJhdG9yIHRvIHVzZSB3aGVuIG1lYXN1cmluZyBhIG1ldHJpYyBhZ2FpbnN0IHRoZSB0aHJlc2hvbGQgdmFsdWUuXG4gKi9cbkNvbXBhcmlzb25PcGVyYXRvcj86IChcIkdyZWF0ZXJUaGFuT3JFcXVhbFRvVGhyZXNob2xkXCIgfCBcIkdyZWF0ZXJUaGFuVGhyZXNob2xkXCIgfCBcIkxlc3NUaGFuVGhyZXNob2xkXCIgfCBcIkxlc3NUaGFuT3JFcXVhbFRvVGhyZXNob2xkXCIpXG4vKipcbiAqIExlbmd0aCBvZiB0aW1lIChpbiBtaW51dGVzKSB0aGUgbWV0cmljIG11c3QgYmUgYXQgb3IgYmV5b25kIHRoZSB0aHJlc2hvbGQgYmVmb3JlIGEgc2NhbGluZyBldmVudCBpcyB0cmlnZ2VyZWQuXG4gKi9cbkV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyXG4vKipcbiAqIE5hbWUgb2YgdGhlIEFtYXpvbiBHYW1lTGlmdC1kZWZpbmVkIG1ldHJpYyB0aGF0IGlzIHVzZWQgdG8gdHJpZ2dlciBhIHNjYWxpbmcgYWRqdXN0bWVudC5cbiAqL1xuTWV0cmljTmFtZTogKFwiQWN0aXZhdGluZ0dhbWVTZXNzaW9uc1wiIHwgXCJBY3RpdmVHYW1lU2Vzc2lvbnNcIiB8IFwiQWN0aXZlSW5zdGFuY2VzXCIgfCBcIkF2YWlsYWJsZUdhbWVTZXNzaW9uc1wiIHwgXCJBdmFpbGFibGVQbGF5ZXJTZXNzaW9uc1wiIHwgXCJDdXJyZW50UGxheWVyU2Vzc2lvbnNcIiB8IFwiSWRsZUluc3RhbmNlc1wiIHwgXCJQZXJjZW50QXZhaWxhYmxlR2FtZVNlc3Npb25zXCIgfCBcIlBlcmNlbnRJZGxlSW5zdGFuY2VzXCIgfCBcIlF1ZXVlRGVwdGhcIiB8IFwiV2FpdFRpbWVcIiB8IFwiQ29uY3VycmVudEFjdGl2YXRhYmxlR2FtZVNlc3Npb25zXCIpXG4vKipcbiAqIEEgZGVzY3JpcHRpdmUgbGFiZWwgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYSBmbGVldCdzIHNjYWxpbmcgcG9saWN5LiBQb2xpY3kgbmFtZXMgZG8gbm90IG5lZWQgdG8gYmUgdW5pcXVlLlxuICovXG5OYW1lOiBzdHJpbmdcbi8qKlxuICogVGhlIHR5cGUgb2Ygc2NhbGluZyBwb2xpY3kgdG8gY3JlYXRlLiBGb3IgYSB0YXJnZXQtYmFzZWQgcG9saWN5LCBzZXQgdGhlIHBhcmFtZXRlciBNZXRyaWNOYW1lIHRvICdQZXJjZW50QXZhaWxhYmxlR2FtZVNlc3Npb25zJyBhbmQgc3BlY2lmeSBhIFRhcmdldENvbmZpZ3VyYXRpb24uIEZvciBhIHJ1bGUtYmFzZWQgcG9saWN5IHNldCB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6IE1ldHJpY05hbWUsIENvbXBhcmlzb25PcGVyYXRvciwgVGhyZXNob2xkLCBFdmFsdWF0aW9uUGVyaW9kcywgU2NhbGluZ0FkanVzdG1lbnRUeXBlLCBhbmQgU2NhbGluZ0FkanVzdG1lbnQuXG4gKi9cblBvbGljeVR5cGU/OiAoXCJSdWxlQmFzZWRcIiB8IFwiVGFyZ2V0QmFzZWRcIilcbi8qKlxuICogQW1vdW50IG9mIGFkanVzdG1lbnQgdG8gbWFrZSwgYmFzZWQgb24gdGhlIHNjYWxpbmcgYWRqdXN0bWVudCB0eXBlLlxuICovXG5TY2FsaW5nQWRqdXN0bWVudD86IG51bWJlclxuLyoqXG4gKiBUaGUgdHlwZSBvZiBhZGp1c3RtZW50IHRvIG1ha2UgdG8gYSBmbGVldCdzIGluc3RhbmNlIGNvdW50LlxuICovXG5TY2FsaW5nQWRqdXN0bWVudFR5cGU/OiAoXCJDaGFuZ2VJbkNhcGFjaXR5XCIgfCBcIkV4YWN0Q2FwYWNpdHlcIiB8IFwiUGVyY2VudENoYW5nZUluQ2FwYWNpdHlcIilcblRhcmdldENvbmZpZ3VyYXRpb24/OiBUYXJnZXRDb25maWd1cmF0aW9uXG4vKipcbiAqIE1ldHJpYyB2YWx1ZSB1c2VkIHRvIHRyaWdnZXIgYSBzY2FsaW5nIGV2ZW50LlxuICovXG5UaHJlc2hvbGQ/OiBudW1iZXJcbn1cbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgc2V0dGluZ3MgZm9yIGEgdGFyZ2V0LWJhc2VkIHNjYWxpbmcgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBEZXNpcmVkIHZhbHVlIHRvIHVzZSB3aXRoIGEgdGFyZ2V0LWJhc2VkIHNjYWxpbmcgcG9saWN5LiBUaGUgdmFsdWUgbXVzdCBiZSByZWxldmFudCBmb3Igd2hhdGV2ZXIgbWV0cmljIHRoZSBzY2FsaW5nIHBvbGljeSBpcyB1c2luZy4gRm9yIGV4YW1wbGUsIGluIGEgcG9saWN5IHVzaW5nIHRoZSBtZXRyaWMgUGVyY2VudEF2YWlsYWJsZUdhbWVTZXNzaW9ucywgdGhlIHRhcmdldCB2YWx1ZSBzaG91bGQgYmUgdGhlIHByZWZlcnJlZCBzaXplIG9mIHRoZSBmbGVldCdzIGJ1ZmZlciAodGhlIHBlcmNlbnQgb2YgY2FwYWNpdHkgdGhhdCBzaG91bGQgYmUgaWRsZSBhbmQgcmVhZHkgZm9yIG5ldyBnYW1lIHNlc3Npb25zKS5cbiAqL1xuVGFyZ2V0VmFsdWU6IG51bWJlclxufVxuLyoqXG4gKiBBIHBvbGljeSB0aGF0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIGdhbWUgc2Vzc2lvbnMgYW4gaW5kaXZpZHVhbCBwbGF5ZXIgY2FuIGNyZWF0ZSBvdmVyIGEgc3BhbiBvZiB0aW1lIGZvciB0aGlzIGZsZWV0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhbWVTZXNzaW9uQ3JlYXRpb25MaW1pdFBvbGljeSB7XG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYW1lIHNlc3Npb25zIHRoYXQgYW4gaW5kaXZpZHVhbCBjYW4gY3JlYXRlIGR1cmluZyB0aGUgcG9saWN5IHBlcmlvZC5cbiAqL1xuTmV3R2FtZVNlc3Npb25zUGVyQ3JlYXRvcj86IG51bWJlclxuLyoqXG4gKiBUaGUgdGltZSBzcGFuIHVzZWQgaW4gZXZhbHVhdGluZyB0aGUgcmVzb3VyY2UgY3JlYXRpb24gbGltaXQgcG9saWN5LlxuICovXG5Qb2xpY3lQZXJpb2RJbk1pbnV0ZXM/OiBudW1iZXJcbn1cbi8qKlxuICogQSBwb2xpY3kgdGhlIGxvY2F0aW9uIGFuZCBwcm92aWRlciBvZiBsb2dzIGZyb20gdGhlIGZsZWV0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0NvbmZpZ3VyYXRpb24ge1xuTG9nRGVzdGluYXRpb24/OiBMb2dEZXN0aW5hdGlvblxuLyoqXG4gKiBJZiBsb2cgZGVzdGluYXRpb24gaXMgQ0xPVURXQVRDSCwgbG9ncyBhcmUgc2VudCB0byB0aGUgc3BlY2lmaWVkIGxvZyBncm91cCBpbiBBbWF6b24gQ2xvdWRXYXRjaC5cbiAqL1xuTG9nR3JvdXBBcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIFMzIGJ1Y2tldCB0byBwdWxsIGxvZ3MgZnJvbSBpZiBTMyBpcyB0aGUgTG9nRGVzdGluYXRpb25cbiAqL1xuUzNCdWNrZXROYW1lPzogc3RyaW5nXG59XG4vKipcbiAqIEEga2V5LXZhbHVlIHBhaXIgdG8gYXNzb2NpYXRlIHdpdGggYSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuLyoqXG4gKiBUaGUga2V5IG5hbWUgb2YgdGhlIHRhZy4gWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgdGhhdCBpcyAxIHRvIDEyOCBVbmljb2RlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLlxuICovXG5LZXk6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQgaXMgMCB0byAyNTYgVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cbiAqL1xuVmFsdWU6IHN0cmluZ1xufVxuIl19