cdk-nextjs 0.0.6 → 0.0.8

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 CHANGED
@@ -7,7 +7,7 @@
7
7
  ]
8
8
  },
9
9
  "dependencies": {
10
- "aws-cdk-lib": "^2.161.1",
10
+ "aws-cdk-lib": "^2.172.0",
11
11
  "constructs": "^10.0.5"
12
12
  },
13
13
  "dependencyClosure": {
@@ -1019,6 +1019,19 @@
1019
1019
  }
1020
1020
  }
1021
1021
  },
1022
+ "aws-cdk-lib.aws_connectcampaignsv2": {
1023
+ "targets": {
1024
+ "dotnet": {
1025
+ "package": "Amazon.CDK.AWS.ConnectCampaignsV2"
1026
+ },
1027
+ "java": {
1028
+ "package": "software.amazon.awscdk.services.connectcampaignsv2"
1029
+ },
1030
+ "python": {
1031
+ "module": "aws_cdk.aws_connectcampaignsv2"
1032
+ }
1033
+ }
1034
+ },
1022
1035
  "aws-cdk-lib.aws_controltower": {
1023
1036
  "targets": {
1024
1037
  "dotnet": {
@@ -2826,6 +2839,19 @@
2826
2839
  }
2827
2840
  }
2828
2841
  },
2842
+ "aws-cdk-lib.aws_rbin": {
2843
+ "targets": {
2844
+ "dotnet": {
2845
+ "package": "Amazon.CDK.AWS.Rbin"
2846
+ },
2847
+ "java": {
2848
+ "package": "software.amazon.awscdk.services.rbin"
2849
+ },
2850
+ "python": {
2851
+ "module": "aws_cdk.aws_rbin"
2852
+ }
2853
+ }
2854
+ },
2829
2855
  "aws-cdk-lib.aws_rds": {
2830
2856
  "targets": {
2831
2857
  "dotnet": {
@@ -3860,7 +3886,7 @@
3860
3886
  "stability": "stable"
3861
3887
  },
3862
3888
  "homepage": "https://github.com/cdklabs/cdk-nextjs.git",
3863
- "jsiiVersion": "5.5.10 (build 224bf90)",
3889
+ "jsiiVersion": "5.5.13 (build 464f9b8)",
3864
3890
  "keywords": [
3865
3891
  "aws",
3866
3892
  "aws-cdk",
@@ -8321,7 +8347,7 @@
8321
8347
  "immutable": true,
8322
8348
  "locationInModule": {
8323
8349
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8324
- "line": 50
8350
+ "line": 56
8325
8351
  },
8326
8352
  "name": "capacity",
8327
8353
  "optional": true,
@@ -8339,7 +8365,7 @@
8339
8365
  "immutable": true,
8340
8366
  "locationInModule": {
8341
8367
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8342
- "line": 44
8368
+ "line": 50
8343
8369
  },
8344
8370
  "name": "clusterName",
8345
8371
  "optional": true,
@@ -8357,7 +8383,7 @@
8357
8383
  "immutable": true,
8358
8384
  "locationInModule": {
8359
8385
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8360
- "line": 38
8386
+ "line": 44
8361
8387
  },
8362
8388
  "name": "containerInsights",
8363
8389
  "optional": true,
@@ -8375,7 +8401,7 @@
8375
8401
  "immutable": true,
8376
8402
  "locationInModule": {
8377
8403
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8378
- "line": 32
8404
+ "line": 38
8379
8405
  },
8380
8406
  "name": "defaultCloudMapNamespace",
8381
8407
  "optional": true,
@@ -8393,7 +8419,7 @@
8393
8419
  "immutable": true,
8394
8420
  "locationInModule": {
8395
8421
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8396
- "line": 25
8422
+ "line": 31
8397
8423
  },
8398
8424
  "name": "enableFargateCapacityProviders",
8399
8425
  "optional": true,
@@ -8411,7 +8437,7 @@
8411
8437
  "immutable": true,
8412
8438
  "locationInModule": {
8413
8439
  "filename": "src/generated-structs/OptionalClusterProps.ts",
8414
- "line": 19
8440
+ "line": 25
8415
8441
  },
8416
8442
  "name": "executeCommandConfiguration",
8417
8443
  "optional": true,
@@ -8419,6 +8445,24 @@
8419
8445
  "fqn": "aws-cdk-lib.aws_ecs.ExecuteCommandConfiguration"
8420
8446
  }
8421
8447
  },
8448
+ {
8449
+ "abstract": true,
8450
+ "docs": {
8451
+ "default": "- no encryption will be applied.",
8452
+ "stability": "stable",
8453
+ "summary": "Encryption configuration for ECS Managed storage."
8454
+ },
8455
+ "immutable": true,
8456
+ "locationInModule": {
8457
+ "filename": "src/generated-structs/OptionalClusterProps.ts",
8458
+ "line": 19
8459
+ },
8460
+ "name": "managedStorageConfiguration",
8461
+ "optional": true,
8462
+ "type": {
8463
+ "fqn": "aws-cdk-lib.aws_ecs.ManagedStorageConfiguration"
8464
+ }
8465
+ },
8422
8466
  {
8423
8467
  "abstract": true,
8424
8468
  "docs": {
@@ -9939,7 +9983,7 @@
9939
9983
  "abstract": true,
9940
9984
  "docs": {
9941
9985
  "default": "RecursiveLoop.Terminate",
9942
- "remarks": "It lets Lambda detect and terminate unintended recusrive loops.",
9986
+ "remarks": "It lets Lambda detect and terminate unintended recursive loops.",
9943
9987
  "stability": "stable",
9944
9988
  "summary": "Sets the Recursive Loop Protection for Lambda Function."
9945
9989
  },
@@ -10056,7 +10100,7 @@
10056
10100
  "abstract": true,
10057
10101
  "docs": {
10058
10102
  "default": "- No snapstart",
10059
- "remarks": "SnapStart is currently supported only for Java 11, 17 runtime",
10103
+ "remarks": "SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime",
10060
10104
  "stability": "stable",
10061
10105
  "summary": "Enable SnapStart for Lambda Function."
10062
10106
  },
@@ -10928,7 +10972,7 @@
10928
10972
  "abstract": true,
10929
10973
  "docs": {
10930
10974
  "default": "RecursiveLoop.Terminate",
10931
- "remarks": "It lets Lambda detect and terminate unintended recusrive loops.",
10975
+ "remarks": "It lets Lambda detect and terminate unintended recursive loops.",
10932
10976
  "stability": "stable",
10933
10977
  "summary": "Sets the Recursive Loop Protection for Lambda Function."
10934
10978
  },
@@ -11063,7 +11107,7 @@
11063
11107
  "abstract": true,
11064
11108
  "docs": {
11065
11109
  "default": "- No snapstart",
11066
- "remarks": "SnapStart is currently supported only for Java 11, 17 runtime",
11110
+ "remarks": "SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime",
11067
11111
  "stability": "stable",
11068
11112
  "summary": "Enable SnapStart for Lambda Function."
11069
11113
  },
@@ -11953,7 +11997,7 @@
11953
11997
  "abstract": true,
11954
11998
  "docs": {
11955
11999
  "default": "RecursiveLoop.Terminate",
11956
- "remarks": "It lets Lambda detect and terminate unintended recusrive loops.",
12000
+ "remarks": "It lets Lambda detect and terminate unintended recursive loops.",
11957
12001
  "stability": "stable",
11958
12002
  "summary": "Sets the Recursive Loop Protection for Lambda Function."
11959
12003
  },
@@ -12088,7 +12132,7 @@
12088
12132
  "abstract": true,
12089
12133
  "docs": {
12090
12134
  "default": "- No snapstart",
12091
- "remarks": "SnapStart is currently supported only for Java 11, 17 runtime",
12135
+ "remarks": "SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime",
12092
12136
  "stability": "stable",
12093
12137
  "summary": "Enable SnapStart for Lambda Function."
12094
12138
  },
@@ -13829,6 +13873,6 @@
13829
13873
  "symbolId": "src/nextjs-build/nextjs-build:PublicDirEntry"
13830
13874
  }
13831
13875
  },
13832
- "version": "0.0.6",
13833
- "fingerprint": "k/42IoYjNHRjmrOOXYMv4wkIpidRssA6BNjJzstw7CY="
13876
+ "version": "0.0.8",
13877
+ "fingerprint": "HOhsZ4RxQxprB+qOYpCHYMVcZBBZ6f5QkupYXs9PaEc="
13834
13878
  }
package/API.md CHANGED
@@ -5044,6 +5044,7 @@ const optionalClusterProps: OptionalClusterProps = { ... }
5044
5044
  | <code><a href="#cdk-nextjs.OptionalClusterProps.property.defaultCloudMapNamespace">defaultCloudMapNamespace</a></code> | <code>aws-cdk-lib.aws_ecs.CloudMapNamespaceOptions</code> | The service discovery namespace created in this cluster. |
5045
5045
  | <code><a href="#cdk-nextjs.OptionalClusterProps.property.enableFargateCapacityProviders">enableFargateCapacityProviders</a></code> | <code>boolean</code> | Whether to enable Fargate Capacity Providers. |
5046
5046
  | <code><a href="#cdk-nextjs.OptionalClusterProps.property.executeCommandConfiguration">executeCommandConfiguration</a></code> | <code>aws-cdk-lib.aws_ecs.ExecuteCommandConfiguration</code> | The execute command configuration for the cluster. |
5047
+ | <code><a href="#cdk-nextjs.OptionalClusterProps.property.managedStorageConfiguration">managedStorageConfiguration</a></code> | <code>aws-cdk-lib.aws_ecs.ManagedStorageConfiguration</code> | Encryption configuration for ECS Managed storage. |
5047
5048
  | <code><a href="#cdk-nextjs.OptionalClusterProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC where your ECS instances will be running or your ENIs will be deployed. |
5048
5049
 
5049
5050
  ---
@@ -5126,6 +5127,19 @@ The execute command configuration for the cluster.
5126
5127
 
5127
5128
  ---
5128
5129
 
5130
+ ##### `managedStorageConfiguration`<sup>Optional</sup> <a name="managedStorageConfiguration" id="cdk-nextjs.OptionalClusterProps.property.managedStorageConfiguration"></a>
5131
+
5132
+ ```typescript
5133
+ public readonly managedStorageConfiguration: ManagedStorageConfiguration;
5134
+ ```
5135
+
5136
+ - *Type:* aws-cdk-lib.aws_ecs.ManagedStorageConfiguration
5137
+ - *Default:* no encryption will be applied.
5138
+
5139
+ Encryption configuration for ECS Managed storage.
5140
+
5141
+ ---
5142
+
5129
5143
  ##### `vpc`<sup>Optional</sup> <a name="vpc" id="cdk-nextjs.OptionalClusterProps.property.vpc"></a>
5130
5144
 
