eoapi-cdk 8.0.1 → 8.0.2

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
@@ -3932,7 +3932,7 @@
3932
3932
  "kind": "interface",
3933
3933
  "locationInModule": {
3934
3934
  "filename": "lib/database/index.ts",
3935
- "line": 280
3935
+ "line": 279
3936
3936
  },
3937
3937
  "name": "DatabaseParameters",
3938
3938
  "properties": [
@@ -3945,7 +3945,7 @@
3945
3945
  "immutable": true,
3946
3946
  "locationInModule": {
3947
3947
  "filename": "lib/database/index.ts",
3948
- "line": 296
3948
+ "line": 295
3949
3949
  },
3950
3950
  "name": "effectiveCacheSize",
3951
3951
  "type": {
@@ -3961,7 +3961,7 @@
3961
3961
  "immutable": true,
3962
3962
  "locationInModule": {
3963
3963
  "filename": "lib/database/index.ts",
3964
- "line": 306
3964
+ "line": 305
3965
3965
  },
3966
3966
  "name": "maintenanceWorkMem",
3967
3967
  "type": {
@@ -3977,7 +3977,7 @@
3977
3977
  "immutable": true,
3978
3978
  "locationInModule": {
3979
3979
  "filename": "lib/database/index.ts",
3980
- "line": 284
3980
+ "line": 283
3981
3981
  },
3982
3982
  "name": "maxConnections",
3983
3983
  "type": {
@@ -3993,7 +3993,7 @@
3993
3993
  "immutable": true,
3994
3994
  "locationInModule": {
3995
3995
  "filename": "lib/database/index.ts",
3996
- "line": 311
3996
+ "line": 310
3997
3997
  },
3998
3998
  "name": "maxLocksPerTransaction",
3999
3999
  "type": {
@@ -4009,7 +4009,7 @@
4009
4009
  "immutable": true,
4010
4010
  "locationInModule": {
4011
4011
  "filename": "lib/database/index.ts",
4012
- "line": 326
4012
+ "line": 325
4013
4013
  },
4014
4014
  "name": "randomPageCost",
4015
4015
  "type": {
@@ -4025,7 +4025,7 @@
4025
4025
  "immutable": true,
4026
4026
  "locationInModule": {
4027
4027
  "filename": "lib/database/index.ts",
4028
- "line": 321
4028
+ "line": 320
4029
4029
  },
4030
4030
  "name": "seqPageCost",
4031
4031
  "type": {
@@ -4042,7 +4042,7 @@
4042
4042
  "immutable": true,
4043
4043
  "locationInModule": {
4044
4044
  "filename": "lib/database/index.ts",
4045
- "line": 291
4045
+ "line": 290
4046
4046
  },
4047
4047
  "name": "sharedBuffers",
4048
4048
  "type": {
@@ -4058,7 +4058,7 @@
4058
4058
  "immutable": true,
4059
4059
  "locationInModule": {
4060
4060
  "filename": "lib/database/index.ts",
4061
- "line": 316
4061
+ "line": 315
4062
4062
  },
4063
4063
  "name": "tempBuffers",
4064
4064
  "type": {
@@ -4074,7 +4074,7 @@
4074
4074
  "immutable": true,
4075
4075
  "locationInModule": {
4076
4076
  "filename": "lib/database/index.ts",
4077
- "line": 301
4077
+ "line": 300
4078
4078
  },
4079
4079
  "name": "workMem",
4080
4080
  "type": {
@@ -4344,7 +4344,7 @@
4344
4344
  },
4345
4345
  "locationInModule": {
4346
4346
  "filename": "lib/database/index.ts",
4347
- "line": 44
4347
+ "line": 43
4348
4348
  },
4349
4349
  "parameters": [
4350
4350
  {
@@ -4370,7 +4370,7 @@
4370
4370
  "kind": "class",
4371
4371
  "locationInModule": {
4372
4372
  "filename": "lib/database/index.ts",
4373
- "line": 35
4373
+ "line": 34
4374
4374
  },
4375
4375
  "methods": [
4376
4376
  {
@@ -4379,7 +4379,7 @@
4379
4379
  },
4380
4380
  "locationInModule": {
4381
4381
  "filename": "lib/database/index.ts",
4382
- "line": 186
4382
+ "line": 185
4383
4383
  },
4384
4384
  "name": "getParameters",
4385
4385
  "parameters": [
@@ -4418,7 +4418,7 @@
4418
4418
  "immutable": true,
4419
4419
  "locationInModule": {
4420
4420
  "filename": "lib/database/index.ts",
4421
- "line": 40
4421
+ "line": 39
4422
4422
  },
4423
4423
  "name": "connectionTarget",
4424
4424
  "type": {
@@ -4441,7 +4441,7 @@
4441
4441
  "immutable": true,
4442
4442
  "locationInModule": {
4443
4443
  "filename": "lib/database/index.ts",
4444
- "line": 42
4444
+ "line": 41
4445
4445
  },
4446
4446
  "name": "secretBootstrapper",
4447
4447
  "optional": true,
@@ -4456,7 +4456,7 @@
4456
4456
  "immutable": true,
4457
4457
  "locationInModule": {
4458
4458
  "filename": "lib/database/index.ts",
4459
- "line": 41
4459
+ "line": 40
4460
4460
  },
4461
4461
  "name": "securityGroup",
4462
4462
  "optional": true,
@@ -4470,7 +4470,7 @@
4470
4470
  },
4471
4471
  "locationInModule": {
4472
4472
  "filename": "lib/database/index.ts",
4473
- "line": 36
4473
+ "line": 35
4474
4474
  },
4475
4475
  "name": "db",
4476
4476
  "type": {
@@ -4483,7 +4483,7 @@
4483
4483
  },
4484
4484
  "locationInModule": {
4485
4485
  "filename": "lib/database/index.ts",
4486
- "line": 37
4486
+ "line": 36
4487
4487
  },
4488
4488
  "name": "pgstacSecret",
4489
4489
  "type": {
@@ -4506,7 +4506,7 @@
4506
4506
  "kind": "interface",
4507
4507
  "locationInModule": {
4508
4508
  "filename": "lib/database/index.ts",
4509
- "line": 226
4509
+ "line": 225
4510
4510
  },
4511
4511
  "name": "PgStacDatabaseProps",
4512
4512
  "properties": [
@@ -4520,7 +4520,7 @@
4520
4520
  "immutable": true,
4521
4521
  "locationInModule": {
4522
4522
  "filename": "lib/database/index.ts",
4523
- "line": 260
4523
+ "line": 259
4524
4524
  },
4525
4525
  "name": "addPgbouncer",
4526
4526
  "optional": true,
@@ -4538,7 +4538,7 @@
4538
4538
  "immutable": true,
4539
4539
  "locationInModule": {
4540
4540
  "filename": "lib/database/index.ts",
4541
- "line": 277
4541
+ "line": 276
4542
4542
  },
4543
4543
  "name": "bootstrapperLambdaFunctionOptions",
4544
4544
  "optional": true,
@@ -4556,7 +4556,7 @@
4556
4556
  "immutable": true,
4557
4557
  "locationInModule": {
4558
4558
  "filename": "lib/database/index.ts",
4559
- "line": 268
4559
+ "line": 267
4560
4560
  },
4561
4561
  "name": "customResourceProperties",
4562
4562
  "optional": true,
@@ -4579,7 +4579,7 @@
4579
4579
  "immutable": true,
4580
4580
  "locationInModule": {
4581
4581
  "filename": "lib/database/index.ts",
4582
- "line": 232
4582
+ "line": 231
4583
4583
  },
4584
4584
  "name": "pgstacDbName",
4585
4585
  "optional": true,
@@ -4597,7 +4597,7 @@
4597
4597
  "immutable": true,
4598
4598
  "locationInModule": {
4599
4599
  "filename": "lib/database/index.ts",
4600
- "line": 253
4600
+ "line": 252
4601
4601
  },
4602
4602
  "name": "pgstacUsername",
4603
4603
  "optional": true,
@@ -4615,7 +4615,7 @@
4615
4615
  "immutable": true,
4616
4616
  "locationInModule": {
4617
4617
  "filename": "lib/database/index.ts",
4618
- "line": 239
4618
+ "line": 238
4619
4619
  },
4620
4620
  "name": "pgstacVersion",
4621
4621
  "optional": true,
@@ -4633,7 +4633,7 @@
4633
4633
  "immutable": true,
4634
4634
  "locationInModule": {
4635
4635
  "filename": "lib/database/index.ts",
4636
- "line": 246
4636
+ "line": 245
4637
4637
  },
4638
4638
  "name": "secretsPrefix",
4639
4639
  "optional": true,
@@ -4940,7 +4940,7 @@
4940
4940
  "kind": "interface",
4941
4941
  "locationInModule": {
4942
4942
  "filename": "lib/ingestor-api/index.ts",
4943
- "line": 265
4943
+ "line": 273
4944
4944
  },
4945
4945
  "name": "StacIngestorProps",
4946
4946
  "properties": [
@@ -4953,7 +4953,7 @@
4953
4953
  "immutable": true,
4954
4954
  "locationInModule": {
4955
4955
  "filename": "lib/ingestor-api/index.ts",
4956
- "line": 269
4956
+ "line": 277
4957
4957
  },
4958
4958
  "name": "dataAccessRole",
4959
4959
  "type": {
@@ -4969,7 +4969,7 @@
4969
4969
  "immutable": true,
4970
4970
  "locationInModule": {
4971
4971
  "filename": "lib/ingestor-api/index.ts",
4972
- "line": 284
4972
+ "line": 292
4973
4973
  },
4974
4974
  "name": "stacDbSecret",
4975
4975
  "type": {
@@ -4985,7 +4985,7 @@
4985
4985
  "immutable": true,
4986
4986
  "locationInModule": {
4987
4987
  "filename": "lib/ingestor-api/index.ts",
4988
- "line": 294
4988
+ "line": 302
4989
4989
  },
4990
4990
  "name": "stacDbSecurityGroup",
4991
4991
  "type": {
@@ -5001,7 +5001,7 @@
5001
5001
  "immutable": true,
5002
5002
  "locationInModule": {
5003
5003
  "filename": "lib/ingestor-api/index.ts",
5004
- "line": 274
5004
+ "line": 282
5005
5005
  },
5006
5006
  "name": "stacUrl",
5007
5007
  "type": {
@@ -5017,7 +5017,7 @@
5017
5017
  "immutable": true,
5018
5018
  "locationInModule": {
5019
5019
  "filename": "lib/ingestor-api/index.ts",
5020
- "line": 279
5020
+ "line": 287
5021
5021
  },
5022
5022
  "name": "stage",
5023
5023
  "type": {
@@ -5033,7 +5033,7 @@
5033
5033
  "immutable": true,
5034
5034
  "locationInModule": {
5035
5035
  "filename": "lib/ingestor-api/index.ts",
5036
- "line": 309
5036
+ "line": 317
5037
5037
  },
5038
5038
  "name": "apiEndpointConfiguration",
5039
5039
  "optional": true,
@@ -5050,7 +5050,7 @@
5050
5050
  "immutable": true,
5051
5051
  "locationInModule": {
5052
5052
  "filename": "lib/ingestor-api/index.ts",
5053
- "line": 304
5053
+ "line": 312
5054
5054
  },
5055
5055
  "name": "apiEnv",
5056
5056
  "optional": true,
@@ -5073,7 +5073,7 @@
5073
5073
  "immutable": true,
5074
5074
  "locationInModule": {
5075
5075
  "filename": "lib/ingestor-api/index.ts",
5076
- "line": 326
5076
+ "line": 334
5077
5077
  },
5078
5078
  "name": "apiLambdaFunctionOptions",
5079
5079
  "optional": true,
@@ -5090,7 +5090,7 @@
5090
5090
  "immutable": true,
5091
5091
  "locationInModule": {
5092
5092
  "filename": "lib/ingestor-api/index.ts",
5093
- "line": 314
5093
+ "line": 322
5094
5094
  },
5095
5095
  "name": "apiPolicy",
5096
5096
  "optional": true,
@@ -5107,7 +5107,7 @@
5107
5107
  "immutable": true,
5108
5108
  "locationInModule": {
5109
5109
  "filename": "lib/ingestor-api/index.ts",
5110
- "line": 319
5110
+ "line": 327
5111
5111
  },
5112
5112
  "name": "ingestorDomainNameOptions",
5113
5113
  "optional": true,
@@ -5125,7 +5125,7 @@
5125
5125
  "immutable": true,
5126
5126
  "locationInModule": {
5127
5127
  "filename": "lib/ingestor-api/index.ts",
5128
- "line": 333
5128
+ "line": 341
5129
5129
  },
5130
5130
  "name": "ingestorLambdaFunctionOptions",
5131
5131
  "optional": true,
@@ -5133,6 +5133,24 @@
5133
5133
  "primitive": "any"
5134
5134
  }
5135
5135
  },
5136
+ {
5137
+ "abstract": true,
5138
+ "docs": {
5139
+ "default": "- default settings are defined in the construct",
5140
+ "stability": "experimental",
5141
+ "summary": "pgstac version - must match the version installed on the pgstac database."
5142
+ },
5143
+ "immutable": true,
5144
+ "locationInModule": {
5145
+ "filename": "lib/ingestor-api/index.ts",
5146
+ "line": 348
5147
+ },
5148
+ "name": "pgstacVersion",
5149
+ "optional": true,
5150
+ "type": {
5151
+ "primitive": "string"
5152
+ }
5153
+ },
5136
5154
  {
5137
5155
  "abstract": true,
5138
5156
  "docs": {
@@ -5142,7 +5160,7 @@
5142
5160
  "immutable": true,
5143
5161
  "locationInModule": {
5144
5162
  "filename": "lib/ingestor-api/index.ts",
5145
- "line": 299
5163
+ "line": 307
5146
5164
  },
5147
5165
  "name": "subnetSelection",
5148
5166
  "optional": true,
@@ -5159,7 +5177,7 @@
5159
5177
  "immutable": true,
5160
5178
  "locationInModule": {
5161
5179
  "filename": "lib/ingestor-api/index.ts",
5162
- "line": 289
5180
+ "line": 297
5163
5181
  },
5164
5182
  "name": "vpc",
5165
5183
  "optional": true,
@@ -5641,6 +5659,6 @@
5641
5659
  "symbolId": "lib/titiler-pgstac-api/index:TitilerPgstacApiLambda"
5642
5660
  }
5643
5661
  },
5644
- "version": "8.0.1",
5645
- "fingerprint": "TSyPW2nh9F0WG+5yskCArjA639JsR2dPUO21x6pC8YM="
5662
+ "version": "8.0.2",
5663
+ "fingerprint": "BlIi9cM3OjG858To0exIYzoPPxbdVqZryx+/sGygDqY="
5646
5664
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [8.0.2](https://github.com/developmentseed/eoapi-cdk/compare/v8.0.1...v8.0.2) (2025-03-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * refactor to keep database pgstac and ingestor pypgstac in sync ([#137](https://github.com/developmentseed/eoapi-cdk/issues/137)) ([cdf1a66](https://github.com/developmentseed/eoapi-cdk/commit/cdf1a6629905384b697ef00c39b1a6b10d15b592))
7
+
1
8
  ## [8.0.1](https://github.com/developmentseed/eoapi-cdk/compare/v8.0.0...v8.0.1) (2025-03-11)
2
9
 
3
10
 
@@ -1,13 +1,16 @@
1
- from aws_cdk import App, RemovalPolicy, Stack, aws_ec2, aws_rds
1
+ from aws_cdk import App, RemovalPolicy, Stack, aws_ec2, aws_iam, aws_rds
2
2
  from config import AppConfig, build_app_config
3
3
  from constructs import Construct
4
4
  from eoapi_cdk import (
5
5
  PgStacApiLambda,
6
6
  PgStacDatabase,
7
+ StacIngestor,
7
8
  TiPgApiLambda,
8
9
  TitilerPgstacApiLambda,
9
10
  )
10
11
 
12
+ PGSTAC_VERSION = "0.9.5"
13
+
11
14
 
12
15
  class VpcStack(Stack):
13
16
  def __init__(
@@ -81,7 +84,7 @@ class pgStacInfraStack(Stack):
81
84
  instance_type=aws_ec2.InstanceType(app_config.db_instance_type),
82
85
  add_pgbouncer=True,
83
86
  removal_policy=RemovalPolicy.DESTROY,
84
- pgstac_version="0.9.5",
87
+ pgstac_version=PGSTAC_VERSION,
85
88
  )
86
89
 
87
90
  assert pgstac_db.security_group
@@ -137,6 +140,31 @@ class pgStacInfraStack(Stack):
137
140
  },
138
141
  )
139
142
 
143
+ s3_read_only_role = aws_iam.Role(
144
+ self,
145
+ "S3ReadOnlyRole",
146
+ assumed_by=aws_iam.ServicePrincipal("lambda.amazonaws.com"),
147
+ description="Role with read-only access to S3 buckets",
148
+ )
149
+
150
+ s3_read_only_role.add_managed_policy(
151
+ aws_iam.ManagedPolicy.from_aws_managed_policy_name("AmazonS3ReadOnlyAccess")
152
+ )
153
+
154
+ StacIngestor(
155
+ self,
156
+ "ingestor",
157
+ data_access_role=s3_read_only_role,
158
+ stac_db_secret=pgstac_db.pgstac_secret,
159
+ stac_db_security_group=pgstac_db.security_group,
160
+ stac_url=stac_api.url,
161
+ stage="test",
162
+ pgstac_version=PGSTAC_VERSION,
163
+ api_env={
164
+ "JWKS_URL": "", # no authentication!
165
+ },
166
+ )
167
+
140
168
 
141
169
  app = App()
142
170
 
@@ -158,5 +158,5 @@ class BastionHost extends constructs_1.Construct {
158
158
  }
159
159
  exports.BastionHost = BastionHost;
160
160
  _a = JSII_RTTI_SYMBOL_1;
161
- BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "8.0.1" };
161
+ BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "8.0.2" };
162
162
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFFdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpR0c7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUd4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUscUJBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ2pELFlBQVksRUFBRSxHQUFHLFNBQVMsZUFBZTtZQUN6QyxZQUFZLEVBQUUscUJBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUMvQixxQkFBRyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFDckMscUJBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QjtZQUNELFlBQVksRUFBRSxxQkFBRyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsVUFBVSxFQUFFLHFCQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYztnQkFDcEQsT0FBTyxFQUFFLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTTthQUN2QyxDQUFDO1lBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLHlCQUF5QixFQUFFLElBQUk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLHFCQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7Z0JBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7Z0JBQ3BDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQy9CLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDdEMscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUNsQixvQ0FBb0MsQ0FDckMsQ0FBQztRQUVGLGtDQUFrQztRQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ2pDLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbkIscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQ2pDLFlBQVksQ0FDYixDQUFDO1FBQ0osQ0FBQztRQUVELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDM0IsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsZUFBZTtnQkFDZiwrQkFBK0I7Z0JBQy9CLGVBQWU7YUFDaEI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7WUFDL0IsVUFBVSxFQUFFLEdBQUcsU0FBUyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUNILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUU7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JDLFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCO1NBQzlDLENBQUMsQ0FBQztRQUNILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUU7WUFDckQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCO1lBQzFDLFVBQVUsRUFBRSxHQUFHLFNBQVMsa0JBQWtCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBekVILGtDQTBFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YWNrLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19yZHMgYXMgcmRzLFxuICBDZm5PdXRwdXQsXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuLyoqXG4gKiBUaGUgZGF0YWJhc2UgaXMgbG9jYXRlZCBpbiBhbiBpc29sYXRlZCBzdWJuZXQsIG1lYW5pbmcgdGhhdCBpdCBpcyBub3QgYWNjZXNzaWJsZSBmcm9tIHRoZSBwdWJsaWMgaW50ZXJuZXQuIEFzIHN1Y2gsIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGFiYXNlIGRpcmVjdGx5LCBhIHVzZXIgbXVzdCB0dW5uZWwgdGhyb3VnaCBhIGJhc3Rpb24gaG9zdC5cbiAqXG4gKiAjIyMgQ29uZmlndXJpbmdcbiAqXG4gKiBUaGlzIGNvZGViYXNlIGNvbnRyb2xzIF93aG9fIGlzIGFsbG93ZWQgdG8gY29ubmVjdCB0byB0aGUgYmFzdGlvbiBob3N0LiBUaGlzIHJlcXVpcmVzIHR3byBzdGVwczpcbiAqXG4gKiAxLiBBZGRpbmcgdGhlIElQIGFkZHJlc3MgZnJvbSB3aGljaCB5b3UgYXJlIGNvbm5lY3RpbmcgdG8gdGhlIGBpcHY0QWxsb3dsaXN0YCBhcnJheVxuICogMS4gQ3JlYXRpbmcgYSBiYXN0aW9uIGhvc3Qgc3lzdGVtIHVzZXIgYnkgYWRkaW5nIHRoZSB1c2VyJ3MgY29uZmlndXJhdGlvbiBpbmZvcm0gdG8gYHVzZXJkYXRhLnlhbWxgXG4gKlxuICogIyMjIyBBZGRpbmcgYW4gSVAgYWRkcmVzcyB0byB0aGUgYGlwdjRBbGxvd2xpc3RgIGFycmF5XG4gKlxuICogVGhlIGBCYXN0aW9uSG9zdGAgY29uc3RydWN0IHRha2VzIGluIGFuIGBpcHY0QWxsb3dsaXN0YCBhcnJheSBhcyBhbiBhcmd1bWVudC4gRmluZCB5b3VyIElQIGFkZHJlc3MgKGVnIGBjdXJsIGFwaS5pcGlmeS5vcmdgKSBhbmQgYWRkIHRoYXQgdG8gdGhlIGFycmF5IGFsb25nIHdpdGggdGhlIHRyYWlsaW5nIENJRFIgYmxvY2sgKGxpa2VseSBgLzMyYCB0byBpbmRpY2F0ZSB0aGF0IHlvdSBhcmUgYWRkaW5nIGEgc2luZ2xlIElQIGFkZHJlc3MpLlxuICpcbiAqICMjIyMgQ3JlYXRpbmcgYSB1c2VyIHZpYSBgdXNlcmRhdGEueWFtbGBcbiAqXG4gKiBBZGQgYW4gZW50cnkgdG8gdGhlIGB1c2Vyc2AgYXJyYXkgd2l0aCBhIHVzZXJuYW1lIChsaWtlbHkgbWF0Y2hpbmcgeW91ciBsb2NhbCBzeXN0ZW1zIHVzZXJuYW1lLCB3aGljaCB5b3UgY2FuIGdldCBieSBydW5uaW5nIHRoZSBgd2hvYW1pYCBjb21tYW5kIGluIHlvdXIgdGVybWluYWwpIGFuZCBhIHB1YmxpYyBrZXkgKGxpa2VseSB5b3VyIGRlZmF1bHQgcHVibGljIGtleSwgd2hpY2ggeW91IGNhbiBnZXQgYnkgcnVubmluZyBgY2F0IH4vLnNzaC9pZF8qLnB1YmAgaW4geW91ciB0ZXJtaW5hbCkuXG4gKlxuICogIyMjIyBUaXBzICYgVHJpY2tzIHdoZW4gdXNpbmcgdGhlIEJhc3Rpb24gSG9zdFxuICpcbiAqICoqQ29ubmVjdGluZyB0byBSRFMgSW5zdGFuY2UgdmlhIFNTTSoqXG4gKlxuICogYGBgc2hcbiAqIGF3cyBzc20gc3RhcnQtc2Vzc2lvbiAtLXRhcmdldCAkSU5TVEFOQ0VfSUQgXFxcbiAqIC0tZG9jdW1lbnQtbmFtZSBBV1MtU3RhcnRQb3J0Rm9yd2FyZGluZ1Nlc3Npb25Ub1JlbW90ZUhvc3QgXFxcbiAqIC0tcGFyYW1ldGVycyAne1xuICogXCJob3N0XCI6IFtcbiAqIFwiZXhhbXBsZS1kYi5jNWFiY2RlZmdoaWoudXMtd2VzdC0yLnJkcy5hbWF6b25hd3MuY29tXCJcbiAqIF0sXG4gKiBcInBvcnROdW1iZXJcIjogW1xuICogXCI1NDMyXCJcbiAqIF0sXG4gKiBcImxvY2FsUG9ydE51bWJlclwiOiBbXG4gKiBcIjk5OTlcIlxuICogXVxuICogfScgXFxcbiAqIC0tcHJvZmlsZSAkQVdTX1BST0ZJTEVcbiAqIGBgYFxuICpcbiAqIGBgYHNoXG4gKiBwc3FsIC1oIGxvY2FsaG9zdCAtcCA5OTk5ICMgY29udGludWUgYWRkaW5nIHVzZXJuYW1lICgtVSkgYW5kIGRiICgtZCkgaGVyZS4uLlxuICogYGBgXG4gKlxuICogQ29ubmVjdCBkaXJlY3RseSB0byBCYXN0aW9uIEhvc3Q6XG4gKlxuICogYGBgc2hcbiAqIGF3cyBzc20gc3RhcnQtc2Vzc2lvbiAtLXRhcmdldCAkSU5TVEFOQ0VfSUQgLS1wcm9maWxlICRBV1NfUFJPRklMRVxuICogYGBgXG4gKlxuICogKipTZXR0aW5nIHVwIGFuIFNTSCB0dW5uZWwqKlxuICpcbiAqIEluIHlvdXIgYH4vLnNzaC9jb25maWdgIGZpbGUsIGFkZCBhbiBlbnRyeSBsaWtlOlxuICpcbiAqIGBgYFxuICogSG9zdCBkYi10dW5uZWxcbiAqIEhvc3RuYW1lIHt0aGUtYmFzdGlvbi1ob3N0LWFkZHJlc3N9XG4gKiBMb2NhbEZvcndhcmQgOTk5OSB7dGhlLWRiLWhvc3RuYW1lfTo1NDMyXG4gKiBgYGBcbiAqXG4gKiBUaGVuIGEgdHVubmVsIGNhbiBiZSBvcGVuZWQgdmlhOlxuICpcbiAqIGBgYFxuICogc3NoIC1OIGRiLXR1bm5lbFxuICogYGBgXG4gKlxuICogQW5kIGEgY29ubmVjdGlvbiB0byB0aGUgREIgY2FuIGJlIG1hZGUgdmlhOlxuICpcbiAqIGBgYFxuICogcHNxbCAtaCAxMjcuMC4wLjEgLXAgOTk5OSAtVSB7dXNlcm5hbWV9IC1kIHtkYXRhYmFzZX1cbiAqIGBgYFxuICpcbiAqICoqSGFuZGxpbmcgYFJFTU9URSBIT1NUIElERU5USUZJQ0FUSU9OIEhBUyBDSEFOR0VEIWAgZXJyb3IqKlxuICpcbiAqIElmIHlvdSd2ZSByZWRlcGxveWVkIGEgYmFzdGlvbiBob3N0IHRoYXQgeW91J3ZlIHByZXZpb3VzbHkgY29ubmVjdGVkIHRvLCB5b3UgbWF5IHNlZSBhbiBlcnJvciBsaWtlOlxuICpcbiAqIGBgYFxuICogQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBcbiAqIEAgICAgV0FSTklORzogUkVNT1RFIEhPU1QgSURFTlRJRklDQVRJT04gSEFTIENIQU5HRUQhICAgICBAXG4gKiBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFxuICogSVQgSVMgUE9TU0lCTEUgVEhBVCBTT01FT05FIElTIERPSU5HIFNPTUVUSElORyBOQVNUWSFcbiAqIFNvbWVvbmUgY291bGQgYmUgZWF2ZXNkcm9wcGluZyBvbiB5b3UgcmlnaHQgbm93IChtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2spIVxuICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0IGEgaG9zdCBrZXkgaGFzIGp1c3QgYmVlbiBjaGFuZ2VkLlxuICogVGhlIGZpbmdlcnByaW50IGZvciB0aGUgRUNEU0Ega2V5IHNlbnQgYnkgdGhlIHJlbW90ZSBob3N0IGlzXG4gKiBTSEEyNTY6bVBueEFPWFRwYjA2UEZnSTFRYzhUTVEyZTliN2dvVTh5Mk5kUzVoeklyOC5cbiAqIFBsZWFzZSBjb250YWN0IHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IuXG4gKiBBZGQgY29ycmVjdCBob3N0IGtleSBpbiAvVXNlcnMvdXNlcm5hbWUvLnNzaC9rbm93bl9ob3N0cyB0byBnZXQgcmlkIG9mIHRoaXMgbWVzc2FnZS5cbiAqIE9mZmVuZGluZyBFQ0RTQSBrZXkgaW4gL1VzZXJzL3VzZXJuYW1lLy5zc2gva25vd25faG9zdHM6MjhcbiAqIEVDRFNBIGhvc3Qga2V5IGZvciBlYzItMTItMzQtNTYtNzg5LnVzLXdlc3QtMi5jb21wdXRlLmFtYXpvbmF3cy5jb20gaGFzIGNoYW5nZWQgYW5kIHlvdSBoYXZlIHJlcXVlc3RlZCBzdHJpY3QgY2hlY2tpbmcuXG4gKiBIb3N0IGtleSB2ZXJpZmljYXRpb24gZmFpbGVkLlxuICogYGBgXG4gKlxuICogVGhpcyBpcyBkdWUgdG8gdGhlIHNlcnZlcidzIGZpbmdlcnByaW50IGNoYW5naW5nLiBXZSBjYW4gc2NydWIgdGhlIGZpbmdlcnByaW50IGZyb20gb3VyIHN5c3RlbSB3aXRoIGEgY29tbWFuZCBsaWtlOlxuICpcbiAqIGBgYFxuICogc3NoLWtleWdlbiAtUiAxMi4zNC41Ni43ODlcbiAqIGBgYFxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc3Rpb25Ib3N0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgaW5zdGFuY2U6IGVjMi5JbnN0YW5jZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzdGlvbkhvc3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IHN0YWNrTmFtZSB9ID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICAvLyBCdWlsZCBlYzIgaW5zdGFuY2VcbiAgICB0aGlzLmluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZSh0aGlzLCBcImJhc3Rpb24taG9zdFwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgICBpbnN0YW5jZU5hbWU6IGAke3N0YWNrTmFtZX0gYmFzdGlvbiBob3N0YCxcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFNF9HUkFWSVRPTixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5OQU5PXG4gICAgICApLFxuICAgICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4KHtcbiAgICAgICAgZ2VuZXJhdGlvbjogZWMyLkFtYXpvbkxpbnV4R2VuZXJhdGlvbi5BTUFaT05fTElOVVhfMixcbiAgICAgICAgY3B1VHlwZTogZWMyLkFtYXpvbkxpbnV4Q3B1VHlwZS5BUk1fNjQsXG4gICAgICB9KSxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICAgIHVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBc3NpZ24gZWxhc3RpYyBJUFxuICAgIGlmIChwcm9wcy5jcmVhdGVFbGFzdGljSXAgPz8gdHJ1ZSkge1xuICAgICAgbmV3IGVjMi5DZm5FSVAodGhpcywgXCJJUFwiLCB7XG4gICAgICAgIGluc3RhbmNlSWQ6IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgdGFnczogW3sga2V5OiBcIk5hbWVcIiwgdmFsdWU6IHN0YWNrTmFtZSB9XSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGJhc3Rpb24gaG9zdCB0byBjb25uZWN0IHRvIGRiXG4gICAgdGhpcy5pbnN0YW5jZS5jb25uZWN0aW9ucy5hbGxvd1RvKFxuICAgICAgcHJvcHMuZGIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0sXG4gICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICBcIkFsbG93IGNvbm5lY3Rpb24gZnJvbSBiYXN0aW9uIGhvc3RcIlxuICAgICk7XG5cbiAgICAvLyBBbGxvdyBJUCBhY2Nlc3MgdG8gYmFzdGlvbiBob3N0XG4gICAgZm9yIChjb25zdCBpcHY0IG9mIHByb3BzLmlwdjRBbGxvd2xpc3QpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuY29ubmVjdGlvbnMuYWxsb3dGcm9tKFxuICAgICAgICBlYzIuUGVlci5pcHY0KGlwdjQpLFxuICAgICAgICBlYzIuUG9ydC50Y3AocHJvcHMuc3NoUG9ydCB8fCAyMiksXG4gICAgICAgIFwiU1NIIEFjY2Vzc1wiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEludGVncmF0ZSB3aXRoIFNTTVxuICAgIHRoaXMuaW5zdGFuY2UuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJzc21tZXNzYWdlczoqXCIsXG4gICAgICAgICAgXCJzc206VXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvblwiLFxuICAgICAgICAgIFwiZWMybWVzc2FnZXM6KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtaWQtb3V0cHV0XCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBgJHtzdGFja05hbWV9LWluc3RhbmNlLWlkYCxcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtcHVibGljLWlwLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0lwLFxuICAgICAgZXhwb3J0TmFtZTogYCR7c3RhY2tOYW1lfS1pbnN0YW5jZS1wdWJsaWMtaXBgLFxuICAgIH0pO1xuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJpbnN0YW5jZS1wdWJsaWMtZG5zLW5hbWUtb3V0cHV0XCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlUHVibGljRG5zTmFtZSxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3N0YWNrTmFtZX0tcHVibGljLWRucy1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc3Rpb25Ib3N0UHJvcHMge1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlO1xuICByZWFkb25seSB1c2VyRGF0YTogZWMyLlVzZXJEYXRhO1xuICByZWFkb25seSBpcHY0QWxsb3dsaXN0OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc3NoUG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgYW4gZWxhc3RpYyBJUCBzaG91bGQgYmUgY3JlYXRlZCBmb3IgdGhlIGJhc3Rpb24gaG9zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUVsYXN0aWNJcD86IGJvb2xlYW47XG59XG4iXX0=
@@ -5,9 +5,9 @@ exports.PgStacDatabase = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const constructs_1 = require("constructs");
8
+ const utils_1 = require("../utils");
8
9
  const PgBouncer_1 = require("./PgBouncer");
9
10
  const instanceSizes = require("./instance-memory.json");
10
- const DEFAULT_PGSTAC_VERSION = "0.9.5";
11
11
  let defaultPgSTACCustomOptions = {
12
12
  context: "FALSE",
13
13
  mosaic_index: "TRUE",
@@ -44,7 +44,7 @@ class PgStacDatabase extends constructs_1.Construct {
44
44
  parameterGroup,
45
45
  ...props,
46
46
  });
47
- const pgstac_version = props.pgstacVersion || DEFAULT_PGSTAC_VERSION;
47
+ const pgstac_version = props.pgstacVersion || utils_1.DEFAULT_PGSTAC_VERSION;
48
48
  const handler = new aws_cdk_lib_1.aws_lambda.Function(this, "lambda", {
49
49
  // defaults
50
50
  runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_11,
@@ -175,5 +175,5 @@ class PgStacDatabase extends constructs_1.Construct {
175
175
  }
176
176
  exports.PgStacDatabase = PgStacDatabase;
177
177
  _a = JSII_RTTI_SYMBOL_1;
178
- PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "8.0.1" };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsMkNBQXdDO0FBRXhDLE1BQU0sYUFBYSxHQUEyQixPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNoRixNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQztBQUV2QyxJQUFJLDBCQUEwQixHQUEyQjtJQUN2RCxPQUFPLEVBQUUsT0FBTztJQUNoQixZQUFZLEVBQUUsTUFBTTtDQUNyQixDQUFDO0FBRUYsU0FBUyxNQUFNLENBQ2IsUUFBc0Q7SUFFdEQsT0FBUSxRQUFpQyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7QUFDOUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQVMzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUMxQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLFVBQVUsRUFDNUMsS0FBSyxDQUFDLFVBQVUsQ0FDakIsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLElBQUkscUJBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3BFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFLGlCQUFpQixDQUFDLGNBQWM7Z0JBQ2pELGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO2dCQUMvQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2dCQUNuQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjtnQkFDbkUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLFdBQVc7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxXQUFXO2dCQUM1QyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNsRCxHQUFHLEtBQUssQ0FBQyxVQUFVO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUM3QyxrQkFBa0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTO1lBQzVDLGNBQWM7WUFDZCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLHNCQUFzQixDQUFDO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN0RCxXQUFXO1lBQ1gsT0FBTyxFQUFFLHdCQUFVLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDdkMsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixVQUFVLEVBQUUsR0FBRztZQUNmLFlBQVksRUFBRSxzQkFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRO1lBQzdDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxFQUFFLHdCQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7Z0JBQy9DLElBQUksRUFBRSxpQ0FBaUM7Z0JBQ3ZDLFNBQVMsRUFBRTtvQkFDVCxjQUFjLEVBQUUsTUFBTTtvQkFDdEIsY0FBYyxFQUFFLGNBQWM7aUJBQy9CO2FBQ0YsQ0FBQztZQUNGLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDOUMsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixrRUFBa0U7WUFDbEUsR0FBRyxLQUFLLENBQUMsaUNBQWlDO1NBQzNDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDeEUsVUFBVSxFQUFFO2dCQUNWLEtBQUssQ0FBQyxhQUFhLElBQUksUUFBUTtnQkFDL0IsRUFBRTtnQkFDRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ1gsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25DLE1BQU0sRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLFFBQVE7b0JBQ3RDLE1BQU0sRUFBRSxVQUFVO29CQUNsQixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRO29CQUN2QyxRQUFRLEVBQUUsS0FBSyxDQUFDLGNBQWMsSUFBSSxhQUFhO2lCQUNoRCxDQUFDO2dCQUNGLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzdCLGtCQUFrQixFQUFFLElBQUk7YUFDekI7WUFDRCxXQUFXLEVBQUUsbUNBQ1gsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FDakIsRUFBRTtTQUNILENBQUMsQ0FBQztRQUVILHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLHdCQUF3QixHQUMxQixLQUFLLENBQUMsd0JBQXdCO1lBQzVCLENBQUMsQ0FBQyxFQUFFLEdBQUcsMEJBQTBCLEVBQUUsR0FBRyxLQUFLLENBQUMsd0JBQXdCLEVBQUU7WUFDdEUsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1FBRWpDLG9CQUFvQjtRQUNwQix3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTyxDQUFDLFNBQVMsQ0FBQztRQUN4RSx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQztZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUU5QixpSEFBaUg7UUFDakgsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNuRCx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsbUZBQW1GO1FBQ25GLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsTUFBTSxZQUFZLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDNUQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2pDLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsYUFBYSxFQUFFLDJCQUFhLENBQUMsTUFBTSxFQUFFLGtGQUFrRjtTQUN4SCxDQUFDLENBQUM7UUFFSCxpRUFBaUU7UUFDakUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUM7UUFDaEQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxxQkFBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3ZELFlBQVksRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsWUFBWTtnQkFDckQsWUFBWSxFQUFFLHFCQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDL0IscUJBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUNwQixxQkFBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3ZCO2dCQUNELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDZCxRQUFRLEVBQUU7b0JBQ1IsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVztvQkFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUMxQjtnQkFDRCxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDO2dCQUM1RCxlQUFlLEVBQ2IsQ0FBQyxLQUFLLENBQUMsVUFBVTtvQkFDakIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEtBQUsscUJBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDdkQsZUFBZSxFQUFFO29CQUNmLFFBQVEsRUFBRSxhQUFhO29CQUN2QixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsZUFBZSxFQUFFLEVBQUU7b0JBQ25CLFdBQVcsRUFBRSxFQUFFO29CQUNmLGVBQWUsRUFBRSxDQUFDO29CQUNsQixrQkFBa0IsRUFBRSxDQUFDO2lCQUN0QjthQUNGLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXZELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztZQUMxRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7WUFDekQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUNsQixZQUFvQixFQUNwQixVQUE2QztRQUU3QyxvRUFBb0U7UUFDcEUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUV4RCxrRkFBa0Y7UUFDbEYsa0ZBQWtGO1FBQ2xGLCtDQUErQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsY0FBYztZQUMvQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxvR0FBb0c7Z0JBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxNQUFNLGFBQWEsR0FBRyxVQUFVLEVBQUUsWUFBWTtZQUM1QyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztRQUVwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFFNUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUMvQixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO1FBRTNCLE9BQU87WUFDTCxjQUFjLEVBQUUsR0FBRyxjQUFjLEVBQUU7WUFDbkMsYUFBYSxFQUFFLEdBQUcsYUFBYSxHQUFHLENBQUMsRUFBRSxFQUFFLDRCQUE0QjtZQUNuRSxrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixHQUFHLENBQUMsRUFBRSxFQUFFLDRCQUE0QjtZQUM3RSxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDckIsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRTtZQUMzQyxzQkFBc0IsRUFBRSxNQUFNO1lBQzlCLFdBQVcsRUFBRSxHQUFHLFdBQVcsR0FBRyxDQUFDLEVBQUUsRUFBRSw0QkFBNEI7WUFDL0QsV0FBVyxFQUFFLEdBQUcsV0FBVyxFQUFFO1lBQzdCLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRTtTQUNwQyxDQUFDO0lBQ0osQ0FBQzs7QUE1TEgsd0NBNkxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU3RhY2ssXG4gIGF3c19yZHMgYXMgcmRzLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNtYW5hZ2VyLFxuICBhd3NfbGFtYmRhLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgUmVtb3ZhbFBvbGljeSxcbiAgRHVyYXRpb24sXG4gIGF3c19sb2dzLFxufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBQZ0JvdW5jZXIgfSBmcm9tIFwiLi9QZ0JvdW5jZXJcIjtcblxuY29uc3QgaW5zdGFuY2VTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHJlcXVpcmUoXCIuL2luc3RhbmNlLW1lbW9yeS5qc29uXCIpO1xuY29uc3QgREVGQVVMVF9QR1NUQUNfVkVSU0lPTiA9IFwiMC45LjVcIjtcblxubGV0IGRlZmF1bHRQZ1NUQUNDdXN0b21PcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICBjb250ZXh0OiBcIkZBTFNFXCIsXG4gIG1vc2FpY19pbmRleDogXCJUUlVFXCIsXG59O1xuXG5mdW5jdGlvbiBoYXNWcGMoXG4gIGluc3RhbmNlOiByZHMuRGF0YWJhc2VJbnN0YW5jZSB8IHJkcy5JRGF0YWJhc2VJbnN0YW5jZVxuKTogaW5zdGFuY2UgaXMgcmRzLkRhdGFiYXNlSW5zdGFuY2Uge1xuICByZXR1cm4gKGluc3RhbmNlIGFzIHJkcy5EYXRhYmFzZUluc3RhbmNlKS52cGMgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbiBSRFMgaW5zdGFuY2Ugd2l0aCBwZ1NUQUMgaW5zdGFsbGVkLiBUaGlzIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBgcmRzLkRhdGFiYXNlSW5zdGFuY2VgIGhpZ2hlci1sZXZlbCBjb25zdHJ1Y3QgbWFraW5nIHVzZVxuICogb2YgdGhlIEJvb3RzdHJhcFBnU3RhYyBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQZ1N0YWNEYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGRiOiByZHMuRGF0YWJhc2VJbnN0YW5jZTtcbiAgcGdzdGFjU2VjcmV0OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuICBwcml2YXRlIF9wZ0JvdW5jZXJTZXJ2ZXI/OiBQZ0JvdW5jZXI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25UYXJnZXQ6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZSB8IGVjMi5JbnN0YW5jZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA/OiBlYzIuU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldEJvb3RzdHJhcHBlcj86IEN1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQZ1N0YWNEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlZmF1bHRQYXJhbWV0ZXJzID0gdGhpcy5nZXRQYXJhbWV0ZXJzKFxuICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpIHx8IFwibTUubGFyZ2VcIixcbiAgICAgIHByb3BzLnBhcmFtZXRlcnNcbiAgICApO1xuICAgIGNvbnN0IHBhcmFtZXRlckdyb3VwID0gbmV3IHJkcy5QYXJhbWV0ZXJHcm91cCh0aGlzLCBcInBhcmFtZXRlckdyb3VwXCIsIHtcbiAgICAgIGVuZ2luZTogcHJvcHMuZW5naW5lLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBtYXhfY29ubmVjdGlvbnM6IGRlZmF1bHRQYXJhbWV0ZXJzLm1heENvbm5lY3Rpb25zLFxuICAgICAgICBzaGFyZWRfYnVmZmVyczogZGVmYXVsdFBhcmFtZXRlcnMuc2hhcmVkQnVmZmVycyxcbiAgICAgICAgZWZmZWN0aXZlX2NhY2hlX3NpemU6IGRlZmF1bHRQYXJhbWV0ZXJzLmVmZmVjdGl2ZUNhY2hlU2l6ZSxcbiAgICAgICAgd29ya19tZW06IGRlZmF1bHRQYXJhbWV0ZXJzLndvcmtNZW0sXG4gICAgICAgIG1haW50ZW5hbmNlX3dvcmtfbWVtOiBkZWZhdWx0UGFyYW1ldGVycy5tYWludGVuYW5jZVdvcmtNZW0sXG4gICAgICAgIG1heF9sb2Nrc19wZXJfdHJhbnNhY3Rpb246IGRlZmF1bHRQYXJhbWV0ZXJzLm1heExvY2tzUGVyVHJhbnNhY3Rpb24sXG4gICAgICAgIHRlbXBfYnVmZmVyczogZGVmYXVsdFBhcmFtZXRlcnMudGVtcEJ1ZmZlcnMsXG4gICAgICAgIHNlcV9wYWdlX2Nvc3Q6IGRlZmF1bHRQYXJhbWV0ZXJzLnNlcVBhZ2VDb3N0LFxuICAgICAgICByYW5kb21fcGFnZV9jb3N0OiBkZWZhdWx0UGFyYW1ldGVycy5yYW5kb21QYWdlQ29zdCxcbiAgICAgICAgLi4ucHJvcHMucGFyYW1ldGVycyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRiID0gbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlKHRoaXMsIFwiZGJcIiwge1xuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBTdGFjay5vZih0aGlzKS5zdGFja05hbWUsXG4gICAgICBwYXJhbWV0ZXJHcm91cCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIGNvbnN0IHBnc3RhY192ZXJzaW9uID0gcHJvcHMucGdzdGFjVmVyc2lvbiB8fCBERUZBVUxUX1BHU1RBQ19WRVJTSU9OO1xuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgYXdzX2xhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogYXdzX2xhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgaGFuZGxlcjogXCJoYW5kbGVyLmhhbmRsZXJcIixcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICBjb2RlOiBhd3NfbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKF9fZGlybmFtZSwge1xuICAgICAgICBmaWxlOiBcImJvb3RzdHJhcHBlcl9ydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgICAgUFlUSE9OX1ZFUlNJT046IFwiMy4xMVwiLFxuICAgICAgICAgIFBHU1RBQ19WRVJTSU9OOiBwZ3N0YWNfdmVyc2lvbixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBoYXNWcGModGhpcy5kYikgPyB0aGlzLmRiLnZwYyA6IHByb3BzLnZwYyxcbiAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsXG4gICAgICAuLi5wcm9wcy5ib290c3RyYXBwZXJMYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBnc3RhY1NlY3JldCA9IG5ldyBzZWNyZXRzbWFuYWdlci5TZWNyZXQodGhpcywgXCJib290c3RyYXBwZXJzZWNyZXRcIiwge1xuICAgICAgc2VjcmV0TmFtZTogW1xuICAgICAgICBwcm9wcy5zZWNyZXRzUHJlZml4IHx8IFwicGdzdGFjXCIsXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLm5vZGUuYWRkci5zbGljZSgtOCksXG4gICAgICBdLmpvaW4oXCIvXCIpLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkYm5hbWU6IHByb3BzLnBnc3RhY0RiTmFtZSB8fCBcInBnc3RhY1wiLFxuICAgICAgICAgIGVuZ2luZTogXCJwb3N0Z3Jlc1wiLFxuICAgICAgICAgIHBvcnQ6IDU0MzIsXG4gICAgICAgICAgaG9zdDogdGhpcy5kYi5pbnN0YW5jZUVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5wZ3N0YWNVc2VybmFtZSB8fCBcInBnc3RhY191c2VyXCIsXG4gICAgICAgIH0pLFxuICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiLFxuICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IGBQZ1NUQUMgZGF0YWJhc2UgYm9vdHN0cmFwcGVkIGJ5ICR7XG4gICAgICAgIFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZVxuICAgICAgfWAsXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBsYW1iZGEgdG8uLi5cbiAgICAvLyByZWFkIG5ldyB1c2VyIHNlY3JldFxuICAgIHRoaXMucGdzdGFjU2VjcmV0LmdyYW50UmVhZChoYW5kbGVyKTtcbiAgICAvLyByZWFkIGRhdGFiYXNlIHNlY3JldFxuICAgIHRoaXMuZGIuc2VjcmV0IS5ncmFudFJlYWQoaGFuZGxlcik7XG4gICAgLy8gY29ubmVjdCB0byBkYXRhYmFzZVxuICAgIHRoaXMuZGIuY29ubmVjdGlvbnMuYWxsb3dGcm9tKGhhbmRsZXIsIGVjMi5Qb3J0LnRjcCg1NDMyKSk7XG5cbiAgICBsZXQgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID1cbiAgICAgIHByb3BzLmN1c3RvbVJlc291cmNlUHJvcGVydGllc1xuICAgICAgICA/IHsgLi4uZGVmYXVsdFBnU1RBQ0N1c3RvbU9wdGlvbnMsIC4uLnByb3BzLmN1c3RvbVJlc291cmNlUHJvcGVydGllcyB9XG4gICAgICAgIDogZGVmYXVsdFBnU1RBQ0N1c3RvbU9wdGlvbnM7XG5cbiAgICAvLyB1cGRhdGUgcHJvcGVydGllc1xuICAgIGN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImNvbm5fc2VjcmV0X2FyblwiXSA9IHRoaXMuZGIuc2VjcmV0IS5zZWNyZXRBcm47XG4gICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wibmV3X3VzZXJfc2VjcmV0X2FyblwiXSA9XG4gICAgICB0aGlzLnBnc3RhY1NlY3JldC5zZWNyZXRBcm47XG5cbiAgICAvLyBpZiBwcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMgZG9lc24ndCBoYXZlICdjb2RlJyBkZWZpbmVkLCB1cGRhdGUgcGdzdGFjX3ZlcnNpb24gKG5lZWRlZCBmb3IgZGVmYXVsdCBydW50aW1lKVxuICAgIGlmICghcHJvcHMuYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zPy5jb2RlKSB7XG4gICAgICBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXNbXCJwZ3N0YWNfdmVyc2lvblwiXSA9IHBnc3RhY192ZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIGFkZCB0aW1lc3RhbXAgdG8gcHJvcGVydGllcyB0byBlbnN1cmUgdGhlIExhbWJkYSBnZXRzIHJlLWV4ZWN1dGVkIG9uIGVhY2ggZGVwbG95XG4gICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1widGltZXN0YW1wXCJdID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuXG4gICAgY29uc3QgYm9vdHN0cmFwcGVyID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiYm9vdHN0cmFwcGVyXCIsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogaGFuZGxlci5mdW5jdGlvbkFybixcbiAgICAgIHByb3BlcnRpZXM6IGN1c3RvbVJlc291cmNlUHJvcGVydGllcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuUkVUQUlOLCAvLyBUaGlzIHJldGFpbnMgdGhlIGN1c3RvbSByZXNvdXJjZSAod2hpY2ggZG9lc24ndCByZWFsbHkgZXhpc3QpLCBub3QgdGhlIGRhdGFiYXNlXG4gICAgfSk7XG5cbiAgICAvLyBQZ0JvdW5jZXI6IGNvbm5lY3Rpb24gcG9vbGVyY3VzdG9tcmVzb3VyY2UgdHJpZ2dlciBvbiByZWRlcGxveVxuICAgIGNvbnN0IGFkZFBnYm91bmNlciA9IHByb3BzLmFkZFBnYm91bmNlciA/PyB0cnVlO1xuICAgIGlmIChhZGRQZ2JvdW5jZXIpIHtcbiAgICAgIHRoaXMuX3BnQm91bmNlclNlcnZlciA9IG5ldyBQZ0JvdW5jZXIodGhpcywgXCJwZ2JvdW5jZXJcIiwge1xuICAgICAgICBpbnN0YW5jZU5hbWU6IGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tcGdib3VuY2VyYCxcbiAgICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLlQzLFxuICAgICAgICAgIGVjMi5JbnN0YW5jZVNpemUuTUlDUk9cbiAgICAgICAgKSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRhdGFiYXNlOiB7XG4gICAgICAgICAgY29ubmVjdGlvbnM6IHRoaXMuZGIuY29ubmVjdGlvbnMsXG4gICAgICAgICAgc2VjcmV0OiB0aGlzLnBnc3RhY1NlY3JldCxcbiAgICAgICAgfSxcbiAgICAgICAgZGJNYXhDb25uZWN0aW9uczogcGFyc2VJbnQoZGVmYXVsdFBhcmFtZXRlcnMubWF4Q29ubmVjdGlvbnMpLFxuICAgICAgICB1c2VQdWJsaWNTdWJuZXQ6XG4gICAgICAgICAgIXByb3BzLnZwY1N1Ym5ldHMgfHxcbiAgICAgICAgICBwcm9wcy52cGNTdWJuZXRzLnN1Ym5ldFR5cGUgPT09IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyxcbiAgICAgICAgcGdCb3VuY2VyQ29uZmlnOiB7XG4gICAgICAgICAgcG9vbE1vZGU6IFwidHJhbnNhY3Rpb25cIixcbiAgICAgICAgICBtYXhDbGllbnRDb25uOiAxMDAwLFxuICAgICAgICAgIGRlZmF1bHRQb29sU2l6ZTogMjAsXG4gICAgICAgICAgbWluUG9vbFNpemU6IDEwLFxuICAgICAgICAgIHJlc2VydmVQb29sU2l6ZTogNSxcbiAgICAgICAgICByZXNlcnZlUG9vbFRpbWVvdXQ6IDUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fcGdCb3VuY2VyU2VydmVyLm5vZGUuYWRkRGVwZW5kZW5jeShib290c3RyYXBwZXIpO1xuXG4gICAgICB0aGlzLnBnc3RhY1NlY3JldCA9IHRoaXMuX3BnQm91bmNlclNlcnZlci5wZ2JvdW5jZXJTZWNyZXQ7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25UYXJnZXQgPSB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIuaW5zdGFuY2U7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIuc2VjdXJpdHlHcm91cDtcbiAgICAgIHRoaXMuc2VjcmV0Qm9vdHN0cmFwcGVyID0gdGhpcy5fcGdCb3VuY2VyU2VydmVyLnNlY3JldFVwZGF0ZUNvbXBsZXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25UYXJnZXQgPSB0aGlzLmRiO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKFxuICAgIGluc3RhbmNlVHlwZTogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM6IFBnU3RhY0RhdGFiYXNlUHJvcHNbXCJwYXJhbWV0ZXJzXCJdXG4gICk6IERhdGFiYXNlUGFyYW1ldGVycyB7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2xpL2lzc3Vlcy8xMjc5I2lzc3VlY29tbWVudC05MDkzMTgyMzZcbiAgICBjb25zdCBtZW1vcnlfaW5fa2IgPSBpbnN0YW5jZVNpemVzW2luc3RhbmNlVHlwZV0gKiAxMDI0O1xuXG4gICAgLy8gSXQncyBvbmx5IG5lY2Vzc2FyeSB0byBjb25zaWRlciBwYXNzZWQgaW4gcGFyYW1ldGVycyBmb3IgYW55IHZhbHVlIHRoYXQgdXNlZCB0b1xuICAgIC8vIGRlcml2ZSBzdWJzZXF1ZW50IHZhbHVlcy4gVmFsdWVzIHRoYXQgZG9uJ3QgaGF2ZSBkZXBlbmRlbmNpZXMgd2lsbCBiZSBvdmVycmlkZW5cbiAgICAvLyB3aGVuIHdlIHVucGFjayB0aGUgcGFzc2VkLWluIHVzZXIgcGFyYW1ldGVyc1xuICAgIGNvbnN0IG1heENvbm5lY3Rpb25zID0gcGFyYW1ldGVycz8ubWF4Q29ubmVjdGlvbnNcbiAgICAgID8gTnVtYmVyLnBhcnNlSW50KHBhcmFtZXRlcnMubWF4Q29ubmVjdGlvbnMpXG4gICAgICA6IC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25SRFMvbGF0ZXN0L1VzZXJHdWlkZS9DSEFQX0xpbWl0cy5odG1sI1JEU19MaW1pdHMuTWF4Q29ubmVjdGlvbnNcbiAgICAgICAgTWF0aC5taW4oTWF0aC5yb3VuZCgobWVtb3J5X2luX2tiICogMTAyNCkgLyA5NTMxMzkyKSwgNTAwMCk7XG4gICAgY29uc3Qgc2hhcmVkQnVmZmVycyA9IHBhcmFtZXRlcnM/LnNoYXJlZEJ1ZmVyc1xuICAgICAgPyBOdW1iZXIucGFyc2VJbnQocGFyYW1ldGVycy5zaGFyZWRCdWZlcnMpXG4gICAgICA6IE1hdGgucm91bmQoMC4yNSAqIG1lbW9yeV9pbl9rYik7XG5cbiAgICBjb25zdCBlZmZlY3RpdmVDYWNoZVNpemUgPSBNYXRoLnJvdW5kKDAuNzUgKiBtZW1vcnlfaW5fa2IpO1xuICAgIGNvbnN0IHdvcmtNZW0gPSBNYXRoLmZsb29yKHNoYXJlZEJ1ZmZlcnMgLyBtYXhDb25uZWN0aW9ucyk7XG4gICAgY29uc3QgbWFpbnRlbmFuY2VXb3JrTWVtID0gTWF0aC5yb3VuZCgwLjI1ICogc2hhcmVkQnVmZmVycyk7XG5cbiAgICBjb25zdCB0ZW1wQnVmZmVycyA9IDEyOCAqIDEwMjQ7XG4gICAgY29uc3Qgc2VxUGFnZUNvc3QgPSAxO1xuICAgIGNvbnN0IHJhbmRvbVBhZ2VDb3N0ID0gMS4xO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1heENvbm5lY3Rpb25zOiBgJHttYXhDb25uZWN0aW9uc31gLFxuICAgICAgc2hhcmVkQnVmZmVyczogYCR7c2hhcmVkQnVmZmVycyAvIDh9YCwgLy8gUmVwcmVzZW50ZWQgaW4gOGtiIGJsb2Nrc1xuICAgICAgZWZmZWN0aXZlQ2FjaGVTaXplOiBgJHtlZmZlY3RpdmVDYWNoZVNpemUgLyA4fWAsIC8vIFJlcHJlc2VudGVkIGluIDhrYiBibG9ja3NcbiAgICAgIHdvcmtNZW06IGAke3dvcmtNZW19YCxcbiAgICAgIG1haW50ZW5hbmNlV29ya01lbTogYCR7bWFpbnRlbmFuY2VXb3JrTWVtfWAsXG4gICAgICBtYXhMb2Nrc1BlclRyYW5zYWN0aW9uOiBcIjEwMjRcIixcbiAgICAgIHRlbXBCdWZmZXJzOiBgJHt0ZW1wQnVmZmVycyAvIDh9YCwgLy8gUmVwcmVzZW50ZWQgaW4gOGtiIGJsb2Nrc1xuICAgICAgc2VxUGFnZUNvc3Q6IGAke3NlcVBhZ2VDb3N0fWAsXG4gICAgICByYW5kb21QYWdlQ29zdDogYCR7cmFuZG9tUGFnZUNvc3R9YCxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGdTdGFjRGF0YWJhc2VQcm9wcyBleHRlbmRzIHJkcy5EYXRhYmFzZUluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiBkYXRhYmFzZSB0aGF0IGlzIHRvIGJlIGNyZWF0ZWQgYW5kIG9udG8gd2hpY2ggcGdTVEFDIHdpbGwgYmUgaW5zdGFsbGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY0RiTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBwZ3N0YWMgdG8gaW5zdGFsbCBvbiB0aGUgZGF0YWJhc2VcbiAgICpcbiAgICogQGRlZmF1bHQgMC44LjVcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByZWZpeCB0byBhc3NpZ24gdG8gdGhlIGdlbmVyYXRlZCBgc2VjcmV0c19tYW5hZ2VyLlNlY3JldGBcbiAgICpcbiAgICogQGRlZmF1bHQgcGdzdGFjXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHVzZXIgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgY29ubmVjdGluZyB0byB0aGUgcGdTVEFDIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNfdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjVXNlcm5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBwZ2JvdW5jZXIgaW5zdGFuY2UgZm9yIG1hbmFnaW5nIHRyYWZmaWMgdG8gdGhlIHBnU1RBQyBkYXRhYmFzZVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhZGRQZ2JvdW5jZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgZnVuY3Rpb24gQ3VzdG9tIFJlc291cmNlIHByb3BlcnRpZXMuIEEgY3VzdG9tIHJlc291cmNlIHByb3BlcnR5IGlzIGdvaW5nIHRvIGJlIGNyZWF0ZWRcbiAgICogdG8gdHJpZ2dlciB0aGUgYm9vc3RyYXBwaW5nIGxhbWJkYSBmdW5jdGlvbi4gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgYWRkaXRpb25hbCBwcm9wZXJ0aWVzXG4gICAqIG9uIHRvcCBvZiB0aGUgZGVmYXVsdHMgb25lcy5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUHJvcGVydGllcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcHBlckxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQYXJhbWV0ZXJzIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gTEVBU1Qoe0RCSW5zdGFuY2VDbGFzc01lbW9yeS85NTMxMzkyfSwgNTAwMClcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbm5lY3Rpb25zOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vdGU6IFRoaXMgdmFsdWUgaXMgbWVhc3VyZWQgaW4gOEtCIGJsb2Nrcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3tEQkluc3RhbmNlQ2xhc3NNZW1vcnkvMzI3Njh9JyAyNSUgb2YgaW5zdGFuY2UgbWVtb3J5LCBpZSBgeyhEQkluc3RhbmNlQ2xhc3NNZW1vcnkvKDEwMjQqOCkpICogMC4yNX1gXG4gICAqL1xuICByZWFkb25seSBzaGFyZWRCdWZmZXJzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gNzUlIG9mIGluc3RhbmNlIG1lbW9yeVxuICAgKi9cbiAgcmVhZG9ubHkgZWZmZWN0aXZlQ2FjaGVTaXplOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gc2hhcmVkIGJ1ZmZlcnMgZGl2aWRlZCBieSBtYXggY29ubmVjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtNZW06IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSAyNSUgb2Ygc2hhcmVkIGJ1ZmZlcnNcbiAgICovXG4gIHJlYWRvbmx5IG1haW50ZW5hbmNlV29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAxMDI0XG4gICAqL1xuICByZWFkb25seSBtYXhMb2Nrc1BlclRyYW5zYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEzMTE3MiAoMTI4ICogMTAyNClcbiAgICovXG4gIHJlYWRvbmx5IHRlbXBCdWZmZXJzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IHNlcVBhZ2VDb3N0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEuMVxuICAgKi9cbiAgcmVhZG9ubHkgcmFuZG9tUGFnZUNvc3Q6IHN0cmluZztcbn1cbiJdfQ==
178
+ PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "8.0.2" };
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsb0NBQTZFO0FBQzdFLDJDQUF3QztBQUV4QyxNQUFNLGFBQWEsR0FBMkIsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFaEYsSUFBSSwwQkFBMEIsR0FBMkI7SUFDdkQsT0FBTyxFQUFFLE9BQU87SUFDaEIsWUFBWSxFQUFFLE1BQU07Q0FDckIsQ0FBQztBQUVGLFNBQVMsTUFBTSxDQUNiLFFBQXNEO0lBRXRELE9BQVEsUUFBaUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQzlELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFTM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDMUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxVQUFVLEVBQzVDLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFO2dCQUNWLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNqRCxjQUFjLEVBQUUsaUJBQWlCLENBQUMsYUFBYTtnQkFDL0Msb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2dCQUMxRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsT0FBTztnQkFDbkMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2dCQUMxRCx5QkFBeUIsRUFBRSxp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O1FBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUUzQixPQUFPO1lBQ0wsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1lBQ25DLGFBQWEsRUFBRSxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUUsRUFBRSw0QkFBNEI7WUFDbkUsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsRUFBRSw0QkFBNEI7WUFDN0UsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFO1lBQ3JCLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLEVBQUU7WUFDM0Msc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsNEJBQTRCO1lBQy9ELFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTtZQUM3QixjQUFjLEVBQUUsR0FBRyxjQUFjLEVBQUU7U0FDcEMsQ0FBQztJQUNKLENBQUM7O0FBNUxILHdDQTZMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YWNrLFxuICBhd3NfcmRzIGFzIHJkcyxcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzbWFuYWdlcixcbiAgYXdzX2xhbWJkYSxcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIFJlbW92YWxQb2xpY3ksXG4gIER1cmF0aW9uLFxuICBhd3NfbG9ncyxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcywgREVGQVVMVF9QR1NUQUNfVkVSU0lPTiB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgUGdCb3VuY2VyIH0gZnJvbSBcIi4vUGdCb3VuY2VyXCI7XG5cbmNvbnN0IGluc3RhbmNlU2l6ZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSByZXF1aXJlKFwiLi9pbnN0YW5jZS1tZW1vcnkuanNvblwiKTtcblxubGV0IGRlZmF1bHRQZ1NUQUNDdXN0b21PcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICBjb250ZXh0OiBcIkZBTFNFXCIsXG4gIG1vc2FpY19pbmRleDogXCJUUlVFXCIsXG59O1xuXG5mdW5jdGlvbiBoYXNWcGMoXG4gIGluc3RhbmNlOiByZHMuRGF0YWJhc2VJbnN0YW5jZSB8IHJkcy5JRGF0YWJhc2VJbnN0YW5jZVxuKTogaW5zdGFuY2UgaXMgcmRzLkRhdGFiYXNlSW5zdGFuY2Uge1xuICByZXR1cm4gKGluc3RhbmNlIGFzIHJkcy5EYXRhYmFzZUluc3RhbmNlKS52cGMgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbiBSRFMgaW5zdGFuY2Ugd2l0aCBwZ1NUQUMgaW5zdGFsbGVkLiBUaGlzIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBgcmRzLkRhdGFiYXNlSW5zdGFuY2VgIGhpZ2hlci1sZXZlbCBjb25zdHJ1Y3QgbWFraW5nIHVzZVxuICogb2YgdGhlIEJvb3RzdHJhcFBnU3RhYyBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQZ1N0YWNEYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGRiOiByZHMuRGF0YWJhc2VJbnN0YW5jZTtcbiAgcGdzdGFjU2VjcmV0OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuICBwcml2YXRlIF9wZ0JvdW5jZXJTZXJ2ZXI/OiBQZ0JvdW5jZXI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25UYXJnZXQ6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZSB8IGVjMi5JbnN0YW5jZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA/OiBlYzIuU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldEJvb3RzdHJhcHBlcj86IEN1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQZ1N0YWNEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlZmF1bHRQYXJhbWV0ZXJzID0gdGhpcy5nZXRQYXJhbWV0ZXJzKFxuICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpIHx8IFwibTUubGFyZ2VcIixcbiAgICAgIHByb3BzLnBhcmFtZXRlcnNcbiAgICApO1xuICAgIGNvbnN0IHBhcmFtZXRlckdyb3VwID0gbmV3IHJkcy5QYXJhbWV0ZXJHcm91cCh0aGlzLCBcInBhcmFtZXRlckdyb3VwXCIsIHtcbiAgICAgIGVuZ2luZTogcHJvcHMuZW5naW5lLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBtYXhfY29ubmVjdGlvbnM6IGRlZmF1bHRQYXJhbWV0ZXJzLm1heENvbm5lY3Rpb25zLFxuICAgICAgICBzaGFyZWRfYnVmZmVyczogZGVmYXVsdFBhcmFtZXRlcnMuc2hhcmVkQnVmZmVycyxcbiAgICAgICAgZWZmZWN0aXZlX2NhY2hlX3NpemU6IGRlZmF1bHRQYXJhbWV0ZXJzLmVmZmVjdGl2ZUNhY2hlU2l6ZSxcbiAgICAgICAgd29ya19tZW06IGRlZmF1bHRQYXJhbWV0ZXJzLndvcmtNZW0sXG4gICAgICAgIG1haW50ZW5hbmNlX3dvcmtfbWVtOiBkZWZhdWx0UGFyYW1ldGVycy5tYWludGVuYW5jZVdvcmtNZW0sXG4gICAgICAgIG1heF9sb2Nrc19wZXJfdHJhbnNhY3Rpb246IGRlZmF1bHRQYXJhbWV0ZXJzLm1heExvY2tzUGVyVHJhbnNhY3Rpb24sXG4gICAgICAgIHRlbXBfYnVmZmVyczogZGVmYXVsdFBhcmFtZXRlcnMudGVtcEJ1ZmZlcnMsXG4gICAgICAgIHNlcV9wYWdlX2Nvc3Q6IGRlZmF1bHRQYXJhbWV0ZXJzLnNlcVBhZ2VDb3N0LFxuICAgICAgICByYW5kb21fcGFnZV9jb3N0OiBkZWZhdWx0UGFyYW1ldGVycy5yYW5kb21QYWdlQ29zdCxcbiAgICAgICAgLi4ucHJvcHMucGFyYW1ldGVycyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRiID0gbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlKHRoaXMsIFwiZGJcIiwge1xuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBTdGFjay5vZih0aGlzKS5zdGFja05hbWUsXG4gICAgICBwYXJhbWV0ZXJHcm91cCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIGNvbnN0IHBnc3RhY192ZXJzaW9uID0gcHJvcHMucGdzdGFjVmVyc2lvbiB8fCBERUZBVUxUX1BHU1RBQ19WRVJTSU9OO1xuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgYXdzX2xhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogYXdzX2xhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgaGFuZGxlcjogXCJoYW5kbGVyLmhhbmRsZXJcIixcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICBjb2RlOiBhd3NfbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKF9fZGlybmFtZSwge1xuICAgICAgICBmaWxlOiBcImJvb3RzdHJhcHBlcl9ydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgICAgUFlUSE9OX1ZFUlNJT046IFwiMy4xMVwiLFxuICAgICAgICAgIFBHU1RBQ19WRVJTSU9OOiBwZ3N0YWNfdmVyc2lvbixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBoYXNWcGModGhpcy5kYikgPyB0aGlzLmRiLnZwYyA6IHByb3BzLnZwYyxcbiAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsXG4gICAgICAuLi5wcm9wcy5ib290c3RyYXBwZXJMYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBnc3RhY1NlY3JldCA9IG5ldyBzZWNyZXRzbWFuYWdlci5TZWNyZXQodGhpcywgXCJib290c3RyYXBwZXJzZWNyZXRcIiwge1xuICAgICAgc2VjcmV0TmFtZTogW1xuICAgICAgICBwcm9wcy5zZWNyZXRzUHJlZml4IHx8IFwicGdzdGFjXCIsXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLm5vZGUuYWRkci5zbGljZSgtOCksXG4gICAgICBdLmpvaW4oXCIvXCIpLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkYm5hbWU6IHByb3BzLnBnc3RhY0RiTmFtZSB8fCBcInBnc3RhY1wiLFxuICAgICAgICAgIGVuZ2luZTogXCJwb3N0Z3Jlc1wiLFxuICAgICAgICAgIHBvcnQ6IDU0MzIsXG4gICAgICAgICAgaG9zdDogdGhpcy5kYi5pbnN0YW5jZUVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5wZ3N0YWNVc2VybmFtZSB8fCBcInBnc3RhY191c2VyXCIsXG4gICAgICAgIH0pLFxuICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiLFxuICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IGBQZ1NUQUMgZGF0YWJhc2UgYm9vdHN0cmFwcGVkIGJ5ICR7XG4gICAgICAgIFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZVxuICAgICAgfWAsXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBsYW1iZGEgdG8uLi5cbiAgICAvLyByZWFkIG5ldyB1c2VyIHNlY3JldFxuICAgIHRoaXMucGdzdGFjU2VjcmV0LmdyYW50UmVhZChoYW5kbGVyKTtcbiAgICAvLyByZWFkIGRhdGFiYXNlIHNlY3JldFxuICAgIHRoaXMuZGIuc2VjcmV0IS5ncmFudFJlYWQoaGFuZGxlcik7XG4gICAgLy8gY29ubmVjdCB0byBkYXRhYmFzZVxuICAgIHRoaXMuZGIuY29ubmVjdGlvbnMuYWxsb3dGcm9tKGhhbmRsZXIsIGVjMi5Qb3J0LnRjcCg1NDMyKSk7XG5cbiAgICBsZXQgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID1cbiAgICAgIHByb3BzLmN1c3RvbVJlc291cmNlUHJvcGVydGllc1xuICAgICAgICA/IHsgLi4uZGVmYXVsdFBnU1RBQ0N1c3RvbU9wdGlvbnMsIC4uLnByb3BzLmN1c3RvbVJlc291cmNlUHJvcGVydGllcyB9XG4gICAgICAgIDogZGVmYXVsdFBnU1RBQ0N1c3RvbU9wdGlvbnM7XG5cbiAgICAvLyB1cGRhdGUgcHJvcGVydGllc1xuICAgIGN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImNvbm5fc2VjcmV0X2FyblwiXSA9IHRoaXMuZGIuc2VjcmV0IS5zZWNyZXRBcm47XG4gICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wibmV3X3VzZXJfc2VjcmV0X2FyblwiXSA9XG4gICAgICB0aGlzLnBnc3RhY1NlY3JldC5zZWNyZXRBcm47XG5cbiAgICAvLyBpZiBwcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMgZG9lc24ndCBoYXZlICdjb2RlJyBkZWZpbmVkLCB1cGRhdGUgcGdzdGFjX3ZlcnNpb24gKG5lZWRlZCBmb3IgZGVmYXVsdCBydW50aW1lKVxuICAgIGlmICghcHJvcHMuYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zPy5jb2RlKSB7XG4gICAgICBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXNbXCJwZ3N0YWNfdmVyc2lvblwiXSA9IHBnc3RhY192ZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIGFkZCB0aW1lc3RhbXAgdG8gcHJvcGVydGllcyB0byBlbnN1cmUgdGhlIExhbWJkYSBnZXRzIHJlLWV4ZWN1dGVkIG9uIGVhY2ggZGVwbG95XG4gICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1widGltZXN0YW1wXCJdID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuXG4gICAgY29uc3QgYm9vdHN0cmFwcGVyID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiYm9vdHN0cmFwcGVyXCIsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogaGFuZGxlci5mdW5jdGlvbkFybixcbiAgICAgIHByb3BlcnRpZXM6IGN1c3RvbVJlc291cmNlUHJvcGVydGllcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuUkVUQUlOLCAvLyBUaGlzIHJldGFpbnMgdGhlIGN1c3RvbSByZXNvdXJjZSAod2hpY2ggZG9lc24ndCByZWFsbHkgZXhpc3QpLCBub3QgdGhlIGRhdGFiYXNlXG4gICAgfSk7XG5cbiAgICAvLyBQZ0JvdW5jZXI6IGNvbm5lY3Rpb24gcG9vbGVyY3VzdG9tcmVzb3VyY2UgdHJpZ2dlciBvbiByZWRlcGxveVxuICAgIGNvbnN0IGFkZFBnYm91bmNlciA9IHByb3BzLmFkZFBnYm91bmNlciA/PyB0cnVlO1xuICAgIGlmIChhZGRQZ2JvdW5jZXIpIHtcbiAgICAgIHRoaXMuX3BnQm91bmNlclNlcnZlciA9IG5ldyBQZ0JvdW5jZXIodGhpcywgXCJwZ2JvdW5jZXJcIiwge1xuICAgICAgICBpbnN0YW5jZU5hbWU6IGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tcGdib3VuY2VyYCxcbiAgICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLlQzLFxuICAgICAgICAgIGVjMi5JbnN0YW5jZVNpemUuTUlDUk9cbiAgICAgICAgKSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRhdGFiYXNlOiB7XG4gICAgICAgICAgY29ubmVjdGlvbnM6IHRoaXMuZGIuY29ubmVjdGlvbnMsXG4gICAgICAgICAgc2VjcmV0OiB0aGlzLnBnc3RhY1NlY3JldCxcbiAgICAgICAgfSxcbiAgICAgICAgZGJNYXhDb25uZWN0aW9uczogcGFyc2VJbnQoZGVmYXVsdFBhcmFtZXRlcnMubWF4Q29ubmVjdGlvbnMpLFxuICAgICAgICB1c2VQdWJsaWNTdWJuZXQ6XG4gICAgICAgICAgIXByb3BzLnZwY1N1Ym5ldHMgfHxcbiAgICAgICAgICBwcm9wcy52cGNTdWJuZXRzLnN1Ym5ldFR5cGUgPT09IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyxcbiAgICAgICAgcGdCb3VuY2VyQ29uZmlnOiB7XG4gICAgICAgICAgcG9vbE1vZGU6IFwidHJhbnNhY3Rpb25cIixcbiAgICAgICAgICBtYXhDbGllbnRDb25uOiAxMDAwLFxuICAgICAgICAgIGRlZmF1bHRQb29sU2l6ZTogMjAsXG4gICAgICAgICAgbWluUG9vbFNpemU6IDEwLFxuICAgICAgICAgIHJlc2VydmVQb29sU2l6ZTogNSxcbiAgICAgICAgICByZXNlcnZlUG9vbFRpbWVvdXQ6IDUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fcGdCb3VuY2VyU2VydmVyLm5vZGUuYWRkRGVwZW5kZW5jeShib290c3RyYXBwZXIpO1xuXG4gICAgICB0aGlzLnBnc3RhY1NlY3JldCA9IHRoaXMuX3BnQm91bmNlclNlcnZlci5wZ2JvdW5jZXJTZWNyZXQ7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25UYXJnZXQgPSB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIuaW5zdGFuY2U7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIuc2VjdXJpdHlHcm91cDtcbiAgICAgIHRoaXMuc2VjcmV0Qm9vdHN0cmFwcGVyID0gdGhpcy5fcGdCb3VuY2VyU2VydmVyLnNlY3JldFVwZGF0ZUNvbXBsZXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25UYXJnZXQgPSB0aGlzLmRiO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKFxuICAgIGluc3RhbmNlVHlwZTogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM6IFBnU3RhY0RhdGFiYXNlUHJvcHNbXCJwYXJhbWV0ZXJzXCJdXG4gICk6IERhdGFiYXNlUGFyYW1ldGVycyB7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2xpL2lzc3Vlcy8xMjc5I2lzc3VlY29tbWVudC05MDkzMTgyMzZcbiAgICBjb25zdCBtZW1vcnlfaW5fa2IgPSBpbnN0YW5jZVNpemVzW2luc3RhbmNlVHlwZV0gKiAxMDI0O1xuXG4gICAgLy8gSXQncyBvbmx5IG5lY2Vzc2FyeSB0byBjb25zaWRlciBwYXNzZWQgaW4gcGFyYW1ldGVycyBmb3IgYW55IHZhbHVlIHRoYXQgdXNlZCB0b1xuICAgIC8vIGRlcml2ZSBzdWJzZXF1ZW50IHZhbHVlcy4gVmFsdWVzIHRoYXQgZG9uJ3QgaGF2ZSBkZXBlbmRlbmNpZXMgd2lsbCBiZSBvdmVycmlkZW5cbiAgICAvLyB3aGVuIHdlIHVucGFjayB0aGUgcGFzc2VkLWluIHVzZXIgcGFyYW1ldGVyc1xuICAgIGNvbnN0IG1heENvbm5lY3Rpb25zID0gcGFyYW1ldGVycz8ubWF4Q29ubmVjdGlvbnNcbiAgICAgID8gTnVtYmVyLnBhcnNlSW50KHBhcmFtZXRlcnMubWF4Q29ubmVjdGlvbnMpXG4gICAgICA6IC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25SRFMvbGF0ZXN0L1VzZXJHdWlkZS9DSEFQX0xpbWl0cy5odG1sI1JEU19MaW1pdHMuTWF4Q29ubmVjdGlvbnNcbiAgICAgICAgTWF0aC5taW4oTWF0aC5yb3VuZCgobWVtb3J5X2luX2tiICogMTAyNCkgLyA5NTMxMzkyKSwgNTAwMCk7XG4gICAgY29uc3Qgc2hhcmVkQnVmZmVycyA9IHBhcmFtZXRlcnM/LnNoYXJlZEJ1ZmVyc1xuICAgICAgPyBOdW1iZXIucGFyc2VJbnQocGFyYW1ldGVycy5zaGFyZWRCdWZlcnMpXG4gICAgICA6IE1hdGgucm91bmQoMC4yNSAqIG1lbW9yeV9pbl9rYik7XG5cbiAgICBjb25zdCBlZmZlY3RpdmVDYWNoZVNpemUgPSBNYXRoLnJvdW5kKDAuNzUgKiBtZW1vcnlfaW5fa2IpO1xuICAgIGNvbnN0IHdvcmtNZW0gPSBNYXRoLmZsb29yKHNoYXJlZEJ1ZmZlcnMgLyBtYXhDb25uZWN0aW9ucyk7XG4gICAgY29uc3QgbWFpbnRlbmFuY2VXb3JrTWVtID0gTWF0aC5yb3VuZCgwLjI1ICogc2hhcmVkQnVmZmVycyk7XG5cbiAgICBjb25zdCB0ZW1wQnVmZmVycyA9IDEyOCAqIDEwMjQ7XG4gICAgY29uc3Qgc2VxUGFnZUNvc3QgPSAxO1xuICAgIGNvbnN0IHJhbmRvbVBhZ2VDb3N0ID0gMS4xO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1heENvbm5lY3Rpb25zOiBgJHttYXhDb25uZWN0aW9uc31gLFxuICAgICAgc2hhcmVkQnVmZmVyczogYCR7c2hhcmVkQnVmZmVycyAvIDh9YCwgLy8gUmVwcmVzZW50ZWQgaW4gOGtiIGJsb2Nrc1xuICAgICAgZWZmZWN0aXZlQ2FjaGVTaXplOiBgJHtlZmZlY3RpdmVDYWNoZVNpemUgLyA4fWAsIC8vIFJlcHJlc2VudGVkIGluIDhrYiBibG9ja3NcbiAgICAgIHdvcmtNZW06IGAke3dvcmtNZW19YCxcbiAgICAgIG1haW50ZW5hbmNlV29ya01lbTogYCR7bWFpbnRlbmFuY2VXb3JrTWVtfWAsXG4gICAgICBtYXhMb2Nrc1BlclRyYW5zYWN0aW9uOiBcIjEwMjRcIixcbiAgICAgIHRlbXBCdWZmZXJzOiBgJHt0ZW1wQnVmZmVycyAvIDh9YCwgLy8gUmVwcmVzZW50ZWQgaW4gOGtiIGJsb2Nrc1xuICAgICAgc2VxUGFnZUNvc3Q6IGAke3NlcVBhZ2VDb3N0fWAsXG4gICAgICByYW5kb21QYWdlQ29zdDogYCR7cmFuZG9tUGFnZUNvc3R9YCxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGdTdGFjRGF0YWJhc2VQcm9wcyBleHRlbmRzIHJkcy5EYXRhYmFzZUluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiBkYXRhYmFzZSB0aGF0IGlzIHRvIGJlIGNyZWF0ZWQgYW5kIG9udG8gd2hpY2ggcGdTVEFDIHdpbGwgYmUgaW5zdGFsbGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY0RiTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBwZ3N0YWMgdG8gaW5zdGFsbCBvbiB0aGUgZGF0YWJhc2VcbiAgICpcbiAgICogQGRlZmF1bHQgMC44LjVcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByZWZpeCB0byBhc3NpZ24gdG8gdGhlIGdlbmVyYXRlZCBgc2VjcmV0c19tYW5hZ2VyLlNlY3JldGBcbiAgICpcbiAgICogQGRlZmF1bHQgcGdzdGFjXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHVzZXIgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgY29ubmVjdGluZyB0byB0aGUgcGdTVEFDIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNfdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjVXNlcm5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBwZ2JvdW5jZXIgaW5zdGFuY2UgZm9yIG1hbmFnaW5nIHRyYWZmaWMgdG8gdGhlIHBnU1RBQyBkYXRhYmFzZVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhZGRQZ2JvdW5jZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgZnVuY3Rpb24gQ3VzdG9tIFJlc291cmNlIHByb3BlcnRpZXMuIEEgY3VzdG9tIHJlc291cmNlIHByb3BlcnR5IGlzIGdvaW5nIHRvIGJlIGNyZWF0ZWRcbiAgICogdG8gdHJpZ2dlciB0aGUgYm9vc3RyYXBwaW5nIGxhbWJkYSBmdW5jdGlvbi4gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgYWRkaXRpb25hbCBwcm9wZXJ0aWVzXG4gICAqIG9uIHRvcCBvZiB0aGUgZGVmYXVsdHMgb25lcy5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUHJvcGVydGllcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcHBlckxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQYXJhbWV0ZXJzIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gTEVBU1Qoe0RCSW5zdGFuY2VDbGFzc01lbW9yeS85NTMxMzkyfSwgNTAwMClcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbm5lY3Rpb25zOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vdGU6IFRoaXMgdmFsdWUgaXMgbWVhc3VyZWQgaW4gOEtCIGJsb2Nrcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3tEQkluc3RhbmNlQ2xhc3NNZW1vcnkvMzI3Njh9JyAyNSUgb2YgaW5zdGFuY2UgbWVtb3J5LCBpZSBgeyhEQkluc3RhbmNlQ2xhc3NNZW1vcnkvKDEwMjQqOCkpICogMC4yNX1gXG4gICAqL1xuICByZWFkb25seSBzaGFyZWRCdWZmZXJzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gNzUlIG9mIGluc3RhbmNlIG1lbW9yeVxuICAgKi9cbiAgcmVhZG9ubHkgZWZmZWN0aXZlQ2FjaGVTaXplOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gc2hhcmVkIGJ1ZmZlcnMgZGl2aWRlZCBieSBtYXggY29ubmVjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtNZW06IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSAyNSUgb2Ygc2hhcmVkIGJ1ZmZlcnNcbiAgICovXG4gIHJlYWRvbmx5IG1haW50ZW5hbmNlV29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAxMDI0XG4gICAqL1xuICByZWFkb25seSBtYXhMb2Nrc1BlclRyYW5zYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEzMTE3MiAoMTI4ICogMTAyNClcbiAgICovXG4gIHJlYWRvbmx5IHRlbXBCdWZmZXJzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IHNlcVBhZ2VDb3N0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEuMVxuICAgKi9cbiAgcmVhZG9ubHkgcmFuZG9tUGFnZUNvc3Q6IHN0cmluZztcbn1cbiJdfQ==
@@ -57,15 +57,21 @@ export interface StacIngestorProps {
57
57
  */
58
58
  readonly ingestorDomainNameOptions?: apigateway.DomainNameOptions;
59
59
  /**
60
- * Can be used to override the default lambda function properties.
61
- *
62
- * @default - default settings are defined in the construct.
63
- */
60
+ * Can be used to override the default lambda function properties.
61
+ *
62
+ * @default - default settings are defined in the construct.
63
+ */
64
64
  readonly apiLambdaFunctionOptions?: CustomLambdaFunctionProps;
65
65
  /**
66
- * Can be used to override the default lambda function properties.
67
- *
68
- * @default - default settings are defined in the construct.
69
- */
66
+ * Can be used to override the default lambda function properties.
67
+ *
68
+ * @default - default settings are defined in the construct.
69
+ */
70
70
  readonly ingestorLambdaFunctionOptions?: CustomLambdaFunctionProps;
71
+ /**
72
+ * pgstac version - must match the version installed on the pgstac database
73
+ *
74
+ * @default - default settings are defined in the construct
75
+ */
76
+ readonly pgstacVersion?: string;
71
77
  }