5131
5145
  ```typescript
@@ -6411,7 +6425,7 @@ public readonly recursiveLoop: RecursiveLoop;
6411
6425
 
6412
6426
  Sets the Recursive Loop Protection for Lambda Function.
6413
6427
 
6414
- It lets Lambda detect and terminate unintended recusrive loops.
6428
+ It lets Lambda detect and terminate unintended recursive loops.
6415
6429
 
6416
6430
  ---
6417
6431
 
@@ -6506,7 +6520,7 @@ public readonly snapStart: SnapStartConf;
6506
6520
 
6507
6521
  Enable SnapStart for Lambda Function.
6508
6522
 
6509
- SnapStart is currently supported only for Java 11, 17 runtime
6523
+ SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
6510
6524
 
6511
6525
  ---
6512
6526
 
@@ -7273,7 +7287,7 @@ public readonly recursiveLoop: RecursiveLoop;
7273
7287
 
7274
7288
  Sets the Recursive Loop Protection for Lambda Function.
7275
7289
 
7276
- It lets Lambda detect and terminate unintended recusrive loops.
7290
+ It lets Lambda detect and terminate unintended recursive loops.
7277
7291
 
7278
7292
  ---
7279
7293
 
@@ -7385,7 +7399,7 @@ public readonly snapStart: SnapStartConf;
7385
7399
 
7386
7400
  Enable SnapStart for Lambda Function.
7387
7401
 
7388
- SnapStart is currently supported only for Java 11, 17 runtime
7402
+ SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
7389
7403
 
7390
7404
  ---
7391
7405
 
@@ -8164,7 +8178,7 @@ public readonly recursiveLoop: RecursiveLoop;
8164
8178
 
8165
8179
  Sets the Recursive Loop Protection for Lambda Function.
8166
8180
 
8167
- It lets Lambda detect and terminate unintended recusrive loops.
8181
+ It lets Lambda detect and terminate unintended recursive loops.
8168
8182
 
8169
8183
  ---
8170
8184
 
@@ -8276,7 +8290,7 @@ public readonly snapStart: SnapStartConf;
8276
8290
 
8277
8291
  Enable SnapStart for Lambda Function.
8278
8292
 
8279
- SnapStart is currently supported only for Java 11, 17 runtime
8293
+ SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
8280
8294
 
8281
8295
  ---
8282
8296
 
@@ -9,6 +9,12 @@ export interface OptionalClusterProps {
9
9
  * @stability stable
10
10
  */
11
11
  readonly vpc?: aws_ec2.IVpc;
12
+ /**
13
+ * Encryption configuration for ECS Managed storage.
14
+ * @default - no encryption will be applied.
15
+ * @stability stable
16
+ */
17
+ readonly managedStorageConfiguration?: aws_ecs.ManagedStorageConfiguration;
12
18
  /**
13
19
  * The execute command configuration for the cluster.
14
20
  * @default - no configuration will be provided.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxDbHVzdGVyUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxDbHVzdGVyUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWMyLCBhd3NfZWNzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsQ2x1c3RlclByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nIG9yIHlvdXIgRU5JcyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgVlBDIHdpdGggdHdvIEFac1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogVGhlIGV4ZWN1dGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGZvciB0aGUgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgLSBubyBjb25maWd1cmF0aW9uIHdpbGwgYmUgcHJvdmlkZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24/OiBhd3NfZWNzLkV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIEZhcmdhdGUgQ2FwYWNpdHkgUHJvdmlkZXJzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRmFyZ2F0ZUNhcGFjaXR5UHJvdmlkZXJzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgY3JlYXRlZCBpbiB0aGlzIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IC0gbm8gc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGNyZWF0ZWQsIHlvdSBjYW4gdXNlIGBhZGREZWZhdWx0Q2xvdWRNYXBOYW1lc3BhY2VgIHRvIGFkZCBhXG5kZWZhdWx0IHNlcnZpY2UgZGlzY292ZXJ5IG5hbWVzcGFjZSBsYXRlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZT86IGF3c19lY3MuQ2xvdWRNYXBOYW1lc3BhY2VPcHRpb25zO1xuICAvKipcbiAgICogSWYgdHJ1ZSBDbG91ZFdhdGNoIENvbnRhaW5lciBJbnNpZ2h0cyB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIENvbnRhaW5lciBJbnNpZ2h0cyB3aWxsIGJlIGRpc2FibGVkIGZvciB0aGlzIGNsdXN0ZXIuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJJbnNpZ2h0cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IENsb3VkRm9ybWF0aW9uLWdlbmVyYXRlZCBuYW1lXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlYzIgY2FwYWNpdHkgdG8gYWRkIHRvIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIG5vIEVDMiBjYXBhY2l0eSB3aWxsIGJlIGFkZGVkLCB5b3UgY2FuIHVzZSBgYWRkQ2FwYWNpdHlgIHRvIGFkZCBjYXBhY2l0eSBsYXRlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5PzogYXdzX2Vjcy5BZGRDYXBhY2l0eU9wdGlvbnM7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxDbHVzdGVyUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxDbHVzdGVyUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWMyLCBhd3NfZWNzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsQ2x1c3RlclByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nIG9yIHlvdXIgRU5JcyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgVlBDIHdpdGggdHdvIEFac1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBFQ1MgTWFuYWdlZCBzdG9yYWdlLlxuICAgKiBAZGVmYXVsdCAtIG5vIGVuY3J5cHRpb24gd2lsbCBiZSBhcHBsaWVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWFuYWdlZFN0b3JhZ2VDb25maWd1cmF0aW9uPzogYXdzX2Vjcy5NYW5hZ2VkU3RvcmFnZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0ZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBwcm92aWRlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbj86IGF3c19lY3MuRXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgRmFyZ2F0ZSBDYXBhY2l0eSBQcm92aWRlcnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHNlcnZpY2UgZGlzY292ZXJ5IG5hbWVzcGFjZSBjcmVhdGVkIGluIHRoaXMgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgLSBubyBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgY3JlYXRlZCwgeW91IGNhbiB1c2UgYGFkZERlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZWAgdG8gYWRkIGFcbmRlZmF1bHQgc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGxhdGVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlPzogYXdzX2Vjcy5DbG91ZE1hcE5hbWVzcGFjZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBJZiB0cnVlIENsb3VkV2F0Y2ggQ29udGFpbmVyIEluc2lnaHRzIHdpbGwgYmUgZW5hYmxlZCBmb3IgdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IC0gQ29udGFpbmVyIEluc2lnaHRzIHdpbGwgYmUgZGlzYWJsZWQgZm9yIHRoaXMgY2x1c3Rlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lckluc2lnaHRzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIGZvciB0aGUgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgQ2xvdWRGb3JtYXRpb24tZ2VuZXJhdGVkIG5hbWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXJOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVjMiBjYXBhY2l0eSB0byBhZGQgdG8gdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IC0gbm8gRUMyIGNhcGFjaXR5IHdpbGwgYmUgYWRkZWQsIHlvdSBjYW4gdXNlIGBhZGRDYXBhY2l0eWAgdG8gYWRkIGNhcGFjaXR5IGxhdGVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHk/OiBhd3NfZWNzLkFkZENhcGFjaXR5T3B0aW9ucztcbn1cbiJdfQ==
@@ -59,7 +59,7 @@ export interface OptionalDockerImageFunctionProps {
59
59
  readonly systemLogLevel?: string;
60
60
  /**
61
61
  * Enable SnapStart for Lambda Function.
62
- * SnapStart is currently supported only for Java 11, 17 runtime
62
+ * SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
63
63
  * @default - No snapstart
64
64
  * @stability stable
65
65
  */
@@ -103,7 +103,7 @@ export interface OptionalDockerImageFunctionProps {
103
103
  readonly reservedConcurrentExecutions?: number;
104
104
  /**
105
105
  * Sets the Recursive Loop Protection for Lambda Function.
106
- * It lets Lambda detect and terminate unintended recusrive loops.
106
+ * It lets Lambda detect and terminate unintended recursive loops.
107
107
  * @default RecursiveLoop.Terminate
108
108
  * @stability stable
109
109
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfY29kZWd1cnVwcm9maWxlciwgYXdzX2VjMiwgYXdzX2lhbSwgYXdzX2ttcywgYXdzX2xhbWJkYSwgYXdzX2xvZ3MsIGF3c19zbnMsIGF3c19zcXMsIER1cmF0aW9uLCBTaXplIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBjb2RlIG9mIHlvdXIgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBZb3UgY2FuIHBvaW50IHRvIGEgZmlsZSBpbiBhblxuICAgKiBBbWF6b24gU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoQW1hem9uIFMzKSBidWNrZXQgb3Igc3BlY2lmeSB5b3VyIHNvdXJjZVxuICAgKiBjb2RlIGFzIGlubGluZSB0ZXh0LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZT86IGF3c19sYW1iZGEuRG9ja2VySW1hZ2VDb2RlO1xuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyB3aXRoaW4gdGhlIFZQQy5cbiAgICogVGhpcyByZXF1aXJlcyBgdnBjYCB0byBiZSBzcGVjaWZpZWQgaW4gb3JkZXIgZm9yIGludGVyZmFjZXMgdG8gYWN0dWFsbHkgYmVcbiAgICogcGxhY2VkIGluIHRoZSBzdWJuZXRzLiBJZiBgdnBjYCBpcyBub3Qgc3BlY2lmeSwgdGhpcyB3aWxsIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBOb3RlOiBJbnRlcm5ldCBhY2Nlc3MgZm9yIExhbWJkYSBGdW5jdGlvbnMgcmVxdWlyZXMgYSBOQVQgR2F0ZXdheSwgc28gcGlja2luZ1xuICAgKiBwdWJsaWMgc3VibmV0cyBpcyBub3QgYWxsb3dlZCAodW5sZXNzIGBhbGxvd1B1YmxpY1N1Ym5ldGAgaXMgc2V0IHRvIGB0cnVlYCkuXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBhd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIFZQQyBuZXR3b3JrIHRvIHBsYWNlIExhbWJkYSBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIFNwZWNpZnkgdGhpcyBpZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIG5lZWRzIHRvIGFjY2VzcyByZXNvdXJjZXMgaW4gYSBWUEMuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBgdnBjU3VibmV0c2AgaXMgc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCAtIEZ1bmN0aW9uIGlzIG5vdCBwbGFjZWQgd2l0aGluIGEgVlBDLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5hYmxlIEFXUyBYLVJheSBUcmFjaW5nIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFRyYWNpbmcuRGlzYWJsZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmc/OiBhd3NfbGFtYmRhLlRyYWNpbmc7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZXhlY3V0aW9uIHRpbWUgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIExhbWJkYSB0ZXJtaW5hdGVzIHRoZSBmdW5jdGlvbi5cbiAgICogQmVjYXVzZSB0aGUgZXhlY3V0aW9uIHRpbWUgYWZmZWN0cyBjb3N0LCBzZXQgdGhpcyB2YWx1ZVxuICAgKiBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBleHBlY3RlZCBleGVjdXRpb24gdGltZS5cbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICAvKipcbiAgICogU2V0cyB0aGUgc3lzdGVtIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBTeXN0ZW1Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzeXN0ZW1Mb2dMZXZlbFYyPzogYXdzX2xhbWJkYS5TeXN0ZW1Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHN5c3RlbSBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzeXN0ZW1Mb2dMZXZlbFYyYCBhcyBhIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgc3lzdGVtTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgU25hcFN0YXJ0IGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIFNuYXBTdGFydCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIG9ubHkgZm9yIEphdmEgMTEsIDE3IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBObyBzbmFwc3RhcnRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNuYXBTdGFydD86IGF3c19sYW1iZGEuU25hcFN0YXJ0Q29uZjtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgTGFtYmRhJ3MgbmV0d29yayBpbnRlcmZhY2VzLlxuICAgKiBPbmx5IHVzZWQgaWYgJ3ZwYycgaXMgc3VwcGxpZWQuXG4gICAqIEBkZWZhdWx0IC0gSWYgdGhlIGZ1bmN0aW9uIGlzIHBsYWNlZCB3aXRoaW4gYSBWUEMgYW5kIGEgc2VjdXJpdHkgZ3JvdXAgaXNcbm5vdCBzcGVjaWZpZWQsIGVpdGhlciBieSB0aGlzIG9yIHNlY3VyaXR5R3JvdXAgcHJvcCwgYSBkZWRpY2F0ZWQgc2VjdXJpdHlcbmdyb3VwIHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhpcyBmdW5jdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogQXJyYXk8YXdzX2VjMi5JU2VjdXJpdHlHcm91cD47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBydW50aW1lIG1hbmFnZW1lbnQgY29uZmlndXJhdGlvbiBmb3IgYSBmdW5jdGlvbidzIHZlcnNpb24uXG4gICAqIEBkZWZhdWx0IEF1dG9cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWVNYW5hZ2VtZW50TW9kZT86IGF3c19sYW1iZGEuUnVudGltZU1hbmFnZW1lbnRNb2RlO1xuICAvKipcbiAgICogTGFtYmRhIGV4ZWN1dGlvbiByb2xlLlxuICAgKiBUaGlzIGlzIHRoZSByb2xlIHRoYXQgd2lsbCBiZSBhc3N1bWVkIGJ5IHRoZSBmdW5jdGlvbiB1cG9uIGV4ZWN1dGlvbi5cbiAgICogSXQgY29udHJvbHMgdGhlIHBlcm1pc3Npb25zIHRoYXQgdGhlIGZ1bmN0aW9uIHdpbGwgaGF2ZS4gVGhlIFJvbGUgbXVzdFxuICAgKiBiZSBhc3N1bWFibGUgYnkgdGhlICdsYW1iZGEuYW1hem9uYXdzLmNvbScgc2VydmljZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IFJvbGUgYXV0b21hdGljYWxseSBoYXMgcGVybWlzc2lvbnMgZ3JhbnRlZCBmb3IgTGFtYmRhIGV4ZWN1dGlvbi4gSWYgeW91XG4gICAqIHByb3ZpZGUgYSBSb2xlLCB5b3UgbXVzdCBhZGQgdGhlIHJlbGV2YW50IEFXUyBtYW5hZ2VkIHBvbGljaWVzIHlvdXJzZWxmLlxuICAgKlxuICAgKiBUaGUgcmVsZXZhbnQgbWFuYWdlZCBwb2xpY2llcyBhcmUgXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlXCIgYW5kXG4gICAqIFwic2VydmljZS1yb2xlL0FXU0xhbWJkYVZQQ0FjY2Vzc0V4ZWN1dGlvblJvbGVcIi5cbiAgICogQGRlZmF1bHQgLSBBIHVuaXF1ZSByb2xlIHdpbGwgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGxhbWJkYSBmdW5jdGlvbi5cbkJvdGggc3VwcGxpZWQgYW5kIGdlbmVyYXRlZCByb2xlcyBjYW4gYWx3YXlzIGJlIGNoYW5nZWQgYnkgY2FsbGluZyBgYWRkVG9Sb2xlUG9saWN5YC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBhd3NfaWFtLklSb2xlO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gb2YgY29uY3VycmVudCBleGVjdXRpb25zIHlvdSB3YW50IHRvIHJlc2VydmUgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBzcGVjaWZpYyBsaW1pdCAtIGFjY291bnQgbGltaXQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICAvKipcbiAgICogU2V0cyB0aGUgUmVjdXJzaXZlIExvb3AgUHJvdGVjdGlvbiBmb3IgTGFtYmRhIEZ1bmN0aW9uLlxuICAgKiBJdCBsZXRzIExhbWJkYSBkZXRlY3QgYW5kIHRlcm1pbmF0ZSB1bmludGVuZGVkIHJlY3Vzcml2ZSBsb29wcy5cbiAgICogQGRlZmF1bHQgUmVjdXJzaXZlTG9vcC5UZXJtaW5hdGVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY3Vyc2l2ZUxvb3A/OiBhd3NfbGFtYmRhLlJlY3Vyc2l2ZUxvb3A7XG4gIC8qKlxuICAgKiBQcm9maWxpbmcgR3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gQSBuZXcgcHJvZmlsaW5nIGdyb3VwIHdpbGwgYmUgY3JlYXRlZCBpZiBgcHJvZmlsaW5nYCBpcyBzZXQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxpbmdHcm91cD86IGF3c19jb2RlZ3VydXByb2ZpbGVyLklQcm9maWxpbmdHcm91cDtcbiAgLyoqXG4gICAqIEVuYWJsZSBwcm9maWxpbmcuXG4gICAqIEBkZWZhdWx0IC0gTm8gcHJvZmlsaW5nLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb2YgUGFyYW1ldGVycyBhbmQgU2VjcmV0cyBFeHRlbnNpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gUGFyYW1ldGVycyBhbmQgU2VjcmV0cyBFeHRlbnNpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtc0FuZFNlY3JldHM/OiBhd3NfbGFtYmRhLlBhcmFtc0FuZFNlY3JldHNMYXllclZlcnNpb247XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIG1lbW9yeSwgaW4gTUIsIHRoYXQgaXMgYWxsb2NhdGVkIHRvIHlvdXIgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBMYW1iZGEgdXNlcyB0aGlzIHZhbHVlIHRvIHByb3BvcnRpb25hbGx5IGFsbG9jYXRlIHRoZSBhbW91bnQgb2YgQ1BVXG4gICAqIHBvd2VyLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFJlc291cmNlIE1vZGVsIGluIHRoZSBBV1MgTGFtYmRhXG4gICAqIERldmVsb3BlciBHdWlkZS5cbiAgICogQGRlZmF1bHQgMTI4XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIElBTSByb2xlIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VzdG9tIHJlc291cmNlIHRoYXQgc2V0cyB0aGUgcmV0ZW50aW9uIHBvbGljeS5cbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbWlncmF0ZSB0byBgbG9nR3JvdXBgIGlmIHlvdSBjYW4uXG4gICAqIGBsb2dHcm91cGAgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogQGRlZmF1bHQgLSBBIG5ldyByb2xlIGlzIGNyZWF0ZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb25Sb2xlPzogYXdzX2lhbS5JUm9sZTtcbiAgLyoqXG4gICAqIFdoZW4gbG9nIHJldGVudGlvbiBpcyBzcGVjaWZpZWQsIGEgY3VzdG9tIHJlc291cmNlIGF0dGVtcHRzIHRvIGNyZWF0ZSB0aGUgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAuXG4gICAqIFRoZXNlIG9wdGlvbnMgY29udHJvbCB0aGUgcmV0cnkgcG9saWN5IHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCBDbG91ZFdhdGNoIEFQSXMuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgQVBJIGFuZCB3ZSBzdHJvbmdseSByZWNvbW1lbmQgeW91IG1pZ3JhdGUgdG8gYGxvZ0dyb3VwYCBpZiB5b3UgY2FuLlxuICAgKiBgbG9nR3JvdXBgIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgZnVsbHkgY3VzdG9taXphYmxlIGxvZyBncm91cCBhbmQgaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBBV1MgU0RLIHJldHJ5IG9wdGlvbnMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb25SZXRyeU9wdGlvbnM/OiBhd3NfbGFtYmRhLkxvZ1JldGVudGlvblJldHJ5T3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF5cyBsb2cgZXZlbnRzIGFyZSBrZXB0IGluIENsb3VkV2F0Y2ggTG9ncy5cbiAgICogV2hlbiB1cGRhdGluZ1xuICAgKiB0aGlzIHByb3BlcnR5LCB1bnNldHRpbmcgaXQgZG9lc24ndCByZW1vdmUgdGhlIGxvZyByZXRlbnRpb24gcG9saWN5LiBUb1xuICAgKiByZW1vdmUgdGhlIHJldGVudGlvbiBwb2xpY3ksIHNldCB0aGUgdmFsdWUgdG8gYElORklOSVRFYC5cbiAgICpcbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbW92ZSBhd2F5IGZyb20gaXQgaWYgeW91IGNhbi5cbiAgICogSW5zdGVhZCBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIHdpdGggYGxvZ3MuTG9nR3JvdXBgIGFuZCB1c2UgdGhlIGBsb2dHcm91cGAgcHJvcGVydHlcbiAgICogdG8gaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqIE1pZ3JhdGluZyBmcm9tIGBsb2dSZXRlbnRpb25gIHRvIGBsb2dHcm91cGAgd2lsbCBjYXVzZSB0aGUgbmFtZSBvZiB0aGUgbG9nIGdyb3VwIHRvIGNoYW5nZS5cbiAgICogVXNlcnMgYW5kIGNvZGUgYW5kIHJlZmVyZW5jaW5nIHRoZSBuYW1lIHZlcmJhdGltIHdpbGwgaGF2ZSB0byBhZGp1c3QuXG4gICAqXG4gICAqIEluIEFXUyBDREsgY29kZSwgeW91IGNhbiBhY2Nlc3MgdGhlIGxvZyBncm91cCBuYW1lIGRpcmVjdGx5IGZyb20gdGhlIExvZ0dyb3VwIGNvbnN0cnVjdDpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG4gICAqXG4gICAqIGRlY2xhcmUgY29uc3QgbXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgICogbXlMb2dHcm91cC5sb2dHcm91cE5hbWU7XG4gICAqIGBgYFxuICAgKiBAZGVmYXVsdCBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IGF3c19sb2dzLlJldGVudGlvbkRheXM7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGdyb3VwIHRoZSBmdW5jdGlvbiBzZW5kcyBsb2dzIHRvLlxuICAgKiBCeSBkZWZhdWx0LCBMYW1iZGEgZnVuY3Rpb25zIHNlbmQgbG9ncyB0byBhbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgZGVmYXVsdCBsb2cgZ3JvdXAgbmFtZWQgL2F3cy9sYW1iZGEvXFw8ZnVuY3Rpb24gbmFtZVxcPi5cbiAgICogSG93ZXZlciB5b3UgY2Fubm90IGNoYW5nZSB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGF1dG8tY3JlYXRlZCBsb2cgZ3JvdXAgdXNpbmcgdGhlIEFXUyBDREssIGUuZy4geW91IGNhbm5vdCBzZXQgYSBkaWZmZXJlbnQgbG9nIHJldGVudGlvbi5cbiAgICpcbiAgICogVXNlIHRoZSBgbG9nR3JvdXBgIHByb3BlcnR5IHRvIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBMb2dHcm91cCBhaGVhZCBvZiB0aW1lLCBhbmQgaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqXG4gICAqIFByb3ZpZGluZyBhIHVzZXItY29udHJvbGxlZCBsb2cgZ3JvdXAgd2FzIHJvbGxlZCBvdXQgdG8gY29tbWVyY2lhbCByZWdpb25zIG9uIDIwMjMtMTEtMTYuXG4gICAqIElmIHlvdSBhcmUgZGVwbG95aW5nIHRvIGFub3RoZXIgdHlwZSBvZiByZWdpb24sIHBsZWFzZSBjaGVjayByZWdpb25hbCBhdmFpbGFiaWxpdHkgZmlyc3QuXG4gICAqIEBkZWZhdWx0IGAvYXdzL2xhbWJkYS8ke3RoaXMuZnVuY3Rpb25OYW1lfWAgLSBkZWZhdWx0IGxvZyBncm91cCBjcmVhdGVkIGJ5IExhbWJkYVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBhd3NfbG9ncy5JTG9nR3JvdXA7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsb2dnaW5nRm9ybWF0IGZvciB0aGUgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IExvZ2dpbmdGb3JtYXQuVEVYVFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZ0Zvcm1hdD86IGF3c19sYW1iZGEuTG9nZ2luZ0Zvcm1hdDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvZ0Zvcm1hdCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBcIlRleHRcIlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxvZ2dpbmdGb3JtYXRgIGFzIGEgcHJvcGVydHkgaW5zdGVhZC5cbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICByZWFkb25seSBsb2dGb3JtYXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbGF5ZXJzIHRvIGFkZCB0byB0aGUgZnVuY3Rpb24ncyBleGVjdXRpb24gZW52aXJvbm1lbnQuXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIHlvdXIgTGFtYmRhIGZ1bmN0aW9uIHRvIHB1bGwgaW5cbiAgICogYWRkaXRpb25hbCBjb2RlIGR1cmluZyBpbml0aWFsaXphdGlvbiBpbiB0aGUgZm9ybSBvZiBsYXllcnMuIExheWVycyBhcmUgcGFja2FnZXMgb2YgbGlicmFyaWVzIG9yIG90aGVyIGRlcGVuZGVuY2llc1xuICAgKiB0aGF0IGNhbiBiZSB1c2VkIGJ5IG11bHRpcGxlIGZ1bmN0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBObyBsYXllcnMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsYXllcnM/OiBBcnJheTxhd3NfbGFtYmRhLklMYXllclZlcnNpb24+O1xuICAvKipcbiAgICogQWxsb3dzIG91dGJvdW5kIElQdjYgdHJhZmZpYyBvbiBWUEMgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbm5lY3RlZCB0byBkdWFsLXN0YWNrIHN1Ym5ldHMuXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZBbGxvd2VkRm9yRHVhbFN0YWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIHZlcnNpb24gb2YgQ2xvdWRXYXRjaCBMYW1iZGEgaW5zaWdodHMgdG8gdXNlIGZvciBtb25pdG9yaW5nLlxuICAgKiBAZGVmYXVsdCAtIE5vIExhbWJkYSBJbnNpZ2h0c1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zaWdodHNWZXJzaW9uPzogYXdzX2xhbWJkYS5MYW1iZGFJbnNpZ2h0c1ZlcnNpb247XG4gIC8qKlxuICAgKiBJbml0aWFsIHBvbGljeSBzdGF0ZW1lbnRzIHRvIGFkZCB0byB0aGUgY3JlYXRlZCBMYW1iZGEgUm9sZS5cbiAgICogWW91IGNhbiBjYWxsIGBhZGRUb1JvbGVQb2xpY3lgIHRvIHRoZSBjcmVhdGVkIGxhbWJkYSB0byBhZGQgc3RhdGVtZW50cyBwb3N0IGNyZWF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIHBvbGljeSBzdGF0ZW1lbnRzIGFyZSBhZGRlZCB0byB0aGUgY3JlYXRlZCBMYW1iZGEgcm9sZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluaXRpYWxQb2xpY3k/OiBBcnJheTxhd3NfaWFtLlBvbGljeVN0YXRlbWVudD47XG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBBV1MgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVzIGEgdW5pcXVlIHBoeXNpY2FsIElEIGFuZCB1c2VzIHRoYXRcbklEIGZvciB0aGUgZnVuY3Rpb24ncyBuYW1lLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIE5hbWUgVHlwZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlc3lzdGVtIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gd2lsbCBub3QgbW91bnQgYW55IGZpbGVzeXN0ZW1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZpbGVzeXN0ZW0/OiBhd3NfbGFtYmRhLkZpbGVTeXN0ZW07XG4gIC8qKlxuICAgKiBFdmVudCBzb3VyY2VzIGZvciB0aGlzIGZ1bmN0aW9uLlxuICAgKiBZb3UgY2FuIGFsc28gYWRkIGV2ZW50IHNvdXJjZXMgdXNpbmcgYGFkZEV2ZW50U291cmNlYC5cbiAgICogQGRlZmF1bHQgLSBObyBldmVudCBzb3VyY2VzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzPzogQXJyYXk8YXdzX2xhbWJkYS5JRXZlbnRTb3VyY2U+O1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGZ1bmN0aW9u4oCZcyAvdG1wIGRpcmVjdG9yeSBpbiBNaUIuXG4gICAqIEBkZWZhdWx0IDUxMiBNaUJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogU2l6ZTtcbiAgLyoqXG4gICAqIFRoZSBBV1MgS01TIGtleSB0aGF0J3MgdXNlZCB0byBlbmNyeXB0IHlvdXIgZnVuY3Rpb24ncyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqIEBkZWZhdWx0IC0gQVdTIExhbWJkYSBjcmVhdGVzIGFuZCB1c2VzIGFuIEFXUyBtYW5hZ2VkIGN1c3RvbWVyIG1hc3RlciBrZXkgKENNSykuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudEVuY3J5cHRpb24/OiBhd3Nfa21zLklLZXk7XG4gIC8qKlxuICAgKiBLZXktdmFsdWUgcGFpcnMgdGhhdCBMYW1iZGEgY2FjaGVzIGFuZCBtYWtlcyBhdmFpbGFibGUgZm9yIHlvdXIgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICogVXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhcHBseSBjb25maWd1cmF0aW9uIGNoYW5nZXMsIHN1Y2hcbiAgICogYXMgdGVzdCBhbmQgcHJvZHVjdGlvbiBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucywgd2l0aG91dCBjaGFuZ2luZyB5b3VyXG4gICAqIExhbWJkYSBmdW5jdGlvbiBzb3VyY2UgY29kZS5cbiAgICogQGRlZmF1bHQgLSBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFNOUyB0b3BpYyB0byB1c2UgYXMgYSBETFEuXG4gICAqIE5vdGUgdGhhdCBpZiBgZGVhZExldHRlclF1ZXVlRW5hYmxlZGAgaXMgc2V0IHRvIGB0cnVlYCwgYW4gU1FTIHF1ZXVlIHdpbGwgYmUgY3JlYXRlZFxuICAgKiByYXRoZXIgdGhhbiBhbiBTTlMgdG9waWMuIFVzaW5nIGFuIFNOUyB0b3BpYyBhcyBhIERMUSByZXF1aXJlcyB0aGlzIHByb3BlcnR5IHRvIGJlIHNldCBleHBsaWNpdGx5LlxuICAgKiBAZGVmYXVsdCAtIG5vIFNOUyB0b3BpY1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclRvcGljPzogYXdzX3Nucy5JVG9waWM7XG4gIC8qKlxuICAgKiBFbmFibGVkIERMUS5cbiAgICogSWYgYGRlYWRMZXR0ZXJRdWV1ZWAgaXMgdW5kZWZpbmVkLFxuICAgKiBhbiBTUVMgcXVldWUgd2l0aCBkZWZhdWx0IG9wdGlvbnMgd2lsbCBiZSBkZWZpbmVkIGZvciB5b3VyIEZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlIHVubGVzcyBgZGVhZExldHRlclF1ZXVlYCBpcyBzZXQsIHdoaWNoIGltcGxpZXMgRExRIGlzIGVuYWJsZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdG8gdXNlIGlmIERMUSBpcyBlbmFibGVkLlxuICAgKiBJZiBTTlMgdG9waWMgaXMgZGVzaXJlZCwgc3BlY2lmeSBgZGVhZExldHRlclRvcGljYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAtIFNRUyBxdWV1ZSB3aXRoIDE0IGRheSByZXRlbnRpb24gcGVyaW9kIGlmIGBkZWFkTGV0dGVyUXVldWVFbmFibGVkYCBpcyBgdHJ1ZWBcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZT86IGF3c19zcXMuSVF1ZXVlO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdGhlIGBsYW1iZGEuVmVyc2lvbmAgcmVzb3VyY2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGJ5IHRoZSBgZm4uY3VycmVudFZlcnNpb25gIG1ldGhvZC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnMgYXMgZGVzY3JpYmVkIGluIGBWZXJzaW9uT3B0aW9uc2BcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWZXJzaW9uT3B0aW9ucz86IGF3c19sYW1iZGEuVmVyc2lvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb2RlIHNpZ25pbmcgY29uZmlnIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vdCBTaWduIHRoZSBDb2RlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlU2lnbmluZ0NvbmZpZz86IGF3c19sYW1iZGEuSUNvZGVTaWduaW5nQ29uZmlnO1xuICAvKipcbiAgICogVGhlIHN5c3RlbSBhcmNoaXRlY3R1cmVzIGNvbXBhdGlibGUgd2l0aCB0aGlzIGxhbWJkYSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgQXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXJjaGl0ZWN0dXJlPzogYXdzX2xhbWJkYS5BcmNoaXRlY3R1cmU7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHBsaWNhdGlvbiBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgQXBwbGljYXRpb25Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbkxvZ0xldmVsVjI/OiBhd3NfbGFtYmRhLkFwcGxpY2F0aW9uTG9nTGV2ZWw7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHBsaWNhdGlvbiBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhcHBsaWNhdGlvbkxvZ0xldmVsVjJgIGFzIGEgcHJvcGVydHkgaW5zdGVhZC5cbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbkxvZ0xldmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogTGFtYmRhIEZ1bmN0aW9ucyBpbiBhIHB1YmxpYyBzdWJuZXQgY2FuIE5PVCBhY2Nlc3MgdGhlIGludGVybmV0LlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBhY2tub3dsZWRnZSB0aGlzIGxpbWl0YXRpb24gYW5kIHN0aWxsIHBsYWNlIHRoZSBmdW5jdGlvbiBpbiBhIHB1YmxpYyBzdWJuZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGxvd1B1YmxpY1N1Ym5ldD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBMYW1iZGEgdG8gc2VuZCBhbGwgbmV0d29yayB0cmFmZmljIChleGNlcHQgaXB2NikuXG4gICAqIElmIHNldCB0byBmYWxzZSwgeW91IG11c3QgaW5kaXZpZHVhbGx5IGFkZCB0cmFmZmljIHJ1bGVzIHRvIGFsbG93IHRoZVxuICAgKiBMYW1iZGEgdG8gY29ubmVjdCB0byBuZXR3b3JrIHRhcmdldHMuXG4gICAqXG4gICAqIERvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkgaWYgdGhlIGBzZWN1cml0eUdyb3Vwc2Agb3IgYHNlY3VyaXR5R3JvdXBgIHByb3BlcnR5IGlzIHNldC5cbiAgICogSW5zdGVhZCwgY29uZmlndXJlIGBhbGxvd0FsbE91dGJvdW5kYCBkaXJlY3RseSBvbiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgTGFtYmRhIHRvIHNlbmQgYWxsIGlwdjYgbmV0d29yayB0cmFmZmljLlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIGVncmVzcyBydWxlIHdoaWNoIGFsbG93cyBhbGxcbiAgICogb3V0Ym91bmQgaXB2NiB0cmFmZmljLiBJZiBzZXQgdG8gZmFsc2UsIHlvdSBtdXN0IGluZGl2aWR1YWxseSBhZGQgdHJhZmZpYyBydWxlcyB0byBhbGxvdyB0aGVcbiAgICogTGFtYmRhIHRvIGNvbm5lY3QgdG8gbmV0d29yayB0YXJnZXRzIHVzaW5nIGlwdjYuXG4gICAqXG4gICAqIERvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkgaWYgdGhlIGBzZWN1cml0eUdyb3Vwc2Agb3IgYHNlY3VyaXR5R3JvdXBgIHByb3BlcnR5IGlzIHNldC5cbiAgICogSW5zdGVhZCwgY29uZmlndXJlIGBhbGxvd0FsbElwdjZPdXRib3VuZGAgZGlyZWN0bHkgb24gdGhlIHNlY3VyaXR5IGdyb3VwLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dBbGxJcHY2T3V0Ym91bmQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgY29uZmlndXJhdGlvbiBvZiBBV1MgRGlzdHJvIGZvciBPcGVuVGVsZW1ldHJ5IChBRE9UKSBpbnN0cnVtZW50YXRpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gQURPVCBpbnN0cnVtZW50YXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFkb3RJbnN0cnVtZW50YXRpb24/OiBhd3NfbGFtYmRhLkFkb3RJbnN0cnVtZW50YXRpb25Db25maWc7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmV0cnkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvci5cbiAgICogTWluaW11bTogMFxuICAgKiBNYXhpbXVtOiAyXG4gICAqIEBkZWZhdWx0IDJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJldHJ5QXR0ZW1wdHM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gZm9yIHN1Y2Nlc3NmdWwgaW52b2NhdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzdGluYXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG9uU3VjY2Vzcz86IGF3c19sYW1iZGEuSURlc3RpbmF0aW9uO1xuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIGZvciBmYWlsZWQgaW52b2NhdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzdGluYXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG9uRmFpbHVyZT86IGF3c19sYW1iZGEuSURlc3RpbmF0aW9uO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gYWdlIG9mIGEgcmVxdWVzdCB0aGF0IExhbWJkYSBzZW5kcyB0byBhIGZ1bmN0aW9uIGZvciBwcm9jZXNzaW5nLlxuICAgKiBNaW5pbXVtOiA2MCBzZWNvbmRzXG4gICAqIE1heGltdW06IDYgaG91cnNcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uaG91cnMoNilcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1heEV2ZW50QWdlPzogRHVyYXRpb247XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfY29kZWd1cnVwcm9maWxlciwgYXdzX2VjMiwgYXdzX2lhbSwgYXdzX2ttcywgYXdzX2xhbWJkYSwgYXdzX2xvZ3MsIGF3c19zbnMsIGF3c19zcXMsIER1cmF0aW9uLCBTaXplIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBjb2RlIG9mIHlvdXIgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBZb3UgY2FuIHBvaW50IHRvIGEgZmlsZSBpbiBhblxuICAgKiBBbWF6b24gU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoQW1hem9uIFMzKSBidWNrZXQgb3Igc3BlY2lmeSB5b3VyIHNvdXJjZVxuICAgKiBjb2RlIGFzIGlubGluZSB0ZXh0LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZT86IGF3c19sYW1iZGEuRG9ja2VySW1hZ2VDb2RlO1xuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyB3aXRoaW4gdGhlIFZQQy5cbiAgICogVGhpcyByZXF1aXJlcyBgdnBjYCB0byBiZSBzcGVjaWZpZWQgaW4gb3JkZXIgZm9yIGludGVyZmFjZXMgdG8gYWN0dWFsbHkgYmVcbiAgICogcGxhY2VkIGluIHRoZSBzdWJuZXRzLiBJZiBgdnBjYCBpcyBub3Qgc3BlY2lmeSwgdGhpcyB3aWxsIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBOb3RlOiBJbnRlcm5ldCBhY2Nlc3MgZm9yIExhbWJkYSBGdW5jdGlvbnMgcmVxdWlyZXMgYSBOQVQgR2F0ZXdheSwgc28gcGlja2luZ1xuICAgKiBwdWJsaWMgc3VibmV0cyBpcyBub3QgYWxsb3dlZCAodW5sZXNzIGBhbGxvd1B1YmxpY1N1Ym5ldGAgaXMgc2V0IHRvIGB0cnVlYCkuXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBhd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIFZQQyBuZXR3b3JrIHRvIHBsYWNlIExhbWJkYSBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIFNwZWNpZnkgdGhpcyBpZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIG5lZWRzIHRvIGFjY2VzcyByZXNvdXJjZXMgaW4gYSBWUEMuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBgdnBjU3VibmV0c2AgaXMgc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCAtIEZ1bmN0aW9uIGlzIG5vdCBwbGFjZWQgd2l0aGluIGEgVlBDLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5hYmxlIEFXUyBYLVJheSBUcmFjaW5nIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFRyYWNpbmcuRGlzYWJsZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmc/OiBhd3NfbGFtYmRhLlRyYWNpbmc7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZXhlY3V0aW9uIHRpbWUgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIExhbWJkYSB0ZXJtaW5hdGVzIHRoZSBmdW5jdGlvbi5cbiAgICogQmVjYXVzZSB0aGUgZXhlY3V0aW9uIHRpbWUgYWZmZWN0cyBjb3N0LCBzZXQgdGhpcyB2YWx1ZVxuICAgKiBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBleHBlY3RlZCBleGVjdXRpb24gdGltZS5cbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICAvKipcbiAgICogU2V0cyB0aGUgc3lzdGVtIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBTeXN0ZW1Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzeXN0ZW1Mb2dMZXZlbFYyPzogYXdzX2xhbWJkYS5TeXN0ZW1Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHN5c3RlbSBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzeXN0ZW1Mb2dMZXZlbFYyYCBhcyBhIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgc3lzdGVtTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgU25hcFN0YXJ0IGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIFNuYXBTdGFydCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIGZvciBKYXZhIDExLCBKYXZhIDE3LCBQeXRob24gMy4xMiwgUHl0aG9uIDMuMTMsIGFuZCAuTkVUIDggcnVudGltZVxuICAgKiBAZGVmYXVsdCAtIE5vIHNuYXBzdGFydFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc25hcFN0YXJ0PzogYXdzX2xhbWJkYS5TbmFwU3RhcnRDb25mO1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBMYW1iZGEncyBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICogQGRlZmF1bHQgLSBJZiB0aGUgZnVuY3Rpb24gaXMgcGxhY2VkIHdpdGhpbiBhIFZQQyBhbmQgYSBzZWN1cml0eSBncm91cCBpc1xubm90IHNwZWNpZmllZCwgZWl0aGVyIGJ5IHRoaXMgb3Igc2VjdXJpdHlHcm91cCBwcm9wLCBhIGRlZGljYXRlZCBzZWN1cml0eVxuZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGZvciB0aGlzIGZ1bmN0aW9uLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBBcnJheTxhd3NfZWMyLklTZWN1cml0eUdyb3VwPjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHJ1bnRpbWUgbWFuYWdlbWVudCBjb25maWd1cmF0aW9uIGZvciBhIGZ1bmN0aW9uJ3MgdmVyc2lvbi5cbiAgICogQGRlZmF1bHQgQXV0b1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZU1hbmFnZW1lbnRNb2RlPzogYXdzX2xhbWJkYS5SdW50aW1lTWFuYWdlbWVudE1vZGU7XG4gIC8qKlxuICAgKiBMYW1iZGEgZXhlY3V0aW9uIHJvbGUuXG4gICAqIFRoaXMgaXMgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGFzc3VtZWQgYnkgdGhlIGZ1bmN0aW9uIHVwb24gZXhlY3V0aW9uLlxuICAgKiBJdCBjb250cm9scyB0aGUgcGVybWlzc2lvbnMgdGhhdCB0aGUgZnVuY3Rpb24gd2lsbCBoYXZlLiBUaGUgUm9sZSBtdXN0XG4gICAqIGJlIGFzc3VtYWJsZSBieSB0aGUgJ2xhbWJkYS5hbWF6b25hd3MuY29tJyBzZXJ2aWNlIHByaW5jaXBhbC5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgUm9sZSBhdXRvbWF0aWNhbGx5IGhhcyBwZXJtaXNzaW9ucyBncmFudGVkIGZvciBMYW1iZGEgZXhlY3V0aW9uLiBJZiB5b3VcbiAgICogcHJvdmlkZSBhIFJvbGUsIHlvdSBtdXN0IGFkZCB0aGUgcmVsZXZhbnQgQVdTIG1hbmFnZWQgcG9saWNpZXMgeW91cnNlbGYuXG4gICAqXG4gICAqIFRoZSByZWxldmFudCBtYW5hZ2VkIHBvbGljaWVzIGFyZSBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGVcIiBhbmRcbiAgICogXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhVlBDQWNjZXNzRXhlY3V0aW9uUm9sZVwiLlxuICAgKiBAZGVmYXVsdCAtIEEgdW5pcXVlIHJvbGUgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgbGFtYmRhIGZ1bmN0aW9uLlxuQm90aCBzdXBwbGllZCBhbmQgZ2VuZXJhdGVkIHJvbGVzIGNhbiBhbHdheXMgYmUgY2hhbmdlZCBieSBjYWxsaW5nIGBhZGRUb1JvbGVQb2xpY3lgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGF3c19pYW0uSVJvbGU7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBvZiBjb25jdXJyZW50IGV4ZWN1dGlvbnMgeW91IHdhbnQgdG8gcmVzZXJ2ZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIHNwZWNpZmljIGxpbWl0IC0gYWNjb3VudCBsaW1pdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBSZWN1cnNpdmUgTG9vcCBQcm90ZWN0aW9uIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEl0IGxldHMgTGFtYmRhIGRldGVjdCBhbmQgdGVybWluYXRlIHVuaW50ZW5kZWQgcmVjdXJzaXZlIGxvb3BzLlxuICAgKiBAZGVmYXVsdCBSZWN1cnNpdmVMb29wLlRlcm1pbmF0ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjdXJzaXZlTG9vcD86IGF3c19sYW1iZGEuUmVjdXJzaXZlTG9vcDtcbiAgLyoqXG4gICAqIFByb2ZpbGluZyBHcm91cC5cbiAgICogQGRlZmF1bHQgLSBBIG5ldyBwcm9maWxpbmcgZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGlmIGBwcm9maWxpbmdgIGlzIHNldC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGluZ0dyb3VwPzogYXdzX2NvZGVndXJ1cHJvZmlsZXIuSVByb2ZpbGluZ0dyb3VwO1xuICAvKipcbiAgICogRW5hYmxlIHByb2ZpbGluZy5cbiAgICogQGRlZmF1bHQgLSBObyBwcm9maWxpbmcuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgY29uZmlndXJhdGlvbiBvZiBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIEV4dGVuc2lvbi5cbiAgICogQGRlZmF1bHQgLSBObyBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIEV4dGVuc2lvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1zQW5kU2VjcmV0cz86IGF3c19sYW1iZGEuUGFyYW1zQW5kU2VjcmV0c0xheWVyVmVyc2lvbjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgbWVtb3J5LCBpbiBNQiwgdGhhdCBpcyBhbGxvY2F0ZWQgdG8geW91ciBMYW1iZGEgZnVuY3Rpb24uXG4gICAqIExhbWJkYSB1c2VzIHRoaXMgdmFsdWUgdG8gcHJvcG9ydGlvbmFsbHkgYWxsb2NhdGUgdGhlIGFtb3VudCBvZiBDUFVcbiAgICogcG93ZXIuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUmVzb3VyY2UgTW9kZWwgaW4gdGhlIEFXUyBMYW1iZGFcbiAgICogRGV2ZWxvcGVyIEd1aWRlLlxuICAgKiBAZGVmYXVsdCAxMjhcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXN0b20gcmVzb3VyY2UgdGhhdCBzZXRzIHRoZSByZXRlbnRpb24gcG9saWN5LlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IEFQSSBhbmQgd2Ugc3Ryb25nbHkgcmVjb21tZW5kIHlvdSBtaWdyYXRlIHRvIGBsb2dHcm91cGAgaWYgeW91IGNhbi5cbiAgICogYGxvZ0dyb3VwYCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBsb2cgZ3JvdXAgYW5kIGluc3RydWN0IHRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gc2VuZCBsb2dzIHRvIGl0LlxuICAgKiBAZGVmYXVsdCAtIEEgbmV3IHJvbGUgaXMgY3JlYXRlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvblJvbGU/OiBhd3NfaWFtLklSb2xlO1xuICAvKipcbiAgICogV2hlbiBsb2cgcmV0ZW50aW9uIGlzIHNwZWNpZmllZCwgYSBjdXN0b20gcmVzb3VyY2UgYXR0ZW1wdHMgdG8gY3JlYXRlIHRoZSBDbG91ZFdhdGNoIGxvZyBncm91cC5cbiAgICogVGhlc2Ugb3B0aW9ucyBjb250cm9sIHRoZSByZXRyeSBwb2xpY3kgd2hlbiBpbnRlcmFjdGluZyB3aXRoIENsb3VkV2F0Y2ggQVBJcy5cbiAgICpcbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbWlncmF0ZSB0byBgbG9nR3JvdXBgIGlmIHlvdSBjYW4uXG4gICAqIGBsb2dHcm91cGAgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IEFXUyBTREsgcmV0cnkgb3B0aW9ucy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvblJldHJ5T3B0aW9ucz86IGF3c19sYW1iZGEuTG9nUmV0ZW50aW9uUmV0cnlPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXlzIGxvZyBldmVudHMgYXJlIGtlcHQgaW4gQ2xvdWRXYXRjaCBMb2dzLlxuICAgKiBXaGVuIHVwZGF0aW5nXG4gICAqIHRoaXMgcHJvcGVydHksIHVuc2V0dGluZyBpdCBkb2Vzbid0IHJlbW92ZSB0aGUgbG9nIHJldGVudGlvbiBwb2xpY3kuIFRvXG4gICAqIHJlbW92ZSB0aGUgcmV0ZW50aW9uIHBvbGljeSwgc2V0IHRoZSB2YWx1ZSB0byBgSU5GSU5JVEVgLlxuICAgKlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IEFQSSBhbmQgd2Ugc3Ryb25nbHkgcmVjb21tZW5kIHlvdSBtb3ZlIGF3YXkgZnJvbSBpdCBpZiB5b3UgY2FuLlxuICAgKiBJbnN0ZWFkIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBsb2cgZ3JvdXAgd2l0aCBgbG9ncy5Mb2dHcm91cGAgYW5kIHVzZSB0aGUgYGxvZ0dyb3VwYCBwcm9wZXJ0eVxuICAgKiB0byBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogTWlncmF0aW5nIGZyb20gYGxvZ1JldGVudGlvbmAgdG8gYGxvZ0dyb3VwYCB3aWxsIGNhdXNlIHRoZSBuYW1lIG9mIHRoZSBsb2cgZ3JvdXAgdG8gY2hhbmdlLlxuICAgKiBVc2VycyBhbmQgY29kZSBhbmQgcmVmZXJlbmNpbmcgdGhlIG5hbWUgdmVyYmF0aW0gd2lsbCBoYXZlIHRvIGFkanVzdC5cbiAgICpcbiAgICogSW4gQVdTIENESyBjb2RlLCB5b3UgY2FuIGFjY2VzcyB0aGUgbG9nIGdyb3VwIG5hbWUgZGlyZWN0bHkgZnJvbSB0aGUgTG9nR3JvdXAgY29uc3RydWN0OlxuICAgKiBgYGB0c1xuICAgKiBpbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbiAgICpcbiAgICogZGVjbGFyZSBjb25zdCBteUxvZ0dyb3VwOiBsb2dzLkxvZ0dyb3VwO1xuICAgKiBteUxvZ0dyb3VwLmxvZ0dyb3VwTmFtZTtcbiAgICogYGBgXG4gICAqIEBkZWZhdWx0IGxvZ3MuUmV0ZW50aW9uRGF5cy5JTkZJTklURVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cztcbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXAgdGhlIGZ1bmN0aW9uIHNlbmRzIGxvZ3MgdG8uXG4gICAqIEJ5IGRlZmF1bHQsIExhbWJkYSBmdW5jdGlvbnMgc2VuZCBsb2dzIHRvIGFuIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBkZWZhdWx0IGxvZyBncm91cCBuYW1lZCAvYXdzL2xhbWJkYS9cXDxmdW5jdGlvbiBuYW1lXFw+LlxuICAgKiBIb3dldmVyIHlvdSBjYW5ub3QgY2hhbmdlIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgYXV0by1jcmVhdGVkIGxvZyBncm91cCB1c2luZyB0aGUgQVdTIENESywgZS5nLiB5b3UgY2Fubm90IHNldCBhIGRpZmZlcmVudCBsb2cgcmV0ZW50aW9uLlxuICAgKlxuICAgKiBVc2UgdGhlIGBsb2dHcm91cGAgcHJvcGVydHkgdG8gY3JlYXRlIGEgZnVsbHkgY3VzdG9taXphYmxlIExvZ0dyb3VwIGFoZWFkIG9mIHRpbWUsIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICpcbiAgICogUHJvdmlkaW5nIGEgdXNlci1jb250cm9sbGVkIGxvZyBncm91cCB3YXMgcm9sbGVkIG91dCB0byBjb21tZXJjaWFsIHJlZ2lvbnMgb24gMjAyMy0xMS0xNi5cbiAgICogSWYgeW91IGFyZSBkZXBsb3lpbmcgdG8gYW5vdGhlciB0eXBlIG9mIHJlZ2lvbiwgcGxlYXNlIGNoZWNrIHJlZ2lvbmFsIGF2YWlsYWJpbGl0eSBmaXJzdC5cbiAgICogQGRlZmF1bHQgYC9hd3MvbGFtYmRhLyR7dGhpcy5mdW5jdGlvbk5hbWV9YCAtIGRlZmF1bHQgbG9nIGdyb3VwIGNyZWF0ZWQgYnkgTGFtYmRhXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cD86IGF3c19sb2dzLklMb2dHcm91cDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvZ2dpbmdGb3JtYXQgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgTG9nZ2luZ0Zvcm1hdC5URVhUXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nRm9ybWF0PzogYXdzX2xhbWJkYS5Mb2dnaW5nRm9ybWF0O1xuICAvKipcbiAgICogU2V0cyB0aGUgbG9nRm9ybWF0IGZvciB0aGUgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFwiVGV4dFwiXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbG9nZ2luZ0Zvcm1hdGAgYXMgYSBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAc3RhYmlsaXR5IGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0Zvcm1hdD86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBsYXllcnMgdG8gYWRkIHRvIHRoZSBmdW5jdGlvbidzIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAgICogWW91IGNhbiBjb25maWd1cmUgeW91ciBMYW1iZGEgZnVuY3Rpb24gdG8gcHVsbCBpblxuICAgKiBhZGRpdGlvbmFsIGNvZGUgZHVyaW5nIGluaXRpYWxpemF0aW9uIGluIHRoZSBmb3JtIG9mIGxheWVycy4gTGF5ZXJzIGFyZSBwYWNrYWdlcyBvZiBsaWJyYXJpZXMgb3Igb3RoZXIgZGVwZW5kZW5jaWVzXG4gICAqIHRoYXQgY2FuIGJlIHVzZWQgYnkgbXVsdGlwbGUgZnVuY3Rpb25zLlxuICAgKiBAZGVmYXVsdCAtIE5vIGxheWVycy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxheWVycz86IEFycmF5PGF3c19sYW1iZGEuSUxheWVyVmVyc2lvbj47XG4gIC8qKlxuICAgKiBBbGxvd3Mgb3V0Ym91bmQgSVB2NiB0cmFmZmljIG9uIFZQQyBmdW5jdGlvbnMgdGhhdCBhcmUgY29ubmVjdGVkIHRvIGR1YWwtc3RhY2sgc3VibmV0cy5cbiAgICogT25seSB1c2VkIGlmICd2cGMnIGlzIHN1cHBsaWVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkFsbG93ZWRGb3JEdWFsU3RhY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgdmVyc2lvbiBvZiBDbG91ZFdhdGNoIExhbWJkYSBpbnNpZ2h0cyB0byB1c2UgZm9yIG1vbml0b3JpbmcuXG4gICAqIEBkZWZhdWx0IC0gTm8gTGFtYmRhIEluc2lnaHRzXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBpbnNpZ2h0c1ZlcnNpb24/OiBhd3NfbGFtYmRhLkxhbWJkYUluc2lnaHRzVmVyc2lvbjtcbiAgLyoqXG4gICAqIEluaXRpYWwgcG9saWN5IHN0YXRlbWVudHMgdG8gYWRkIHRvIHRoZSBjcmVhdGVkIExhbWJkYSBSb2xlLlxuICAgKiBZb3UgY2FuIGNhbGwgYGFkZFRvUm9sZVBvbGljeWAgdG8gdGhlIGNyZWF0ZWQgbGFtYmRhIHRvIGFkZCBzdGF0ZW1lbnRzIHBvc3QgY3JlYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gcG9saWN5IHN0YXRlbWVudHMgYXJlIGFkZGVkIHRvIHRoZSBjcmVhdGVkIExhbWJkYSByb2xlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdGlhbFBvbGljeT86IEFycmF5PGF3c19pYW0uUG9saWN5U3RhdGVtZW50PjtcbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIEFXUyBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZXMgYSB1bmlxdWUgcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdFxuSUQgZm9yIHRoZSBmdW5jdGlvbidzIG5hbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgTmFtZSBUeXBlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGVzeXN0ZW0gY29uZmlndXJhdGlvbiBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSB3aWxsIG5vdCBtb3VudCBhbnkgZmlsZXN5c3RlbVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZXN5c3RlbT86IGF3c19sYW1iZGEuRmlsZVN5c3RlbTtcbiAgLyoqXG4gICAqIEV2ZW50IHNvdXJjZXMgZm9yIHRoaXMgZnVuY3Rpb24uXG4gICAqIFlvdSBjYW4gYWxzbyBhZGQgZXZlbnQgc291cmNlcyB1c2luZyBgYWRkRXZlbnRTb3VyY2VgLlxuICAgKiBAZGVmYXVsdCAtIE5vIGV2ZW50IHNvdXJjZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBldmVudHM/OiBBcnJheTxhd3NfbGFtYmRhLklFdmVudFNvdXJjZT47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZnVuY3Rpb27igJlzIC90bXAgZGlyZWN0b3J5IGluIE1pQi5cbiAgICogQGRlZmF1bHQgNTEyIE1pQlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZVNpemU/OiBTaXplO1xuICAvKipcbiAgICogVGhlIEFXUyBLTVMga2V5IHRoYXQncyB1c2VkIHRvIGVuY3J5cHQgeW91ciBmdW5jdGlvbidzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQGRlZmF1bHQgLSBBV1MgTGFtYmRhIGNyZWF0ZXMgYW5kIHVzZXMgYW4gQVdTIG1hbmFnZWQgY3VzdG9tZXIgbWFzdGVyIGtleSAoQ01LKS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50RW5jcnlwdGlvbj86IGF3c19rbXMuSUtleTtcbiAgLyoqXG4gICAqIEtleS12YWx1ZSBwYWlycyB0aGF0IExhbWJkYSBjYWNoZXMgYW5kIG1ha2VzIGF2YWlsYWJsZSBmb3IgeW91ciBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKiBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFwcGx5IGNvbmZpZ3VyYXRpb24gY2hhbmdlcywgc3VjaFxuICAgKiBhcyB0ZXN0IGFuZCBwcm9kdWN0aW9uIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLCB3aXRob3V0IGNoYW5naW5nIHlvdXJcbiAgICogTGFtYmRhIGZ1bmN0aW9uIHNvdXJjZSBjb2RlLlxuICAgKiBAZGVmYXVsdCAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRvIHVzZSBhcyBhIERMUS5cbiAgICogTm90ZSB0aGF0IGlmIGBkZWFkTGV0dGVyUXVldWVFbmFibGVkYCBpcyBzZXQgdG8gYHRydWVgLCBhbiBTUVMgcXVldWUgd2lsbCBiZSBjcmVhdGVkXG4gICAqIHJhdGhlciB0aGFuIGFuIFNOUyB0b3BpYy4gVXNpbmcgYW4gU05TIHRvcGljIGFzIGEgRExRIHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgdG8gYmUgc2V0IGV4cGxpY2l0bHkuXG4gICAqIEBkZWZhdWx0IC0gbm8gU05TIHRvcGljXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyVG9waWM/OiBhd3Nfc25zLklUb3BpYztcbiAgLyoqXG4gICAqIEVuYWJsZWQgRExRLlxuICAgKiBJZiBgZGVhZExldHRlclF1ZXVlYCBpcyB1bmRlZmluZWQsXG4gICAqIGFuIFNRUyBxdWV1ZSB3aXRoIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIGRlZmluZWQgZm9yIHlvdXIgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gZmFsc2UgdW5sZXNzIGBkZWFkTGV0dGVyUXVldWVgIGlzIHNldCwgd2hpY2ggaW1wbGllcyBETFEgaXMgZW5hYmxlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0byB1c2UgaWYgRExRIGlzIGVuYWJsZWQuXG4gICAqIElmIFNOUyB0b3BpYyBpcyBkZXNpcmVkLCBzcGVjaWZ5IGBkZWFkTGV0dGVyVG9waWNgIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IC0gU1FTIHF1ZXVlIHdpdGggMTQgZGF5IHJldGVudGlvbiBwZXJpb2QgaWYgYGRlYWRMZXR0ZXJRdWV1ZUVuYWJsZWRgIGlzIGB0cnVlYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlPzogYXdzX3Nxcy5JUXVldWU7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciB0aGUgYGxhbWJkYS5WZXJzaW9uYCByZXNvdXJjZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgYnkgdGhlIGBmbi5jdXJyZW50VmVyc2lvbmAgbWV0aG9kLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9ucyBhcyBkZXNjcmliZWQgaW4gYFZlcnNpb25PcHRpb25zYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFZlcnNpb25PcHRpb25zPzogYXdzX2xhbWJkYS5WZXJzaW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIENvZGUgc2lnbmluZyBjb25maWcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gTm90IFNpZ24gdGhlIENvZGVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVTaWduaW5nQ29uZmlnPzogYXdzX2xhbWJkYS5JQ29kZVNpZ25pbmdDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIGFyY2hpdGVjdHVyZXMgY29tcGF0aWJsZSB3aXRoIHRoaXMgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBBcmNoaXRlY3R1cmUuWDg2XzY0XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU/OiBhd3NfbGFtYmRhLkFyY2hpdGVjdHVyZTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGFwcGxpY2F0aW9uIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBBcHBsaWNhdGlvbkxvZ0xldmVsLklORk9cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9nTGV2ZWxWMj86IGF3c19sYW1iZGEuQXBwbGljYXRpb25Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGFwcGxpY2F0aW9uIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBcIklORk9cIlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFwcGxpY2F0aW9uTG9nTGV2ZWxWMmAgYXMgYSBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAc3RhYmlsaXR5IGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMYW1iZGEgRnVuY3Rpb25zIGluIGEgcHVibGljIHN1Ym5ldCBjYW4gTk9UIGFjY2VzcyB0aGUgaW50ZXJuZXQuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGFja25vd2xlZGdlIHRoaXMgbGltaXRhdGlvbiBhbmQgc3RpbGwgcGxhY2UgdGhlIGZ1bmN0aW9uIGluIGEgcHVibGljIHN1Ym5ldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93UHVibGljU3VibmV0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIExhbWJkYSB0byBzZW5kIGFsbCBuZXR3b3JrIHRyYWZmaWMgKGV4Y2VwdCBpcHY2KS5cbiAgICogSWYgc2V0IHRvIGZhbHNlLCB5b3UgbXVzdCBpbmRpdmlkdWFsbHkgYWRkIHRyYWZmaWMgcnVsZXMgdG8gYWxsb3cgdGhlXG4gICAqIExhbWJkYSB0byBjb25uZWN0IHRvIG5ldHdvcmsgdGFyZ2V0cy5cbiAgICpcbiAgICogRG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB0aGUgYHNlY3VyaXR5R3JvdXBzYCBvciBgc2VjdXJpdHlHcm91cGAgcHJvcGVydHkgaXMgc2V0LlxuICAgKiBJbnN0ZWFkLCBjb25maWd1cmUgYGFsbG93QWxsT3V0Ym91bmRgIGRpcmVjdGx5IG9uIHRoZSBzZWN1cml0eSBncm91cC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dBbGxPdXRib3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBMYW1iZGEgdG8gc2VuZCBhbGwgaXB2NiBuZXR3b3JrIHRyYWZmaWMuXG4gICAqIElmIHNldCB0byB0cnVlLCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgZWdyZXNzIHJ1bGUgd2hpY2ggYWxsb3dzIGFsbFxuICAgKiBvdXRib3VuZCBpcHY2IHRyYWZmaWMuIElmIHNldCB0byBmYWxzZSwgeW91IG11c3QgaW5kaXZpZHVhbGx5IGFkZCB0cmFmZmljIHJ1bGVzIHRvIGFsbG93IHRoZVxuICAgKiBMYW1iZGEgdG8gY29ubmVjdCB0byBuZXR3b3JrIHRhcmdldHMgdXNpbmcgaXB2Ni5cbiAgICpcbiAgICogRG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB0aGUgYHNlY3VyaXR5R3JvdXBzYCBvciBgc2VjdXJpdHlHcm91cGAgcHJvcGVydHkgaXMgc2V0LlxuICAgKiBJbnN0ZWFkLCBjb25maWd1cmUgYGFsbG93QWxsSXB2Nk91dGJvdW5kYCBkaXJlY3RseSBvbiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0FsbElwdjZPdXRib3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBjb25maWd1cmF0aW9uIG9mIEFXUyBEaXN0cm8gZm9yIE9wZW5UZWxlbWV0cnkgKEFET1QpIGluc3RydW1lbnRhdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBBRE9UIGluc3RydW1lbnRhdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRvdEluc3RydW1lbnRhdGlvbj86IGF3c19sYW1iZGEuQWRvdEluc3RydW1lbnRhdGlvbkNvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0byByZXRyeSB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5zIGFuIGVycm9yLlxuICAgKiBNaW5pbXVtOiAwXG4gICAqIE1heGltdW06IDJcbiAgICogQGRlZmF1bHQgMlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBmb3Igc3VjY2Vzc2Z1bCBpbnZvY2F0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBubyBkZXN0aW5hdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb25TdWNjZXNzPzogYXdzX2xhbWJkYS5JRGVzdGluYXRpb247XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBubyBkZXN0aW5hdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb25GYWlsdXJlPzogYXdzX2xhbWJkYS5JRGVzdGluYXRpb247XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhZ2Ugb2YgYSByZXF1ZXN0IHRoYXQgTGFtYmRhIHNlbmRzIHRvIGEgZnVuY3Rpb24gZm9yIHByb2Nlc3NpbmcuXG4gICAqIE1pbmltdW06IDYwIHNlY29uZHNcbiAgICogTWF4aW11bTogNiBob3Vyc1xuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5ob3Vycyg2KVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4RXZlbnRBZ2U/OiBEdXJhdGlvbjtcbn1cbiJdfQ==
@@ -88,7 +88,7 @@ export interface OptionalEdgeFunctionProps {
88
88
  readonly systemLogLevel?: string;
89
89
  /**
90
90
  * Enable SnapStart for Lambda Function.
91
- * SnapStart is currently supported only for Java 11, 17 runtime
91
+ * SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
92
92
  * @default - No snapstart
93
93
  * @stability stable
94
94
  */
@@ -132,7 +132,7 @@ export interface OptionalEdgeFunctionProps {
132
132
  readonly reservedConcurrentExecutions?: number;
133
133
  /**
134
134
  * Sets the Recursive Loop Protection for Lambda Function.
135
- * It lets Lambda detect and terminate unintended recusrive loops.
135
+ * It lets Lambda detect and terminate unintended recursive loops.
136
136
  * @default RecursiveLoop.Terminate
137
137
  * @stability stable
138
138
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxFZGdlRnVuY3Rpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEVkZ2VGdW5jdGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2NvZGVndXJ1cHJvZmlsZXIsIGF3c19lYzIsIGF3c19pYW0sIGF3c19rbXMsIGF3c19sYW1iZGEsIGF3c19sb2dzLCBhd3Nfc25zLCBhd3Nfc3FzLCBEdXJhdGlvbiwgU2l6ZSB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBPcHRpb25hbEVkZ2VGdW5jdGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxFZGdlRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgSUQgb2YgTGFtYmRhQEVkZ2UgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gYGVkZ2UtbGFtYmRhLXN0YWNrLSR7cmVnaW9ufWBcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHlvdSBhcmUgdXBsb2FkaW5nLlxuICAgKiBGb3IgdmFsaWQgdmFsdWVzLCBzZWUgdGhlIFJ1bnRpbWUgcHJvcGVydHkgaW4gdGhlIEFXUyBMYW1iZGEgRGV2ZWxvcGVyXG4gICAqIEd1aWRlLlxuICAgKlxuICAgKiBVc2UgYFJ1bnRpbWUuRlJPTV9JTUFHRWAgd2hlbiBkZWZpbmluZyBhIGZ1bmN0aW9uIGZyb20gYSBEb2NrZXIgaW1hZ2UuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogYXdzX2xhbWJkYS5SdW50aW1lO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB3aXRoaW4geW91ciBjb2RlIHRoYXQgTGFtYmRhIGNhbGxzIHRvIGV4ZWN1dGUgeW91ciBmdW5jdGlvbi5cbiAgICogVGhlIGZvcm1hdCBpbmNsdWRlcyB0aGUgZmlsZSBuYW1lLiBJdCBjYW4gYWxzbyBpbmNsdWRlXG4gICAqIG5hbWVzcGFjZXMgYW5kIG90aGVyIHF1YWxpZmllcnMsIGRlcGVuZGluZyBvbiB0aGUgcnVudGltZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9mb3VuZGF0aW9uLXByb2dtb2RlbC5odG1sLlxuICAgKlxuICAgKiBVc2UgYEhhbmRsZXIuRlJPTV9JTUFHRWAgd2hlbiBkZWZpbmluZyBhIGZ1bmN0aW9uIGZyb20gYSBEb2NrZXIgaW1hZ2UuXG4gICAqXG4gICAqIE5PVEU6IElmIHlvdSBzcGVjaWZ5IHlvdXIgc291cmNlIGNvZGUgYXMgaW5saW5lIHRleHQgYnkgc3BlY2lmeWluZyB0aGVcbiAgICogWmlwRmlsZSBwcm9wZXJ0eSB3aXRoaW4gdGhlIENvZGUgcHJvcGVydHksIHNwZWNpZnkgaW5kZXguZnVuY3Rpb25fbmFtZSBhc1xuICAgKiB0aGUgaGFuZGxlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGhhbmRsZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGNvZGUgb2YgeW91ciBMYW1iZGEgZnVuY3Rpb24uXG4gICAqIFlvdSBjYW4gcG9pbnQgdG8gYSBmaWxlIGluIGFuXG4gICAqIEFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIChBbWF6b24gUzMpIGJ1Y2tldCBvciBzcGVjaWZ5IHlvdXIgc291cmNlXG4gICAqIGNvZGUgYXMgaW5saW5lIHRleHQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlPzogYXdzX2xhbWJkYS5Db2RlO1xuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyB3aXRoaW4gdGhlIFZQQy5cbiAgICogVGhpcyByZXF1aXJlcyBgdnBjYCB0byBiZSBzcGVjaWZpZWQgaW4gb3JkZXIgZm9yIGludGVyZmFjZXMgdG8gYWN0dWFsbHkgYmVcbiAgICogcGxhY2VkIGluIHRoZSBzdWJuZXRzLiBJZiBgdnBjYCBpcyBub3Qgc3BlY2lmeSwgdGhpcyB3aWxsIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBOb3RlOiBJbnRlcm5ldCBhY2Nlc3MgZm9yIExhbWJkYSBGdW5jdGlvbnMgcmVxdWlyZXMgYSBOQVQgR2F0ZXdheSwgc28gcGlja2luZ1xuICAgKiBwdWJsaWMgc3VibmV0cyBpcyBub3QgYWxsb3dlZCAodW5sZXNzIGBhbGxvd1B1YmxpY1N1Ym5ldGAgaXMgc2V0IHRvIGB0cnVlYCkuXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBhd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIFZQQyBuZXR3b3JrIHRvIHBsYWNlIExhbWJkYSBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIFNwZWNpZnkgdGhpcyBpZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIG5lZWRzIHRvIGFjY2VzcyByZXNvdXJjZXMgaW4gYSBWUEMuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBgdnBjU3VibmV0c2AgaXMgc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCAtIEZ1bmN0aW9uIGlzIG5vdCBwbGFjZWQgd2l0aGluIGEgVlBDLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5hYmxlIEFXUyBYLVJheSBUcmFjaW5nIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFRyYWNpbmcuRGlzYWJsZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmc/OiBhd3NfbGFtYmRhLlRyYWNpbmc7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZXhlY3V0aW9uIHRpbWUgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIExhbWJkYSB0ZXJtaW5hdGVzIHRoZSBmdW5jdGlvbi5cbiAgICogQmVjYXVzZSB0aGUgZXhlY3V0aW9uIHRpbWUgYWZmZWN0cyBjb3N0LCBzZXQgdGhpcyB2YWx1ZVxuICAgKiBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBleHBlY3RlZCBleGVjdXRpb24gdGltZS5cbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICAvKipcbiAgICogU2V0cyB0aGUgc3lzdGVtIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBTeXN0ZW1Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzeXN0ZW1Mb2dMZXZlbFYyPzogYXdzX2xhbWJkYS5TeXN0ZW1Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHN5c3RlbSBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzeXN0ZW1Mb2dMZXZlbFYyYCBhcyBhIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgc3lzdGVtTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgU25hcFN0YXJ0IGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIFNuYXBTdGFydCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIG9ubHkgZm9yIEphdmEgMTEsIDE3IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBObyBzbmFwc3RhcnRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNuYXBTdGFydD86IGF3c19sYW1iZGEuU25hcFN0YXJ0Q29uZjtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgTGFtYmRhJ3MgbmV0d29yayBpbnRlcmZhY2VzLlxuICAgKiBPbmx5IHVzZWQgaWYgJ3ZwYycgaXMgc3VwcGxpZWQuXG4gICAqIEBkZWZhdWx0IC0gSWYgdGhlIGZ1bmN0aW9uIGlzIHBsYWNlZCB3aXRoaW4gYSBWUEMgYW5kIGEgc2VjdXJpdHkgZ3JvdXAgaXNcbm5vdCBzcGVjaWZpZWQsIGVpdGhlciBieSB0aGlzIG9yIHNlY3VyaXR5R3JvdXAgcHJvcCwgYSBkZWRpY2F0ZWQgc2VjdXJpdHlcbmdyb3VwIHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhpcyBmdW5jdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogQXJyYXk8YXdzX2VjMi5JU2VjdXJpdHlHcm91cD47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBydW50aW1lIG1hbmFnZW1lbnQgY29uZmlndXJhdGlvbiBmb3IgYSBmdW5jdGlvbidzIHZlcnNpb24uXG4gICAqIEBkZWZhdWx0IEF1dG9cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWVNYW5hZ2VtZW50TW9kZT86IGF3c19sYW1iZGEuUnVudGltZU1hbmFnZW1lbnRNb2RlO1xuICAvKipcbiAgICogTGFtYmRhIGV4ZWN1dGlvbiByb2xlLlxuICAgKiBUaGlzIGlzIHRoZSByb2xlIHRoYXQgd2lsbCBiZSBhc3N1bWVkIGJ5IHRoZSBmdW5jdGlvbiB1cG9uIGV4ZWN1dGlvbi5cbiAgICogSXQgY29udHJvbHMgdGhlIHBlcm1pc3Npb25zIHRoYXQgdGhlIGZ1bmN0aW9uIHdpbGwgaGF2ZS4gVGhlIFJvbGUgbXVzdFxuICAgKiBiZSBhc3N1bWFibGUgYnkgdGhlICdsYW1iZGEuYW1hem9uYXdzLmNvbScgc2VydmljZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IFJvbGUgYXV0b21hdGljYWxseSBoYXMgcGVybWlzc2lvbnMgZ3JhbnRlZCBmb3IgTGFtYmRhIGV4ZWN1dGlvbi4gSWYgeW91XG4gICAqIHByb3ZpZGUgYSBSb2xlLCB5b3UgbXVzdCBhZGQgdGhlIHJlbGV2YW50IEFXUyBtYW5hZ2VkIHBvbGljaWVzIHlvdXJzZWxmLlxuICAgKlxuICAgKiBUaGUgcmVsZXZhbnQgbWFuYWdlZCBwb2xpY2llcyBhcmUgXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlXCIgYW5kXG4gICAqIFwic2VydmljZS1yb2xlL0FXU0xhbWJkYVZQQ0FjY2Vzc0V4ZWN1dGlvblJvbGVcIi5cbiAgICogQGRlZmF1bHQgLSBBIHVuaXF1ZSByb2xlIHdpbGwgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGxhbWJkYSBmdW5jdGlvbi5cbkJvdGggc3VwcGxpZWQgYW5kIGdlbmVyYXRlZCByb2xlcyBjYW4gYWx3YXlzIGJlIGNoYW5nZWQgYnkgY2FsbGluZyBgYWRkVG9Sb2xlUG9saWN5YC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBhd3NfaWFtLklSb2xlO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gb2YgY29uY3VycmVudCBleGVjdXRpb25zIHlvdSB3YW50IHRvIHJlc2VydmUgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBzcGVjaWZpYyBsaW1pdCAtIGFjY291bnQgbGltaXQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICAvKipcbiAgICogU2V0cyB0aGUgUmVjdXJzaXZlIExvb3AgUHJvdGVjdGlvbiBmb3IgTGFtYmRhIEZ1bmN0aW9uLlxuICAgKiBJdCBsZXRzIExhbWJkYSBkZXRlY3QgYW5kIHRlcm1pbmF0ZSB1bmludGVuZGVkIHJlY3Vzcml2ZSBsb29wcy5cbiAgICogQGRlZmF1bHQgUmVjdXJzaXZlTG9vcC5UZXJtaW5hdGVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY3Vyc2l2ZUxvb3A/OiBhd3NfbGFtYmRhLlJlY3Vyc2l2ZUxvb3A7XG4gIC8qKlxuICAgKiBQcm9maWxpbmcgR3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gQSBuZXcgcHJvZmlsaW5nIGdyb3VwIHdpbGwgYmUgY3JlYXRlZCBpZiBgcHJvZmlsaW5nYCBpcyBzZXQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxpbmdHcm91cD86IGF3c19jb2RlZ3VydXByb2ZpbGVyLklQcm9maWxpbmdHcm91cDtcbiAgLyoqXG4gICAqIEVuYWJsZSBwcm9maWxpbmcuXG4gICAqIEBkZWZhdWx0IC0gTm8gcHJvZmlsaW5nLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb2YgUGFyYW1ldGVycyBhbmQgU2VjcmV0cyBFeHRlbnNpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gUGFyYW1ldGVycyBhbmQgU2VjcmV0cyBFeHRlbnNpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtc0FuZFNlY3JldHM/OiBhd3NfbGFtYmRhLlBhcmFtc0FuZFNlY3JldHNMYXllclZlcnNpb247XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIG1lbW9yeSwgaW4gTUIsIHRoYXQgaXMgYWxsb2NhdGVkIHRvIHlvdXIgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBMYW1iZGEgdXNlcyB0aGlzIHZhbHVlIHRvIHByb3BvcnRpb25hbGx5IGFsbG9jYXRlIHRoZSBhbW91bnQgb2YgQ1BVXG4gICAqIHBvd2VyLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFJlc291cmNlIE1vZGVsIGluIHRoZSBBV1MgTGFtYmRhXG4gICAqIERldmVsb3BlciBHdWlkZS5cbiAgICogQGRlZmF1bHQgMTI4XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIElBTSByb2xlIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VzdG9tIHJlc291cmNlIHRoYXQgc2V0cyB0aGUgcmV0ZW50aW9uIHBvbGljeS5cbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbWlncmF0ZSB0byBgbG9nR3JvdXBgIGlmIHlvdSBjYW4uXG4gICAqIGBsb2dHcm91cGAgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogQGRlZmF1bHQgLSBBIG5ldyByb2xlIGlzIGNyZWF0ZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb25Sb2xlPzogYXdzX2lhbS5JUm9sZTtcbiAgLyoqXG4gICAqIFdoZW4gbG9nIHJldGVudGlvbiBpcyBzcGVjaWZpZWQsIGEgY3VzdG9tIHJlc291cmNlIGF0dGVtcHRzIHRvIGNyZWF0ZSB0aGUgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAuXG4gICAqIFRoZXNlIG9wdGlvbnMgY29udHJvbCB0aGUgcmV0cnkgcG9saWN5IHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCBDbG91ZFdhdGNoIEFQSXMuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgQVBJIGFuZCB3ZSBzdHJvbmdseSByZWNvbW1lbmQgeW91IG1pZ3JhdGUgdG8gYGxvZ0dyb3VwYCBpZiB5b3UgY2FuLlxuICAgKiBgbG9nR3JvdXBgIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgZnVsbHkgY3VzdG9taXphYmxlIGxvZyBncm91cCBhbmQgaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBBV1MgU0RLIHJldHJ5IG9wdGlvbnMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb25SZXRyeU9wdGlvbnM/OiBhd3NfbGFtYmRhLkxvZ1JldGVudGlvblJldHJ5T3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF5cyBsb2cgZXZlbnRzIGFyZSBrZXB0IGluIENsb3VkV2F0Y2ggTG9ncy5cbiAgICogV2hlbiB1cGRhdGluZ1xuICAgKiB0aGlzIHByb3BlcnR5LCB1bnNldHRpbmcgaXQgZG9lc24ndCByZW1vdmUgdGhlIGxvZyByZXRlbnRpb24gcG9saWN5LiBUb1xuICAgKiByZW1vdmUgdGhlIHJldGVudGlvbiBwb2xpY3ksIHNldCB0aGUgdmFsdWUgdG8gYElORklOSVRFYC5cbiAgICpcbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbW92ZSBhd2F5IGZyb20gaXQgaWYgeW91IGNhbi5cbiAgICogSW5zdGVhZCBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIHdpdGggYGxvZ3MuTG9nR3JvdXBgIGFuZCB1c2UgdGhlIGBsb2dHcm91cGAgcHJvcGVydHlcbiAgICogdG8gaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqIE1pZ3JhdGluZyBmcm9tIGBsb2dSZXRlbnRpb25gIHRvIGBsb2dHcm91cGAgd2lsbCBjYXVzZSB0aGUgbmFtZSBvZiB0aGUgbG9nIGdyb3VwIHRvIGNoYW5nZS5cbiAgICogVXNlcnMgYW5kIGNvZGUgYW5kIHJlZmVyZW5jaW5nIHRoZSBuYW1lIHZlcmJhdGltIHdpbGwgaGF2ZSB0byBhZGp1c3QuXG4gICAqXG4gICAqIEluIEFXUyBDREsgY29kZSwgeW91IGNhbiBhY2Nlc3MgdGhlIGxvZyBncm91cCBuYW1lIGRpcmVjdGx5IGZyb20gdGhlIExvZ0dyb3VwIGNvbnN0cnVjdDpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG4gICAqXG4gICAqIGRlY2xhcmUgY29uc3QgbXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgICogbXlMb2dHcm91cC5sb2dHcm91cE5hbWU7XG4gICAqIGBgYFxuICAgKiBAZGVmYXVsdCBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IGF3c19sb2dzLlJldGVudGlvbkRheXM7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGdyb3VwIHRoZSBmdW5jdGlvbiBzZW5kcyBsb2dzIHRvLlxuICAgKiBCeSBkZWZhdWx0LCBMYW1iZGEgZnVuY3Rpb25zIHNlbmQgbG9ncyB0byBhbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgZGVmYXVsdCBsb2cgZ3JvdXAgbmFtZWQgL2F3cy9sYW1iZGEvXFw8ZnVuY3Rpb24gbmFtZVxcPi5cbiAgICogSG93ZXZlciB5b3UgY2Fubm90IGNoYW5nZSB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGF1dG8tY3JlYXRlZCBsb2cgZ3JvdXAgdXNpbmcgdGhlIEFXUyBDREssIGUuZy4geW91IGNhbm5vdCBzZXQgYSBkaWZmZXJlbnQgbG9nIHJldGVudGlvbi5cbiAgICpcbiAgICogVXNlIHRoZSBgbG9nR3JvdXBgIHByb3BlcnR5IHRvIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBMb2dHcm91cCBhaGVhZCBvZiB0aW1lLCBhbmQgaW5zdHJ1Y3QgdGhlIExhbWJkYSBmdW5jdGlvbiB0byBzZW5kIGxvZ3MgdG8gaXQuXG4gICAqXG4gICAqIFByb3ZpZGluZyBhIHVzZXItY29udHJvbGxlZCBsb2cgZ3JvdXAgd2FzIHJvbGxlZCBvdXQgdG8gY29tbWVyY2lhbCByZWdpb25zIG9uIDIwMjMtMTEtMTYuXG4gICAqIElmIHlvdSBhcmUgZGVwbG95aW5nIHRvIGFub3RoZXIgdHlwZSBvZiByZWdpb24sIHBsZWFzZSBjaGVjayByZWdpb25hbCBhdmFpbGFiaWxpdHkgZmlyc3QuXG4gICAqIEBkZWZhdWx0IGAvYXdzL2xhbWJkYS8ke3RoaXMuZnVuY3Rpb25OYW1lfWAgLSBkZWZhdWx0IGxvZyBncm91cCBjcmVhdGVkIGJ5IExhbWJkYVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBhd3NfbG9ncy5JTG9nR3JvdXA7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsb2dnaW5nRm9ybWF0IGZvciB0aGUgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IExvZ2dpbmdGb3JtYXQuVEVYVFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZ0Zvcm1hdD86IGF3c19sYW1iZGEuTG9nZ2luZ0Zvcm1hdDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvZ0Zvcm1hdCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBcIlRleHRcIlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxvZ2dpbmdGb3JtYXRgIGFzIGEgcHJvcGVydHkgaW5zdGVhZC5cbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICByZWFkb25seSBsb2dGb3JtYXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbGF5ZXJzIHRvIGFkZCB0byB0aGUgZnVuY3Rpb24ncyBleGVjdXRpb24gZW52aXJvbm1lbnQuXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIHlvdXIgTGFtYmRhIGZ1bmN0aW9uIHRvIHB1bGwgaW5cbiAgICogYWRkaXRpb25hbCBjb2RlIGR1cmluZyBpbml0aWFsaXphdGlvbiBpbiB0aGUgZm9ybSBvZiBsYXllcnMuIExheWVycyBhcmUgcGFja2FnZXMgb2YgbGlicmFyaWVzIG9yIG90aGVyIGRlcGVuZGVuY2llc1xuICAgKiB0aGF0IGNhbiBiZSB1c2VkIGJ5IG11bHRpcGxlIGZ1bmN0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBObyBsYXllcnMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsYXllcnM/OiBBcnJheTxhd3NfbGFtYmRhLklMYXllclZlcnNpb24+O1xuICAvKipcbiAgICogQWxsb3dzIG91dGJvdW5kIElQdjYgdHJhZmZpYyBvbiBWUEMgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbm5lY3RlZCB0byBkdWFsLXN0YWNrIHN1Ym5ldHMuXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZBbGxvd2VkRm9yRHVhbFN0YWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIHZlcnNpb24gb2YgQ2xvdWRXYXRjaCBMYW1iZGEgaW5zaWdodHMgdG8gdXNlIGZvciBtb25pdG9yaW5nLlxuICAgKiBAZGVmYXVsdCAtIE5vIExhbWJkYSBJbnNpZ2h0c1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zaWdodHNWZXJzaW9uPzogYXdzX2xhbWJkYS5MYW1iZGFJbnNpZ2h0c1ZlcnNpb247XG4gIC8qKlxuICAgKiBJbml0aWFsIHBvbGljeSBzdGF0ZW1lbnRzIHRvIGFkZCB0byB0aGUgY3JlYXRlZCBMYW1iZGEgUm9sZS5cbiAgICogWW91IGNhbiBjYWxsIGBhZGRUb1JvbGVQb2xpY3lgIHRvIHRoZSBjcmVhdGVkIGxhbWJkYSB0byBhZGQgc3RhdGVtZW50cyBwb3N0IGNyZWF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIHBvbGljeSBzdGF0ZW1lbnRzIGFyZSBhZGRlZCB0byB0aGUgY3JlYXRlZCBMYW1iZGEgcm9sZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluaXRpYWxQb2xpY3k/OiBBcnJheTxhd3NfaWFtLlBvbGljeVN0YXRlbWVudD47XG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBBV1MgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVzIGEgdW5pcXVlIHBoeXNpY2FsIElEIGFuZCB1c2VzIHRoYXRcbklEIGZvciB0aGUgZnVuY3Rpb24ncyBuYW1lLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIE5hbWUgVHlwZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlc3lzdGVtIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gd2lsbCBub3QgbW91bnQgYW55IGZpbGVzeXN0ZW1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZpbGVzeXN0ZW0/OiBhd3NfbGFtYmRhLkZpbGVTeXN0ZW07XG4gIC8qKlxuICAgKiBFdmVudCBzb3VyY2VzIGZvciB0aGlzIGZ1bmN0aW9uLlxuICAgKiBZb3UgY2FuIGFsc28gYWRkIGV2ZW50IHNvdXJjZXMgdXNpbmcgYGFkZEV2ZW50U291cmNlYC5cbiAgICogQGRlZmF1bHQgLSBObyBldmVudCBzb3VyY2VzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzPzogQXJyYXk8YXdzX2xhbWJkYS5JRXZlbnRTb3VyY2U+O1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGZ1bmN0aW9u4oCZcyAvdG1wIGRpcmVjdG9yeSBpbiBNaUIuXG4gICAqIEBkZWZhdWx0IDUxMiBNaUJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogU2l6ZTtcbiAgLyoqXG4gICAqIFRoZSBBV1MgS01TIGtleSB0aGF0J3MgdXNlZCB0byBlbmNyeXB0IHlvdXIgZnVuY3Rpb24ncyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqIEBkZWZhdWx0IC0gQVdTIExhbWJkYSBjcmVhdGVzIGFuZCB1c2VzIGFuIEFXUyBtYW5hZ2VkIGN1c3RvbWVyIG1hc3RlciBrZXkgKENNSykuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudEVuY3J5cHRpb24/OiBhd3Nfa21zLklLZXk7XG4gIC8qKlxuICAgKiBLZXktdmFsdWUgcGFpcnMgdGhhdCBMYW1iZGEgY2FjaGVzIGFuZCBtYWtlcyBhdmFpbGFibGUgZm9yIHlvdXIgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICogVXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhcHBseSBjb25maWd1cmF0aW9uIGNoYW5nZXMsIHN1Y2hcbiAgICogYXMgdGVzdCBhbmQgcHJvZHVjdGlvbiBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucywgd2l0aG91dCBjaGFuZ2luZyB5b3VyXG4gICAqIExhbWJkYSBmdW5jdGlvbiBzb3VyY2UgY29kZS5cbiAgICogQGRlZmF1bHQgLSBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFNOUyB0b3BpYyB0byB1c2UgYXMgYSBETFEuXG4gICAqIE5vdGUgdGhhdCBpZiBgZGVhZExldHRlclF1ZXVlRW5hYmxlZGAgaXMgc2V0IHRvIGB0cnVlYCwgYW4gU1FTIHF1ZXVlIHdpbGwgYmUgY3JlYXRlZFxuICAgKiByYXRoZXIgdGhhbiBhbiBTTlMgdG9waWMuIFVzaW5nIGFuIFNOUyB0b3BpYyBhcyBhIERMUSByZXF1aXJlcyB0aGlzIHByb3BlcnR5IHRvIGJlIHNldCBleHBsaWNpdGx5LlxuICAgKiBAZGVmYXVsdCAtIG5vIFNOUyB0b3BpY1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclRvcGljPzogYXdzX3Nucy5JVG9waWM7XG4gIC8qKlxuICAgKiBFbmFibGVkIERMUS5cbiAgICogSWYgYGRlYWRMZXR0ZXJRdWV1ZWAgaXMgdW5kZWZpbmVkLFxuICAgKiBhbiBTUVMgcXVldWUgd2l0aCBkZWZhdWx0IG9wdGlvbnMgd2lsbCBiZSBkZWZpbmVkIGZvciB5b3VyIEZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlIHVubGVzcyBgZGVhZExldHRlclF1ZXVlYCBpcyBzZXQsIHdoaWNoIGltcGxpZXMgRExRIGlzIGVuYWJsZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdG8gdXNlIGlmIERMUSBpcyBlbmFibGVkLlxuICAgKiBJZiBTTlMgdG9waWMgaXMgZGVzaXJlZCwgc3BlY2lmeSBgZGVhZExldHRlclRvcGljYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAtIFNRUyBxdWV1ZSB3aXRoIDE0IGRheSByZXRlbnRpb24gcGVyaW9kIGlmIGBkZWFkTGV0dGVyUXVldWVFbmFibGVkYCBpcyBgdHJ1ZWBcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZT86IGF3c19zcXMuSVF1ZXVlO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdGhlIGBsYW1iZGEuVmVyc2lvbmAgcmVzb3VyY2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGJ5IHRoZSBgZm4uY3VycmVudFZlcnNpb25gIG1ldGhvZC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnMgYXMgZGVzY3JpYmVkIGluIGBWZXJzaW9uT3B0aW9uc2BcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWZXJzaW9uT3B0aW9ucz86IGF3c19sYW1iZGEuVmVyc2lvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb2RlIHNpZ25pbmcgY29uZmlnIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vdCBTaWduIHRoZSBDb2RlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlU2lnbmluZ0NvbmZpZz86IGF3c19sYW1iZGEuSUNvZGVTaWduaW5nQ29uZmlnO1xuICAvKipcbiAgICogVGhlIHN5c3RlbSBhcmNoaXRlY3R1cmVzIGNvbXBhdGlibGUgd2l0aCB0aGlzIGxhbWJkYSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgQXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXJjaGl0ZWN0dXJlPzogYXdzX2xhbWJkYS5BcmNoaXRlY3R1cmU7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHBsaWNhdGlvbiBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgQXBwbGljYXRpb25Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbkxvZ0xldmVsVjI/OiBhd3NfbGFtYmRhLkFwcGxpY2F0aW9uTG9nTGV2ZWw7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHBsaWNhdGlvbiBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhcHBsaWNhdGlvbkxvZ0xldmVsVjJgIGFzIGEgcHJvcGVydHkgaW5zdGVhZC5cbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbkxvZ0xldmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogTGFtYmRhIEZ1bmN0aW9ucyBpbiBhIHB1YmxpYyBzdWJuZXQgY2FuIE5PVCBhY2Nlc3MgdGhlIGludGVybmV0LlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBhY2tub3dsZWRnZSB0aGlzIGxpbWl0YXRpb24gYW5kIHN0aWxsIHBsYWNlIHRoZSBmdW5jdGlvbiBpbiBhIHB1YmxpYyBzdWJuZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGxvd1B1YmxpY1N1Ym5ldD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBMYW1iZGEgdG8gc2VuZCBhbGwgbmV0d29yayB0cmFmZmljIChleGNlcHQgaXB2NikuXG4gICAqIElmIHNldCB0byBmYWxzZSwgeW91IG11c3QgaW5kaXZpZHVhbGx5IGFkZCB0cmFmZmljIHJ1bGVzIHRvIGFsbG93IHRoZVxuICAgKiBMYW1iZGEgdG8gY29ubmVjdCB0byBuZXR3b3JrIHRhcmdldHMuXG4gICAqXG4gICAqIERvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkgaWYgdGhlIGBzZWN1cml0eUdyb3Vwc2Agb3IgYHNlY3VyaXR5R3JvdXBgIHByb3BlcnR5IGlzIHNldC5cbiAgICogSW5zdGVhZCwgY29uZmlndXJlIGBhbGxvd0FsbE91dGJvdW5kYCBkaXJlY3RseSBvbiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgTGFtYmRhIHRvIHNlbmQgYWxsIGlwdjYgbmV0d29yayB0cmFmZmljLlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIGVncmVzcyBydWxlIHdoaWNoIGFsbG93cyBhbGxcbiAgICogb3V0Ym91bmQgaXB2NiB0cmFmZmljLiBJZiBzZXQgdG8gZmFsc2UsIHlvdSBtdXN0IGluZGl2aWR1YWxseSBhZGQgdHJhZmZpYyBydWxlcyB0byBhbGxvdyB0aGVcbiAgICogTGFtYmRhIHRvIGNvbm5lY3QgdG8gbmV0d29yayB0YXJnZXRzIHVzaW5nIGlwdjYuXG4gICAqXG4gICAqIERvIG5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkgaWYgdGhlIGBzZWN1cml0eUdyb3Vwc2Agb3IgYHNlY3VyaXR5R3JvdXBgIHByb3BlcnR5IGlzIHNldC5cbiAgICogSW5zdGVhZCwgY29uZmlndXJlIGBhbGxvd0FsbElwdjZPdXRib3VuZGAgZGlyZWN0bHkgb24gdGhlIHNlY3VyaXR5IGdyb3VwLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dBbGxJcHY2T3V0Ym91bmQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgY29uZmlndXJhdGlvbiBvZiBBV1MgRGlzdHJvIGZvciBPcGVuVGVsZW1ldHJ5IChBRE9UKSBpbnN0cnVtZW50YXRpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gQURPVCBpbnN0cnVtZW50YXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFkb3RJbnN0cnVtZW50YXRpb24/OiBhd3NfbGFtYmRhLkFkb3RJbnN0cnVtZW50YXRpb25Db25maWc7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmV0cnkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvci5cbiAgICogTWluaW11bTogMFxuICAgKiBNYXhpbXVtOiAyXG4gICAqIEBkZWZhdWx0IDJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJldHJ5QXR0ZW1wdHM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gZm9yIHN1Y2Nlc3NmdWwgaW52b2NhdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzdGluYXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG9uU3VjY2Vzcz86IGF3c19sYW1iZGEuSURlc3RpbmF0aW9uO1xuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIGZvciBmYWlsZWQgaW52b2NhdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzdGluYXRpb25cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG9uRmFpbHVyZT86IGF3c19sYW1iZGEuSURlc3RpbmF0aW9uO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gYWdlIG9mIGEgcmVxdWVzdCB0aGF0IExhbWJkYSBzZW5kcyB0byBhIGZ1bmN0aW9uIGZvciBwcm9jZXNzaW5nLlxuICAgKiBNaW5pbXVtOiA2MCBzZWNvbmRzXG4gICAqIE1heGltdW06IDYgaG91cnNcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uaG91cnMoNilcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1heEV2ZW50QWdlPzogRHVyYXRpb247XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxFZGdlRnVuY3Rpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEVkZ2VGdW5jdGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2NvZGVndXJ1cHJvZmlsZXIsIGF3c19lYzIsIGF3c19pYW0sIGF3c19rbXMsIGF3c19sYW1iZGEsIGF3c19sb2dzLCBhd3Nfc25zLCBhd3Nfc3FzLCBEdXJhdGlvbiwgU2l6ZSB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBPcHRpb25hbEVkZ2VGdW5jdGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxFZGdlRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgSUQgb2YgTGFtYmRhQEVkZ2UgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gYGVkZ2UtbGFtYmRhLXN0YWNrLSR7cmVnaW9ufWBcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHlvdSBhcmUgdXBsb2FkaW5nLlxuICAgKiBGb3IgdmFsaWQgdmFsdWVzLCBzZWUgdGhlIFJ1bnRpbWUgcHJvcGVydHkgaW4gdGhlIEFXUyBMYW1iZGEgRGV2ZWxvcGVyXG4gICAqIEd1aWRlLlxuICAgKlxuICAgKiBVc2UgYFJ1bnRpbWUuRlJPTV9JTUFHRWAgd2hlbiBkZWZpbmluZyBhIGZ1bmN0aW9uIGZyb20gYSBEb2NrZXIgaW1hZ2UuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogYXdzX2xhbWJkYS5SdW50aW1lO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB3aXRoaW4geW91ciBjb2RlIHRoYXQgTGFtYmRhIGNhbGxzIHRvIGV4ZWN1dGUgeW91ciBmdW5jdGlvbi5cbiAgICogVGhlIGZvcm1hdCBpbmNsdWRlcyB0aGUgZmlsZSBuYW1lLiBJdCBjYW4gYWxzbyBpbmNsdWRlXG4gICAqIG5hbWVzcGFjZXMgYW5kIG90aGVyIHF1YWxpZmllcnMsIGRlcGVuZGluZyBvbiB0aGUgcnVudGltZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9mb3VuZGF0aW9uLXByb2dtb2RlbC5odG1sLlxuICAgKlxuICAgKiBVc2UgYEhhbmRsZXIuRlJPTV9JTUFHRWAgd2hlbiBkZWZpbmluZyBhIGZ1bmN0aW9uIGZyb20gYSBEb2NrZXIgaW1hZ2UuXG4gICAqXG4gICAqIE5PVEU6IElmIHlvdSBzcGVjaWZ5IHlvdXIgc291cmNlIGNvZGUgYXMgaW5saW5lIHRleHQgYnkgc3BlY2lmeWluZyB0aGVcbiAgICogWmlwRmlsZSBwcm9wZXJ0eSB3aXRoaW4gdGhlIENvZGUgcHJvcGVydHksIHNwZWNpZnkgaW5kZXguZnVuY3Rpb25fbmFtZSBhc1xuICAgKiB0aGUgaGFuZGxlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGhhbmRsZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGNvZGUgb2YgeW91ciBMYW1iZGEgZnVuY3Rpb24uXG4gICAqIFlvdSBjYW4gcG9pbnQgdG8gYSBmaWxlIGluIGFuXG4gICAqIEFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIChBbWF6b24gUzMpIGJ1Y2tldCBvciBzcGVjaWZ5IHlvdXIgc291cmNlXG4gICAqIGNvZGUgYXMgaW5saW5lIHRleHQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlPzogYXdzX2xhbWJkYS5Db2RlO1xuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyB3aXRoaW4gdGhlIFZQQy5cbiAgICogVGhpcyByZXF1aXJlcyBgdnBjYCB0byBiZSBzcGVjaWZpZWQgaW4gb3JkZXIgZm9yIGludGVyZmFjZXMgdG8gYWN0dWFsbHkgYmVcbiAgICogcGxhY2VkIGluIHRoZSBzdWJuZXRzLiBJZiBgdnBjYCBpcyBub3Qgc3BlY2lmeSwgdGhpcyB3aWxsIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBOb3RlOiBJbnRlcm5ldCBhY2Nlc3MgZm9yIExhbWJkYSBGdW5jdGlvbnMgcmVxdWlyZXMgYSBOQVQgR2F0ZXdheSwgc28gcGlja2luZ1xuICAgKiBwdWJsaWMgc3VibmV0cyBpcyBub3QgYWxsb3dlZCAodW5sZXNzIGBhbGxvd1B1YmxpY1N1Ym5ldGAgaXMgc2V0IHRvIGB0cnVlYCkuXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBhd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIFZQQyBuZXR3b3JrIHRvIHBsYWNlIExhbWJkYSBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIFNwZWNpZnkgdGhpcyBpZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIG5lZWRzIHRvIGFjY2VzcyByZXNvdXJjZXMgaW4gYSBWUEMuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBgdnBjU3VibmV0c2AgaXMgc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCAtIEZ1bmN0aW9uIGlzIG5vdCBwbGFjZWQgd2l0aGluIGEgVlBDLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5hYmxlIEFXUyBYLVJheSBUcmFjaW5nIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFRyYWNpbmcuRGlzYWJsZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmc/OiBhd3NfbGFtYmRhLlRyYWNpbmc7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZXhlY3V0aW9uIHRpbWUgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIExhbWJkYSB0ZXJtaW5hdGVzIHRoZSBmdW5jdGlvbi5cbiAgICogQmVjYXVzZSB0aGUgZXhlY3V0aW9uIHRpbWUgYWZmZWN0cyBjb3N0LCBzZXQgdGhpcyB2YWx1ZVxuICAgKiBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBleHBlY3RlZCBleGVjdXRpb24gdGltZS5cbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICAvKipcbiAgICogU2V0cyB0aGUgc3lzdGVtIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBTeXN0ZW1Mb2dMZXZlbC5JTkZPXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzeXN0ZW1Mb2dMZXZlbFYyPzogYXdzX2xhbWJkYS5TeXN0ZW1Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHN5c3RlbSBsb2cgbGV2ZWwgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgXCJJTkZPXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzeXN0ZW1Mb2dMZXZlbFYyYCBhcyBhIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgc3lzdGVtTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgU25hcFN0YXJ0IGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIFNuYXBTdGFydCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIGZvciBKYXZhIDExLCBKYXZhIDE3LCBQeXRob24gMy4xMiwgUHl0aG9uIDMuMTMsIGFuZCAuTkVUIDggcnVudGltZVxuICAgKiBAZGVmYXVsdCAtIE5vIHNuYXBzdGFydFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc25hcFN0YXJ0PzogYXdzX2xhbWJkYS5TbmFwU3RhcnRDb25mO1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBMYW1iZGEncyBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICogQGRlZmF1bHQgLSBJZiB0aGUgZnVuY3Rpb24gaXMgcGxhY2VkIHdpdGhpbiBhIFZQQyBhbmQgYSBzZWN1cml0eSBncm91cCBpc1xubm90IHNwZWNpZmllZCwgZWl0aGVyIGJ5IHRoaXMgb3Igc2VjdXJpdHlHcm91cCBwcm9wLCBhIGRlZGljYXRlZCBzZWN1cml0eVxuZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGZvciB0aGlzIGZ1bmN0aW9uLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBBcnJheTxhd3NfZWMyLklTZWN1cml0eUdyb3VwPjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHJ1bnRpbWUgbWFuYWdlbWVudCBjb25maWd1cmF0aW9uIGZvciBhIGZ1bmN0aW9uJ3MgdmVyc2lvbi5cbiAgICogQGRlZmF1bHQgQXV0b1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZU1hbmFnZW1lbnRNb2RlPzogYXdzX2xhbWJkYS5SdW50aW1lTWFuYWdlbWVudE1vZGU7XG4gIC8qKlxuICAgKiBMYW1iZGEgZXhlY3V0aW9uIHJvbGUuXG4gICAqIFRoaXMgaXMgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGFzc3VtZWQgYnkgdGhlIGZ1bmN0aW9uIHVwb24gZXhlY3V0aW9uLlxuICAgKiBJdCBjb250cm9scyB0aGUgcGVybWlzc2lvbnMgdGhhdCB0aGUgZnVuY3Rpb24gd2lsbCBoYXZlLiBUaGUgUm9sZSBtdXN0XG4gICAqIGJlIGFzc3VtYWJsZSBieSB0aGUgJ2xhbWJkYS5hbWF6b25hd3MuY29tJyBzZXJ2aWNlIHByaW5jaXBhbC5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgUm9sZSBhdXRvbWF0aWNhbGx5IGhhcyBwZXJtaXNzaW9ucyBncmFudGVkIGZvciBMYW1iZGEgZXhlY3V0aW9uLiBJZiB5b3VcbiAgICogcHJvdmlkZSBhIFJvbGUsIHlvdSBtdXN0IGFkZCB0aGUgcmVsZXZhbnQgQVdTIG1hbmFnZWQgcG9saWNpZXMgeW91cnNlbGYuXG4gICAqXG4gICAqIFRoZSByZWxldmFudCBtYW5hZ2VkIHBvbGljaWVzIGFyZSBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGVcIiBhbmRcbiAgICogXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhVlBDQWNjZXNzRXhlY3V0aW9uUm9sZVwiLlxuICAgKiBAZGVmYXVsdCAtIEEgdW5pcXVlIHJvbGUgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgbGFtYmRhIGZ1bmN0aW9uLlxuQm90aCBzdXBwbGllZCBhbmQgZ2VuZXJhdGVkIHJvbGVzIGNhbiBhbHdheXMgYmUgY2hhbmdlZCBieSBjYWxsaW5nIGBhZGRUb1JvbGVQb2xpY3lgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGF3c19pYW0uSVJvbGU7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBvZiBjb25jdXJyZW50IGV4ZWN1dGlvbnMgeW91IHdhbnQgdG8gcmVzZXJ2ZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIHNwZWNpZmljIGxpbWl0IC0gYWNjb3VudCBsaW1pdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBSZWN1cnNpdmUgTG9vcCBQcm90ZWN0aW9uIGZvciBMYW1iZGEgRnVuY3Rpb24uXG4gICAqIEl0IGxldHMgTGFtYmRhIGRldGVjdCBhbmQgdGVybWluYXRlIHVuaW50ZW5kZWQgcmVjdXJzaXZlIGxvb3BzLlxuICAgKiBAZGVmYXVsdCBSZWN1cnNpdmVMb29wLlRlcm1pbmF0ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjdXJzaXZlTG9vcD86IGF3c19sYW1iZGEuUmVjdXJzaXZlTG9vcDtcbiAgLyoqXG4gICAqIFByb2ZpbGluZyBHcm91cC5cbiAgICogQGRlZmF1bHQgLSBBIG5ldyBwcm9maWxpbmcgZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGlmIGBwcm9maWxpbmdgIGlzIHNldC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGluZ0dyb3VwPzogYXdzX2NvZGVndXJ1cHJvZmlsZXIuSVByb2ZpbGluZ0dyb3VwO1xuICAvKipcbiAgICogRW5hYmxlIHByb2ZpbGluZy5cbiAgICogQGRlZmF1bHQgLSBObyBwcm9maWxpbmcuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgY29uZmlndXJhdGlvbiBvZiBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIEV4dGVuc2lvbi5cbiAgICogQGRlZmF1bHQgLSBObyBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIEV4dGVuc2lvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1zQW5kU2VjcmV0cz86IGF3c19sYW1iZGEuUGFyYW1zQW5kU2VjcmV0c0xheWVyVmVyc2lvbjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgbWVtb3J5LCBpbiBNQiwgdGhhdCBpcyBhbGxvY2F0ZWQgdG8geW91ciBMYW1iZGEgZnVuY3Rpb24uXG4gICAqIExhbWJkYSB1c2VzIHRoaXMgdmFsdWUgdG8gcHJvcG9ydGlvbmFsbHkgYWxsb2NhdGUgdGhlIGFtb3VudCBvZiBDUFVcbiAgICogcG93ZXIuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUmVzb3VyY2UgTW9kZWwgaW4gdGhlIEFXUyBMYW1iZGFcbiAgICogRGV2ZWxvcGVyIEd1aWRlLlxuICAgKiBAZGVmYXVsdCAxMjhcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXN0b20gcmVzb3VyY2UgdGhhdCBzZXRzIHRoZSByZXRlbnRpb24gcG9saWN5LlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IEFQSSBhbmQgd2Ugc3Ryb25nbHkgcmVjb21tZW5kIHlvdSBtaWdyYXRlIHRvIGBsb2dHcm91cGAgaWYgeW91IGNhbi5cbiAgICogYGxvZ0dyb3VwYCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBsb2cgZ3JvdXAgYW5kIGluc3RydWN0IHRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gc2VuZCBsb2dzIHRvIGl0LlxuICAgKiBAZGVmYXVsdCAtIEEgbmV3IHJvbGUgaXMgY3JlYXRlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvblJvbGU/OiBhd3NfaWFtLklSb2xlO1xuICAvKipcbiAgICogV2hlbiBsb2cgcmV0ZW50aW9uIGlzIHNwZWNpZmllZCwgYSBjdXN0b20gcmVzb3VyY2UgYXR0ZW1wdHMgdG8gY3JlYXRlIHRoZSBDbG91ZFdhdGNoIGxvZyBncm91cC5cbiAgICogVGhlc2Ugb3B0aW9ucyBjb250cm9sIHRoZSByZXRyeSBwb2xpY3kgd2hlbiBpbnRlcmFjdGluZyB3aXRoIENsb3VkV2F0Y2ggQVBJcy5cbiAgICpcbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBBUEkgYW5kIHdlIHN0cm9uZ2x5IHJlY29tbWVuZCB5b3UgbWlncmF0ZSB0byBgbG9nR3JvdXBgIGlmIHlvdSBjYW4uXG4gICAqIGBsb2dHcm91cGAgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBmdWxseSBjdXN0b21pemFibGUgbG9nIGdyb3VwIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IEFXUyBTREsgcmV0cnkgb3B0aW9ucy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvblJldHJ5T3B0aW9ucz86IGF3c19sYW1iZGEuTG9nUmV0ZW50aW9uUmV0cnlPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXlzIGxvZyBldmVudHMgYXJlIGtlcHQgaW4gQ2xvdWRXYXRjaCBMb2dzLlxuICAgKiBXaGVuIHVwZGF0aW5nXG4gICAqIHRoaXMgcHJvcGVydHksIHVuc2V0dGluZyBpdCBkb2Vzbid0IHJlbW92ZSB0aGUgbG9nIHJldGVudGlvbiBwb2xpY3kuIFRvXG4gICAqIHJlbW92ZSB0aGUgcmV0ZW50aW9uIHBvbGljeSwgc2V0IHRoZSB2YWx1ZSB0byBgSU5GSU5JVEVgLlxuICAgKlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IEFQSSBhbmQgd2Ugc3Ryb25nbHkgcmVjb21tZW5kIHlvdSBtb3ZlIGF3YXkgZnJvbSBpdCBpZiB5b3UgY2FuLlxuICAgKiBJbnN0ZWFkIGNyZWF0ZSBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBsb2cgZ3JvdXAgd2l0aCBgbG9ncy5Mb2dHcm91cGAgYW5kIHVzZSB0aGUgYGxvZ0dyb3VwYCBwcm9wZXJ0eVxuICAgKiB0byBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICogTWlncmF0aW5nIGZyb20gYGxvZ1JldGVudGlvbmAgdG8gYGxvZ0dyb3VwYCB3aWxsIGNhdXNlIHRoZSBuYW1lIG9mIHRoZSBsb2cgZ3JvdXAgdG8gY2hhbmdlLlxuICAgKiBVc2VycyBhbmQgY29kZSBhbmQgcmVmZXJlbmNpbmcgdGhlIG5hbWUgdmVyYmF0aW0gd2lsbCBoYXZlIHRvIGFkanVzdC5cbiAgICpcbiAgICogSW4gQVdTIENESyBjb2RlLCB5b3UgY2FuIGFjY2VzcyB0aGUgbG9nIGdyb3VwIG5hbWUgZGlyZWN0bHkgZnJvbSB0aGUgTG9nR3JvdXAgY29uc3RydWN0OlxuICAgKiBgYGB0c1xuICAgKiBpbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbiAgICpcbiAgICogZGVjbGFyZSBjb25zdCBteUxvZ0dyb3VwOiBsb2dzLkxvZ0dyb3VwO1xuICAgKiBteUxvZ0dyb3VwLmxvZ0dyb3VwTmFtZTtcbiAgICogYGBgXG4gICAqIEBkZWZhdWx0IGxvZ3MuUmV0ZW50aW9uRGF5cy5JTkZJTklURVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cztcbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXAgdGhlIGZ1bmN0aW9uIHNlbmRzIGxvZ3MgdG8uXG4gICAqIEJ5IGRlZmF1bHQsIExhbWJkYSBmdW5jdGlvbnMgc2VuZCBsb2dzIHRvIGFuIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBkZWZhdWx0IGxvZyBncm91cCBuYW1lZCAvYXdzL2xhbWJkYS9cXDxmdW5jdGlvbiBuYW1lXFw+LlxuICAgKiBIb3dldmVyIHlvdSBjYW5ub3QgY2hhbmdlIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgYXV0by1jcmVhdGVkIGxvZyBncm91cCB1c2luZyB0aGUgQVdTIENESywgZS5nLiB5b3UgY2Fubm90IHNldCBhIGRpZmZlcmVudCBsb2cgcmV0ZW50aW9uLlxuICAgKlxuICAgKiBVc2UgdGhlIGBsb2dHcm91cGAgcHJvcGVydHkgdG8gY3JlYXRlIGEgZnVsbHkgY3VzdG9taXphYmxlIExvZ0dyb3VwIGFoZWFkIG9mIHRpbWUsIGFuZCBpbnN0cnVjdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIHNlbmQgbG9ncyB0byBpdC5cbiAgICpcbiAgICogUHJvdmlkaW5nIGEgdXNlci1jb250cm9sbGVkIGxvZyBncm91cCB3YXMgcm9sbGVkIG91dCB0byBjb21tZXJjaWFsIHJlZ2lvbnMgb24gMjAyMy0xMS0xNi5cbiAgICogSWYgeW91IGFyZSBkZXBsb3lpbmcgdG8gYW5vdGhlciB0eXBlIG9mIHJlZ2lvbiwgcGxlYXNlIGNoZWNrIHJlZ2lvbmFsIGF2YWlsYWJpbGl0eSBmaXJzdC5cbiAgICogQGRlZmF1bHQgYC9hd3MvbGFtYmRhLyR7dGhpcy5mdW5jdGlvbk5hbWV9YCAtIGRlZmF1bHQgbG9nIGdyb3VwIGNyZWF0ZWQgYnkgTGFtYmRhXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cD86IGF3c19sb2dzLklMb2dHcm91cDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvZ2dpbmdGb3JtYXQgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgTG9nZ2luZ0Zvcm1hdC5URVhUXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nRm9ybWF0PzogYXdzX2xhbWJkYS5Mb2dnaW5nRm9ybWF0O1xuICAvKipcbiAgICogU2V0cyB0aGUgbG9nRm9ybWF0IGZvciB0aGUgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IFwiVGV4dFwiXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbG9nZ2luZ0Zvcm1hdGAgYXMgYSBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAc3RhYmlsaXR5IGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0Zvcm1hdD86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBsYXllcnMgdG8gYWRkIHRvIHRoZSBmdW5jdGlvbidzIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAgICogWW91IGNhbiBjb25maWd1cmUgeW91ciBMYW1iZGEgZnVuY3Rpb24gdG8gcHVsbCBpblxuICAgKiBhZGRpdGlvbmFsIGNvZGUgZHVyaW5nIGluaXRpYWxpemF0aW9uIGluIHRoZSBmb3JtIG9mIGxheWVycy4gTGF5ZXJzIGFyZSBwYWNrYWdlcyBvZiBsaWJyYXJpZXMgb3Igb3RoZXIgZGVwZW5kZW5jaWVzXG4gICAqIHRoYXQgY2FuIGJlIHVzZWQgYnkgbXVsdGlwbGUgZnVuY3Rpb25zLlxuICAgKiBAZGVmYXVsdCAtIE5vIGxheWVycy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxheWVycz86IEFycmF5PGF3c19sYW1iZGEuSUxheWVyVmVyc2lvbj47XG4gIC8qKlxuICAgKiBBbGxvd3Mgb3V0Ym91bmQgSVB2NiB0cmFmZmljIG9uIFZQQyBmdW5jdGlvbnMgdGhhdCBhcmUgY29ubmVjdGVkIHRvIGR1YWwtc3RhY2sgc3VibmV0cy5cbiAgICogT25seSB1c2VkIGlmICd2cGMnIGlzIHN1cHBsaWVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkFsbG93ZWRGb3JEdWFsU3RhY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgdmVyc2lvbiBvZiBDbG91ZFdhdGNoIExhbWJkYSBpbnNpZ2h0cyB0byB1c2UgZm9yIG1vbml0b3JpbmcuXG4gICAqIEBkZWZhdWx0IC0gTm8gTGFtYmRhIEluc2lnaHRzXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBpbnNpZ2h0c1ZlcnNpb24/OiBhd3NfbGFtYmRhLkxhbWJkYUluc2lnaHRzVmVyc2lvbjtcbiAgLyoqXG4gICAqIEluaXRpYWwgcG9saWN5IHN0YXRlbWVudHMgdG8gYWRkIHRvIHRoZSBjcmVhdGVkIExhbWJkYSBSb2xlLlxuICAgKiBZb3UgY2FuIGNhbGwgYGFkZFRvUm9sZVBvbGljeWAgdG8gdGhlIGNyZWF0ZWQgbGFtYmRhIHRvIGFkZCBzdGF0ZW1lbnRzIHBvc3QgY3JlYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gcG9saWN5IHN0YXRlbWVudHMgYXJlIGFkZGVkIHRvIHRoZSBjcmVhdGVkIExhbWJkYSByb2xlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdGlhbFBvbGljeT86IEFycmF5PGF3c19pYW0uUG9saWN5U3RhdGVtZW50PjtcbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIEFXUyBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZXMgYSB1bmlxdWUgcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdFxuSUQgZm9yIHRoZSBmdW5jdGlvbidzIG5hbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgTmFtZSBUeXBlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGVzeXN0ZW0gY29uZmlndXJhdGlvbiBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSB3aWxsIG5vdCBtb3VudCBhbnkgZmlsZXN5c3RlbVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZXN5c3RlbT86IGF3c19sYW1iZGEuRmlsZVN5c3RlbTtcbiAgLyoqXG4gICAqIEV2ZW50IHNvdXJjZXMgZm9yIHRoaXMgZnVuY3Rpb24uXG4gICAqIFlvdSBjYW4gYWxzbyBhZGQgZXZlbnQgc291cmNlcyB1c2luZyBgYWRkRXZlbnRTb3VyY2VgLlxuICAgKiBAZGVmYXVsdCAtIE5vIGV2ZW50IHNvdXJjZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBldmVudHM/OiBBcnJheTxhd3NfbGFtYmRhLklFdmVudFNvdXJjZT47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZnVuY3Rpb27igJlzIC90bXAgZGlyZWN0b3J5IGluIE1pQi5cbiAgICogQGRlZmF1bHQgNTEyIE1pQlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZVNpemU/OiBTaXplO1xuICAvKipcbiAgICogVGhlIEFXUyBLTVMga2V5IHRoYXQncyB1c2VkIHRvIGVuY3J5cHQgeW91ciBmdW5jdGlvbidzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQGRlZmF1bHQgLSBBV1MgTGFtYmRhIGNyZWF0ZXMgYW5kIHVzZXMgYW4gQVdTIG1hbmFnZWQgY3VzdG9tZXIgbWFzdGVyIGtleSAoQ01LKS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50RW5jcnlwdGlvbj86IGF3c19rbXMuSUtleTtcbiAgLyoqXG4gICAqIEtleS12YWx1ZSBwYWlycyB0aGF0IExhbWJkYSBjYWNoZXMgYW5kIG1ha2VzIGF2YWlsYWJsZSBmb3IgeW91ciBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKiBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFwcGx5IGNvbmZpZ3VyYXRpb24gY2hhbmdlcywgc3VjaFxuICAgKiBhcyB0ZXN0IGFuZCBwcm9kdWN0aW9uIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLCB3aXRob3V0IGNoYW5naW5nIHlvdXJcbiAgICogTGFtYmRhIGZ1bmN0aW9uIHNvdXJjZSBjb2RlLlxuICAgKiBAZGVmYXVsdCAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRvIHVzZSBhcyBhIERMUS5cbiAgICogTm90ZSB0aGF0IGlmIGBkZWFkTGV0dGVyUXVldWVFbmFibGVkYCBpcyBzZXQgdG8gYHRydWVgLCBhbiBTUVMgcXVldWUgd2lsbCBiZSBjcmVhdGVkXG4gICAqIHJhdGhlciB0aGFuIGFuIFNOUyB0b3BpYy4gVXNpbmcgYW4gU05TIHRvcGljIGFzIGEgRExRIHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgdG8gYmUgc2V0IGV4cGxpY2l0bHkuXG4gICAqIEBkZWZhdWx0IC0gbm8gU05TIHRvcGljXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyVG9waWM/OiBhd3Nfc25zLklUb3BpYztcbiAgLyoqXG4gICAqIEVuYWJsZWQgRExRLlxuICAgKiBJZiBgZGVhZExldHRlclF1ZXVlYCBpcyB1bmRlZmluZWQsXG4gICAqIGFuIFNRUyBxdWV1ZSB3aXRoIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIGRlZmluZWQgZm9yIHlvdXIgRnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gZmFsc2UgdW5sZXNzIGBkZWFkTGV0dGVyUXVldWVgIGlzIHNldCwgd2hpY2ggaW1wbGllcyBETFEgaXMgZW5hYmxlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0byB1c2UgaWYgRExRIGlzIGVuYWJsZWQuXG4gICAqIElmIFNOUyB0b3BpYyBpcyBkZXNpcmVkLCBzcGVjaWZ5IGBkZWFkTGV0dGVyVG9waWNgIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IC0gU1FTIHF1ZXVlIHdpdGggMTQgZGF5IHJldGVudGlvbiBwZXJpb2QgaWYgYGRlYWRMZXR0ZXJRdWV1ZUVuYWJsZWRgIGlzIGB0cnVlYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlPzogYXdzX3Nxcy5JUXVldWU7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciB0aGUgYGxhbWJkYS5WZXJzaW9uYCByZXNvdXJjZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgYnkgdGhlIGBmbi5jdXJyZW50VmVyc2lvbmAgbWV0aG9kLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9ucyBhcyBkZXNjcmliZWQgaW4gYFZlcnNpb25PcHRpb25zYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFZlcnNpb25PcHRpb25zPzogYXdzX2xhbWJkYS5WZXJzaW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIENvZGUgc2lnbmluZyBjb25maWcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZnVuY3Rpb24uXG4gICAqIEBkZWZhdWx0IC0gTm90IFNpZ24gdGhlIENvZGVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVTaWduaW5nQ29uZmlnPzogYXdzX2xhbWJkYS5JQ29kZVNpZ25pbmdDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIGFyY2hpdGVjdHVyZXMgY29tcGF0aWJsZSB3aXRoIHRoaXMgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBBcmNoaXRlY3R1cmUuWDg2XzY0XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU/OiBhd3NfbGFtYmRhLkFyY2hpdGVjdHVyZTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGFwcGxpY2F0aW9uIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBBcHBsaWNhdGlvbkxvZ0xldmVsLklORk9cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9nTGV2ZWxWMj86IGF3c19sYW1iZGEuQXBwbGljYXRpb25Mb2dMZXZlbDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGFwcGxpY2F0aW9uIGxvZyBsZXZlbCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAZGVmYXVsdCBcIklORk9cIlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFwcGxpY2F0aW9uTG9nTGV2ZWxWMmAgYXMgYSBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBAc3RhYmlsaXR5IGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMYW1iZGEgRnVuY3Rpb25zIGluIGEgcHVibGljIHN1Ym5ldCBjYW4gTk9UIGFjY2VzcyB0aGUgaW50ZXJuZXQuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGFja25vd2xlZGdlIHRoaXMgbGltaXRhdGlvbiBhbmQgc3RpbGwgcGxhY2UgdGhlIGZ1bmN0aW9uIGluIGEgcHVibGljIHN1Ym5ldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93UHVibGljU3VibmV0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIExhbWJkYSB0byBzZW5kIGFsbCBuZXR3b3JrIHRyYWZmaWMgKGV4Y2VwdCBpcHY2KS5cbiAgICogSWYgc2V0IHRvIGZhbHNlLCB5b3UgbXVzdCBpbmRpdmlkdWFsbHkgYWRkIHRyYWZmaWMgcnVsZXMgdG8gYWxsb3cgdGhlXG4gICAqIExhbWJkYSB0byBjb25uZWN0IHRvIG5ldHdvcmsgdGFyZ2V0cy5cbiAgICpcbiAgICogRG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB0aGUgYHNlY3VyaXR5R3JvdXBzYCBvciBgc2VjdXJpdHlHcm91cGAgcHJvcGVydHkgaXMgc2V0LlxuICAgKiBJbnN0ZWFkLCBjb25maWd1cmUgYGFsbG93QWxsT3V0Ym91bmRgIGRpcmVjdGx5IG9uIHRoZSBzZWN1cml0eSBncm91cC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dBbGxPdXRib3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBMYW1iZGEgdG8gc2VuZCBhbGwgaXB2NiBuZXR3b3JrIHRyYWZmaWMuXG4gICAqIElmIHNldCB0byB0cnVlLCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgZWdyZXNzIHJ1bGUgd2hpY2ggYWxsb3dzIGFsbFxuICAgKiBvdXRib3VuZCBpcHY2IHRyYWZmaWMuIElmIHNldCB0byBmYWxzZSwgeW91IG11c3QgaW5kaXZpZHVhbGx5IGFkZCB0cmFmZmljIHJ1bGVzIHRvIGFsbG93IHRoZVxuICAgKiBMYW1iZGEgdG8gY29ubmVjdCB0byBuZXR3b3JrIHRhcmdldHMgdXNpbmcgaXB2Ni5cbiAgICpcbiAgICogRG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB0aGUgYHNlY3VyaXR5R3JvdXBzYCBvciBgc2VjdXJpdHlHcm91cGAgcHJvcGVydHkgaXMgc2V0LlxuICAgKiBJbnN0ZWFkLCBjb25maWd1cmUgYGFsbG93QWxsSXB2Nk91dGJvdW5kYCBkaXJlY3RseSBvbiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0FsbElwdjZPdXRib3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBjb25maWd1cmF0aW9uIG9mIEFXUyBEaXN0cm8gZm9yIE9wZW5UZWxlbWV0cnkgKEFET1QpIGluc3RydW1lbnRhdGlvbi5cbiAgICogQGRlZmF1bHQgLSBObyBBRE9UIGluc3RydW1lbnRhdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRvdEluc3RydW1lbnRhdGlvbj86IGF3c19sYW1iZGEuQWRvdEluc3RydW1lbnRhdGlvbkNvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0byByZXRyeSB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5zIGFuIGVycm9yLlxuICAgKiBNaW5pbXVtOiAwXG4gICAqIE1heGltdW06IDJcbiAgICogQGRlZmF1bHQgMlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBmb3Igc3VjY2Vzc2Z1bCBpbnZvY2F0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBubyBkZXN0aW5hdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb25TdWNjZXNzPzogYXdzX2xhbWJkYS5JRGVzdGluYXRpb247XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBubyBkZXN0aW5hdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb25GYWlsdXJlPzogYXdzX2xhbWJkYS5JRGVzdGluYXRpb247XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhZ2Ugb2YgYSByZXF1ZXN0IHRoYXQgTGFtYmRhIHNlbmRzIHRvIGEgZnVuY3Rpb24gZm9yIHByb2Nlc3NpbmcuXG4gICAqIE1pbmltdW06IDYwIHNlY29uZHNcbiAgICogTWF4aW11bTogNiBob3Vyc1xuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5ob3Vycyg2KVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4RXZlbnRBZ2U/OiBEdXJhdGlvbjtcbn1cbiJdfQ==
@@ -82,7 +82,7 @@ export interface OptionalFunctionProps {
82
82
  readonly systemLogLevel?: string;
83
83
  /**
84
84
  * Enable SnapStart for Lambda Function.
85
- * SnapStart is currently supported only for Java 11, 17 runtime
85
+ * SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
86
86
  * @default - No snapstart
87
87
  * @stability stable
88
88
  */
@@ -126,7 +126,7 @@ export interface OptionalFunctionProps {
126
126
  readonly reservedConcurrentExecutions?: number;
127
127
  /**
128
128
  * Sets the Recursive Loop Protection for Lambda Function.
129
- * It lets Lambda detect and terminate unintended recusrive loops.
129
+ * It lets Lambda detect and terminate unintended recursive loops.
130
130
  * @default RecursiveLoop.Terminate
131
131
  * @stability stable
132
132
  */