eoapi-cdk 8.3.1 → 8.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -5472,7 +5472,7 @@
5472
5472
  },
5473
5473
  "locationInModule": {
5474
5474
  "filename": "lib/stac-loader/index.ts",
5475
- "line": 486
5475
+ "line": 487
5476
5476
  },
5477
5477
  "parameters": [
5478
5478
  {
@@ -5498,7 +5498,7 @@
5498
5498
  "kind": "class",
5499
5499
  "locationInModule": {
5500
5500
  "filename": "lib/stac-loader/index.ts",
5501
- "line": 485
5501
+ "line": 486
5502
5502
  },
5503
5503
  "name": "StacItemLoader",
5504
5504
  "symbolId": "lib/stac-loader/index:StacItemLoader"
@@ -5517,7 +5517,7 @@
5517
5517
  "kind": "interface",
5518
5518
  "locationInModule": {
5519
5519
  "filename": "lib/stac-loader/index.ts",
5520
- "line": 500
5520
+ "line": 501
5521
5521
  },
5522
5522
  "name": "StacItemLoaderProps",
5523
5523
  "symbolId": "lib/stac-loader/index:StacItemLoaderProps"
@@ -5526,7 +5526,7 @@
5526
5526
  "assembly": "eoapi-cdk",
5527
5527
  "base": "constructs.Construct",
5528
5528
  "docs": {
5529
- "remarks": "The StacLoader creates a serverless, event-driven system for loading\nSTAC (SpatioTemporal Asset Catalog) objects into a PostgreSQL database with\nthe pgstac extension. This construct supports multiple ingestion pathways\nfor flexible STAC object loading.\n\n## Architecture Overview\n\nThis construct creates the following AWS resources:\n- **SNS Topic**: Entry point for STAC objects and S3 event notifications\n- **SQS Queue**: Buffers and batches messages before processing (60-second visibility timeout)\n- **Dead Letter Queue**: Captures failed loading attempts after 5 retries\n- **Lambda Function**: Python function that processes batches and inserts objects into pgstac\n\n## Data Flow\n\nThe loader supports two primary data ingestion patterns:\n\n### Direct STAC Object Publishing\n1. STAC objects (JSON) are published directly to the SNS topic in message bodies\n2. The SQS queue collects messages and batches them (up to {batchSize} objects or 1 minute window)\n3. The Lambda function receives batches, validates objects, and inserts into pgstac\n\n### S3 Event-Driven Loading\n1. An S3 bucket is configured to send notifications to the SNS topic when json files are created\n2. STAC objects are uploaded to S3 buckets as JSON/GeoJSON files\n3. S3 event notifications are sent to the SNS topic when objects are uploaded\n4. The Lambda function receives S3 events in the SQS message batch, fetches objects from S3, and loads into pgstac\n\n## Batching Behavior\n\nThe SQS-to-Lambda integration uses intelligent batching to optimize performance:\n\n- **Batch Size**: Lambda waits to receive up to `batchSize` messages (default: 500)\n- **Batching Window**: If fewer than `batchSize` messages are available, Lambda\n triggers after `maxBatchingWindow` minutes (default: 1 minute)\n- **Trigger Condition**: Lambda executes when EITHER condition is met first\n- **Concurrency**: Limited to `maxConcurrency` concurrent executions to prevent database overload\n- **Partial Failures**: Uses `reportBatchItemFailures` to retry only failed objects\n\nThis approach balances throughput (larger batches = fewer database connections)\nwith latency (time-based triggers prevent indefinite waiting).\n\n## Error Handling and Dead Letter Queue\n\nFailed messages are sent to the dead letter queue after 5 processing attempts.\n**Important**: This construct provides NO automated handling of dead letter queue\nmessages - monitoring, inspection, and reprocessing of failed objects is the\nresponsibility of the implementing application.\n\nConsider implementing:\n- CloudWatch alarms on dead letter queue depth\n- Manual or automated reprocessing workflows\n- Logging and alerting for failed objects\n- Regular cleanup of old dead letter messages (14-day retention)\n\n## Operational Characteristics\n\n- **Scalability**: Lambda scales automatically based on queue depth\n- **Reliability**: Dead letter queue captures failures for debugging\n- **Efficiency**: Batching optimizes database operations for high throughput\n- **Security**: Database credentials accessed via AWS Secrets Manager\n- **Observability**: CloudWatch logs retained for one week\n\n## Prerequisites\n\nBefore using this construct, ensure:\n- The pgstac database has collections loaded (objects require existing collection IDs)\n- Database credentials are stored in AWS Secrets Manager\n- The pgstac extension is properly installed and configured\n\n## Usage Example\n\n```typescript\n// Create database first\nconst database = new PgStacDatabase(this, 'Database', {\n pgstacVersion: '0.9.5'\n});\n\n// Create Object loader\nconst loader = new StacLoader(this, 'StacLoader', {\n pgstacDb: database,\n batchSize: 1000, // Process up to 1000 objects per batch\n maxBatchingWindowMinutes: 1, // Wait max 1 minute to fill batch\n lambdaTimeoutSeconds: 300 // Allow up to 300 seconds for database operations\n});\n\n// The topic ARN can be used by other services to publish objects\nnew CfnOutput(this, 'LoaderTopicArn', {\n value: loader.topic.topicArn\n});\n```\n\n## Direct Object Publishing\n\nExternal services can publish STAC objects directly to the topic:\n\n```bash\naws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{\n \"id\": \"example-collection\",\n \"type\": \"Collection\",\n \"title\": \"Example Collection\",\n \"description\": \"An example collection\",\n \"license\": \"proprietary\",\n \"extent\": {\n \"spatial\": {\"bbox\": [[-180, -90, 180, 90]]},\n \"temporal\": {\"interval\": [[null, null]]},\n },\n \"stac_version\": \"1.1.0\",\n}'\n\naws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{\n \"type\": \"Feature\",\n \"stac_version\": \"1.0.0\",\n \"id\": \"example-item\",\n \"properties\": {\"datetime\": \"2021-01-01T00:00:00Z\"},\n \"geometry\": {\"type\": \"Polygon\", \"coordinates\": [...]},\n \"collection\": \"example-collection\"\n}'\n\n\n```\n\n## S3 Event Configuration\n\nTo enable S3 event-driven loading, configure S3 bucket notifications to send\nevents to the SNS topic when STAC objects (.json or .geojson files) are uploaded:\n\n```typescript\n// Configure S3 bucket to send notifications to the loader topic\nbucket.addEventNotification(\n s3.EventType.OBJECT_CREATED,\n new s3n.SnsDestination(loader.topic),\n { suffix: '.json' }\n);\n\nbucket.addEventNotification(\n s3.EventType.OBJECT_CREATED,\n new s3n.SnsDestination(loader.topic),\n { suffix: '.geojson' }\n);\n```\n\nWhen STAC objects are uploaded to the configured S3 bucket, the loader will:\n1. Receive S3 event notifications via SNS\n2. Fetch the STAC JSON from S3\n3. Validate and load the objects into the pgstac database\n\n## Monitoring and Troubleshooting\n\n- Monitor Lambda logs: `/aws/lambda/{FunctionName}`\n- **Dead Letter Queue**: Check for failed objects - **no automated handling provided**\n- Use batch objects failure reporting for partial batch processing\n- CloudWatch metrics available for queue depth and Lambda performance\n\n### Dead Letter Queue Management\n\nApplications must implement their own dead letter queue monitoring:\n\n```typescript\n// Example: CloudWatch alarm for dead letter queue depth\nnew cloudwatch.Alarm(this, 'DeadLetterAlarm', {\n metric: loader.deadLetterQueue.metricApproximateNumberOfVisibleMessages(),\n threshold: 1,\n evaluationPeriods: 1\n});\n\n// Example: Lambda to reprocess dead letter messages\nconst reprocessFunction = new lambda.Function(this, 'Reprocess', {\n // Implementation to fetch and republish failed messages\n});\n```",
5529
+ "remarks": "The StacLoader creates a serverless, event-driven system for loading\nSTAC (SpatioTemporal Asset Catalog) objects into a PostgreSQL database with\nthe pgstac extension. This construct supports multiple ingestion pathways\nfor flexible STAC object loading.\n\n## Architecture Overview\n\nThis construct creates the following AWS resources:\n- **SNS Topic**: Entry point for STAC objects and S3 event notifications\n- **SQS Queue**: Buffers and batches messages before processing (60-second visibility timeout)\n- **Dead Letter Queue**: Captures failed loading attempts after 5 retries\n- **Lambda Function**: Python function that processes batches and inserts objects into pgstac\n\n## Data Flow\n\nThe loader supports two primary data ingestion patterns:\n\n### Direct STAC Object Publishing\n1. STAC objects (JSON) are published directly to the SNS topic in message bodies\n2. The SQS queue collects messages and batches them (up to {batchSize} objects or 1 minute window)\n3. The Lambda function receives batches, validates objects, and inserts into pgstac\n\n### S3 Event-Driven Loading\n1. An S3 bucket is configured to send notifications to the SNS topic when json files are created\n2. STAC objects are uploaded to S3 buckets as JSON/GeoJSON files\n3. S3 event notifications are sent to the SNS topic when objects are uploaded\n4. The Lambda function receives S3 events in the SQS message batch, fetches objects from S3, and loads into pgstac\n\n## Batching Behavior\n\nThe SQS-to-Lambda integration uses intelligent batching to optimize performance:\n\n- **Batch Size**: Lambda waits to receive up to `batchSize` messages (default: 500)\n- **Batching Window**: If fewer than `batchSize` messages are available, Lambda\n triggers after `maxBatchingWindow` minutes (default: 1 minute)\n- **Trigger Condition**: Lambda executes when EITHER condition is met first\n- **Concurrency**: Limited to `maxConcurrency` concurrent executions to prevent database overload\n- **Partial Failures**: Uses `reportBatchItemFailures` to retry only failed objects\n\nThis approach balances throughput (larger batches = fewer database connections)\nwith latency (time-based triggers prevent indefinite waiting).\n\n## Error Handling and Dead Letter Queue\n\nFailed messages are sent to the dead letter queue after 5 processing attempts.\n**Important**: This construct provides NO automated handling of dead letter queue\nmessages - monitoring, inspection, and reprocessing of failed objects is the\nresponsibility of the implementing application.\n\nConsider implementing:\n- CloudWatch alarms on dead letter queue depth\n- Manual or automated reprocessing workflows\n- Logging and alerting for failed objects\n- Regular cleanup of old dead letter messages (14-day retention)\n\n## Operational Characteristics\n\n- **Scalability**: Lambda scales automatically based on queue depth\n- **Reliability**: Dead letter queue captures failures for debugging\n- **Efficiency**: Batching optimizes database operations for high throughput\n- **Security**: Database credentials accessed via AWS Secrets Manager\n- **Observability**: CloudWatch logs retained for one week\n\n## Prerequisites\n\nBefore using this construct, ensure:\n- The pgstac database has collections loaded (objects require existing collection IDs)\n- Database credentials are stored in AWS Secrets Manager\n- The pgstac extension is properly installed and configured\n\n## Usage Example\n\n```typescript\n// Create database first\nconst database = new PgStacDatabase(this, 'Database', {\n pgstacVersion: '0.9.5'\n});\n\n// Create Object loader\nconst loader = new StacLoader(this, 'StacLoader', {\n pgstacDb: database,\n batchSize: 1000, // Process up to 1000 objects per batch\n maxBatchingWindowMinutes: 1, // Wait max 1 minute to fill batch\n lambdaTimeoutSeconds: 300 // Allow up to 300 seconds for database operations\n});\n\n// The topic ARN can be used by other services to publish objects\nnew CfnOutput(this, 'LoaderTopicArn', {\n value: loader.topic.topicArn\n});\n```\n\n## Direct Object Publishing\n\nExternal services can publish STAC objects directly to the topic:\n\n```bash\naws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{\n \"id\": \"example-collection\",\n \"type\": \"Collection\",\n \"title\": \"Example Collection\",\n \"description\": \"An example collection\",\n \"license\": \"proprietary\",\n \"extent\": {\n \"spatial\": {\"bbox\": [[-180, -90, 180, 90]]},\n \"temporal\": {\"interval\": [[null, null]]}\n },\n \"stac_version\": \"1.1.0\",\n \"links\": []\n}'\n\naws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{\n \"type\": \"Feature\",\n \"stac_version\": \"1.0.0\",\n \"id\": \"example-item\",\n \"properties\": {\"datetime\": \"2021-01-01T00:00:00Z\"},\n \"geometry\": {\"type\": \"Polygon\", \"coordinates\": [...]},\n \"collection\": \"example-collection\"\n}'\n\n\n```\n\n## S3 Event Configuration\n\nTo enable S3 event-driven loading, configure S3 bucket notifications to send\nevents to the SNS topic when STAC objects (.json or .geojson files) are uploaded:\n\n```typescript\n// Configure S3 bucket to send notifications to the loader topic\nbucket.addEventNotification(\n s3.EventType.OBJECT_CREATED,\n new s3n.SnsDestination(loader.topic),\n { suffix: '.json' }\n);\n\nbucket.addEventNotification(\n s3.EventType.OBJECT_CREATED,\n new s3n.SnsDestination(loader.topic),\n { suffix: '.geojson' }\n);\n```\n\nWhen STAC objects are uploaded to the configured S3 bucket, the loader will:\n1. Receive S3 event notifications via SNS\n2. Fetch the STAC JSON from S3\n3. Validate and load the objects into the pgstac database\n\n## Monitoring and Troubleshooting\n\n- Monitor Lambda logs: `/aws/lambda/{FunctionName}`\n- **Dead Letter Queue**: Check for failed objects - **no automated handling provided**\n- Use batch objects failure reporting for partial batch processing\n- CloudWatch metrics available for queue depth and Lambda performance\n\n### Dead Letter Queue Management\n\nApplications must implement their own dead letter queue monitoring:\n\n```typescript\n// Example: CloudWatch alarm for dead letter queue depth\nnew cloudwatch.Alarm(this, 'DeadLetterAlarm', {\n metric: loader.deadLetterQueue.metricApproximateNumberOfVisibleMessages(),\n threshold: 1,\n evaluationPeriods: 1\n});\n\n// Example: Lambda to reprocess dead letter messages\nconst reprocessFunction = new lambda.Function(this, 'Reprocess', {\n // Implementation to fetch and republish failed messages\n});\n```",
5530
5530
  "stability": "experimental",
5531
5531
  "summary": "AWS CDK Construct for STAC Object Loading Infrastructure."
5532
5532
  },
@@ -5537,7 +5537,7 @@
5537
5537
  },
5538
5538
  "locationInModule": {
5539
5539
  "filename": "lib/stac-loader/index.ts",
5540
- "line": 381
5540
+ "line": 382
5541
5541
  },
5542
5542
  "parameters": [
5543
5543
  {
@@ -5563,7 +5563,7 @@
5563
5563
  "kind": "class",
5564
5564
  "locationInModule": {
5565
5565
  "filename": "lib/stac-loader/index.ts",
5566
- "line": 329
5566
+ "line": 330
5567
5567
  },
5568
5568
  "name": "StacLoader",
5569
5569
  "properties": [
@@ -5576,7 +5576,7 @@
5576
5576
  "immutable": true,
5577
5577
  "locationInModule": {
5578
5578
  "filename": "lib/stac-loader/index.ts",
5579
- "line": 366
5579
+ "line": 367
5580
5580
  },
5581
5581
  "name": "deadLetterQueue",
5582
5582
  "type": {
@@ -5592,7 +5592,7 @@
5592
5592
  "immutable": true,
5593
5593
  "locationInModule": {
5594
5594
  "filename": "lib/stac-loader/index.ts",
5595
- "line": 379
5595
+ "line": 380
5596
5596
  },
5597
5597
  "name": "lambdaFunction",
5598
5598
  "type": {
@@ -5608,7 +5608,7 @@
5608
5608
  "immutable": true,
5609
5609
  "locationInModule": {
5610
5610
  "filename": "lib/stac-loader/index.ts",
5611
- "line": 349
5611
+ "line": 350
5612
5612
  },
5613
5613
  "name": "queue",
5614
5614
  "type": {
@@ -5624,7 +5624,7 @@
5624
5624
  "immutable": true,
5625
5625
  "locationInModule": {
5626
5626
  "filename": "lib/stac-loader/index.ts",
5627
- "line": 339
5627
+ "line": 340
5628
5628
  },
5629
5629
  "name": "topic",
5630
5630
  "type": {
@@ -5876,7 +5876,7 @@
5876
5876
  },
5877
5877
  "locationInModule": {
5878
5878
  "filename": "lib/stactools-item-generator/index.ts",
5879
- "line": 282
5879
+ "line": 283
5880
5880
  },
5881
5881
  "parameters": [
5882
5882
  {
@@ -5902,7 +5902,7 @@
5902
5902
  "kind": "class",
5903
5903
  "locationInModule": {
5904
5904
  "filename": "lib/stactools-item-generator/index.ts",
5905
- "line": 246
5905
+ "line": 247
5906
5906
  },
5907
5907
  "name": "StactoolsItemGenerator",
5908
5908
  "properties": [
@@ -5915,7 +5915,7 @@
5915
5915
  "immutable": true,
5916
5916
  "locationInModule": {
5917
5917
  "filename": "lib/stactools-item-generator/index.ts",
5918
- "line": 263
5918
+ "line": 264
5919
5919
  },
5920
5920
  "name": "deadLetterQueue",
5921
5921
  "type": {
@@ -5931,7 +5931,7 @@
5931
5931
  "immutable": true,
5932
5932
  "locationInModule": {
5933
5933
  "filename": "lib/stactools-item-generator/index.ts",
5934
- "line": 280
5934
+ "line": 281
5935
5935
  },
5936
5936
  "name": "lambdaFunction",
5937
5937
  "type": {
@@ -5947,7 +5947,7 @@
5947
5947
  "immutable": true,
5948
5948
  "locationInModule": {
5949
5949
  "filename": "lib/stactools-item-generator/index.ts",
5950
- "line": 254
5950
+ "line": 255
5951
5951
  },
5952
5952
  "name": "queue",
5953
5953
  "type": {
@@ -5963,7 +5963,7 @@
5963
5963
  "immutable": true,
5964
5964
  "locationInModule": {
5965
5965
  "filename": "lib/stactools-item-generator/index.ts",
5966
- "line": 271
5966
+ "line": 272
5967
5967
  },
5968
5968
  "name": "topic",
5969
5969
  "type": {
@@ -5986,7 +5986,7 @@
5986
5986
  "kind": "interface",
5987
5987
  "locationInModule": {
5988
5988
  "filename": "lib/stactools-item-generator/index.ts",
5989
- "line": 33
5989
+ "line": 34
5990
5990
  },
5991
5991
  "name": "StactoolsItemGeneratorProps",
5992
5992
  "properties": [
@@ -6000,7 +6000,7 @@
6000
6000
  "immutable": true,
6001
6001
  "locationInModule": {
6002
6002
  "filename": "lib/stactools-item-generator/index.ts",
6003
- "line": 119
6003
+ "line": 120
6004
6004
  },
6005
6005
  "name": "itemLoadTopicArn",
6006
6006
  "type": {
@@ -6018,7 +6018,7 @@
6018
6018
  "immutable": true,
6019
6019
  "locationInModule": {
6020
6020
  "filename": "lib/stactools-item-generator/index.ts",
6021
- "line": 101
6021
+ "line": 102
6022
6022
  },
6023
6023
  "name": "batchSize",
6024
6024
  "optional": true,
@@ -6036,7 +6036,7 @@
6036
6036
  "immutable": true,
6037
6037
  "locationInModule": {
6038
6038
  "filename": "lib/stactools-item-generator/index.ts",
6039
- "line": 110
6039
+ "line": 111
6040
6040
  },
6041
6041
  "name": "environment",
6042
6042
  "optional": true,
@@ -6059,7 +6059,7 @@
6059
6059
  "immutable": true,
6060
6060
  "locationInModule": {
6061
6061
  "filename": "lib/stactools-item-generator/index.ts",
6062
- "line": 126
6062
+ "line": 127
6063
6063
  },
6064
6064
  "name": "lambdaFunctionOptions",
6065
6065
  "optional": true,
@@ -6078,7 +6078,7 @@
6078
6078
  "immutable": true,
6079
6079
  "locationInModule": {
6080
6080
  "filename": "lib/stactools-item-generator/index.ts",
6081
- "line": 43
6081
+ "line": 44
6082
6082
  },
6083
6083
  "name": "lambdaRuntime",
6084
6084
  "optional": true,
@@ -6097,7 +6097,7 @@
6097
6097
  "immutable": true,
6098
6098
  "locationInModule": {
6099
6099
  "filename": "lib/stactools-item-generator/index.ts",
6100
- "line": 68
6100
+ "line": 69
6101
6101
  },
6102
6102
  "name": "lambdaTimeoutSeconds",
6103
6103
  "optional": true,
@@ -6116,7 +6116,7 @@
6116
6116
  "immutable": true,
6117
6117
  "locationInModule": {
6118
6118
  "filename": "lib/stactools-item-generator/index.ts",
6119
- "line": 90
6119
+ "line": 91
6120
6120
  },
6121
6121
  "name": "maxConcurrency",
6122
6122
  "optional": true,
@@ -6135,7 +6135,7 @@
6135
6135
  "immutable": true,
6136
6136
  "locationInModule": {
6137
6137
  "filename": "lib/stactools-item-generator/index.ts",
6138
- "line": 79
6138
+ "line": 80
6139
6139
  },
6140
6140
  "name": "memorySize",
6141
6141
  "optional": true,
@@ -6152,7 +6152,7 @@
6152
6152
  "immutable": true,
6153
6153
  "locationInModule": {
6154
6154
  "filename": "lib/stactools-item-generator/index.ts",
6155
- "line": 53
6155
+ "line": 54
6156
6156
  },
6157
6157
  "name": "subnetSelection",
6158
6158
  "optional": true,
@@ -6169,7 +6169,7 @@
6169
6169
  "immutable": true,
6170
6170
  "locationInModule": {
6171
6171
  "filename": "lib/stactools-item-generator/index.ts",
6172
- "line": 48
6172
+ "line": 49
6173
6173
  },
6174
6174
  "name": "vpc",
6175
6175
  "optional": true,
@@ -6651,6 +6651,6 @@
6651
6651
  "symbolId": "lib/titiler-pgstac-api/index:TitilerPgstacApiLambda"
6652
6652
  }
6653
6653
  },
6654
- "version": "8.3.1",
6655
- "fingerprint": "S6MAOnUJv/nQRtBM0Z5b3YMty+4EjFtlZNl3+J52Zys="
6654
+ "version": "8.3.3",
6655
+ "fingerprint": "uzBL6jB3H0DonhusId6/Iq+WJh0PLiuDlwZ2wd3spbo="
6656
6656
  }
@@ -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.3.1" };
161
+ BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "8.3.3" };
162
162
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFFdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpR0c7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUd4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUscUJBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ2pELFlBQVksRUFBRSxHQUFHLFNBQVMsZUFBZTtZQUN6QyxZQUFZLEVBQUUscUJBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUMvQixxQkFBRyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFDckMscUJBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QjtZQUNELFlBQVksRUFBRSxxQkFBRyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsVUFBVSxFQUFFLHFCQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYztnQkFDcEQsT0FBTyxFQUFFLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTTthQUN2QyxDQUFDO1lBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLHlCQUF5QixFQUFFLElBQUk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLHFCQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7Z0JBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7Z0JBQ3BDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQy9CLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDdEMscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUNsQixvQ0FBb0MsQ0FDckMsQ0FBQztRQUVGLGtDQUFrQztRQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ2pDLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbkIscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQ2pDLFlBQVksQ0FDYixDQUFDO1FBQ0osQ0FBQztRQUVELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDM0IsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsZUFBZTtnQkFDZiwrQkFBK0I7Z0JBQy9CLGVBQWU7YUFDaEI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7WUFDL0IsVUFBVSxFQUFFLEdBQUcsU0FBUyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUNILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUU7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JDLFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCO1NBQzlDLENBQUMsQ0FBQztRQUNILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUU7WUFDckQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCO1lBQzFDLFVBQVUsRUFBRSxHQUFHLFNBQVMsa0JBQWtCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBekVILGtDQTBFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YWNrLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19yZHMgYXMgcmRzLFxuICBDZm5PdXRwdXQsXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuLyoqXG4gKiBUaGUgZGF0YWJhc2UgaXMgbG9jYXRlZCBpbiBhbiBpc29sYXRlZCBzdWJuZXQsIG1lYW5pbmcgdGhhdCBpdCBpcyBub3QgYWNjZXNzaWJsZSBmcm9tIHRoZSBwdWJsaWMgaW50ZXJuZXQuIEFzIHN1Y2gsIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGFiYXNlIGRpcmVjdGx5LCBhIHVzZXIgbXVzdCB0dW5uZWwgdGhyb3VnaCBhIGJhc3Rpb24gaG9zdC5cbiAqXG4gKiAjIyMgQ29uZmlndXJpbmdcbiAqXG4gKiBUaGlzIGNvZGViYXNlIGNvbnRyb2xzIF93aG9fIGlzIGFsbG93ZWQgdG8gY29ubmVjdCB0byB0aGUgYmFzdGlvbiBob3N0LiBUaGlzIHJlcXVpcmVzIHR3byBzdGVwczpcbiAqXG4gKiAxLiBBZGRpbmcgdGhlIElQIGFkZHJlc3MgZnJvbSB3aGljaCB5b3UgYXJlIGNvbm5lY3RpbmcgdG8gdGhlIGBpcHY0QWxsb3dsaXN0YCBhcnJheVxuICogMS4gQ3JlYXRpbmcgYSBiYXN0aW9uIGhvc3Qgc3lzdGVtIHVzZXIgYnkgYWRkaW5nIHRoZSB1c2VyJ3MgY29uZmlndXJhdGlvbiBpbmZvcm0gdG8gYHVzZXJkYXRhLnlhbWxgXG4gKlxuICogIyMjIyBBZGRpbmcgYW4gSVAgYWRkcmVzcyB0byB0aGUgYGlwdjRBbGxvd2xpc3RgIGFycmF5XG4gKlxuICogVGhlIGBCYXN0aW9uSG9zdGAgY29uc3RydWN0IHRha2VzIGluIGFuIGBpcHY0QWxsb3dsaXN0YCBhcnJheSBhcyBhbiBhcmd1bWVudC4gRmluZCB5b3VyIElQIGFkZHJlc3MgKGVnIGBjdXJsIGFwaS5pcGlmeS5vcmdgKSBhbmQgYWRkIHRoYXQgdG8gdGhlIGFycmF5IGFsb25nIHdpdGggdGhlIHRyYWlsaW5nIENJRFIgYmxvY2sgKGxpa2VseSBgLzMyYCB0byBpbmRpY2F0ZSB0aGF0IHlvdSBhcmUgYWRkaW5nIGEgc2luZ2xlIElQIGFkZHJlc3MpLlxuICpcbiAqICMjIyMgQ3JlYXRpbmcgYSB1c2VyIHZpYSBgdXNlcmRhdGEueWFtbGBcbiAqXG4gKiBBZGQgYW4gZW50cnkgdG8gdGhlIGB1c2Vyc2AgYXJyYXkgd2l0aCBhIHVzZXJuYW1lIChsaWtlbHkgbWF0Y2hpbmcgeW91ciBsb2NhbCBzeXN0ZW1zIHVzZXJuYW1lLCB3aGljaCB5b3UgY2FuIGdldCBieSBydW5uaW5nIHRoZSBgd2hvYW1pYCBjb21tYW5kIGluIHlvdXIgdGVybWluYWwpIGFuZCBhIHB1YmxpYyBrZXkgKGxpa2VseSB5b3VyIGRlZmF1bHQgcHVibGljIGtleSwgd2hpY2ggeW91IGNhbiBnZXQgYnkgcnVubmluZyBgY2F0IH4vLnNzaC9pZF8qLnB1YmAgaW4geW91ciB0ZXJtaW5hbCkuXG4gKlxuICogIyMjIyBUaXBzICYgVHJpY2tzIHdoZW4gdXNpbmcgdGhlIEJhc3Rpb24gSG9zdFxuICpcbiAqICoqQ29ubmVjdGluZyB0byBSRFMgSW5zdGFuY2UgdmlhIFNTTSoqXG4gKlxuICogYGBgc2hcbiAqIGF3cyBzc20gc3RhcnQtc2Vzc2lvbiAtLXRhcmdldCAkSU5TVEFOQ0VfSUQgXFxcbiAqIC0tZG9jdW1lbnQtbmFtZSBBV1MtU3RhcnRQb3J0Rm9yd2FyZGluZ1Nlc3Npb25Ub1JlbW90ZUhvc3QgXFxcbiAqIC0tcGFyYW1ldGVycyAne1xuICogXCJob3N0XCI6IFtcbiAqIFwiZXhhbXBsZS1kYi5jNWFiY2RlZmdoaWoudXMtd2VzdC0yLnJkcy5hbWF6b25hd3MuY29tXCJcbiAqIF0sXG4gKiBcInBvcnROdW1iZXJcIjogW1xuICogXCI1NDMyXCJcbiAqIF0sXG4gKiBcImxvY2FsUG9ydE51bWJlclwiOiBbXG4gKiBcIjk5OTlcIlxuICogXVxuICogfScgXFxcbiAqIC0tcHJvZmlsZSAkQVdTX1BST0ZJTEVcbiAqIGBgYFxuICpcbiAqIGBgYHNoXG4gKiBwc3FsIC1oIGxvY2FsaG9zdCAtcCA5OTk5ICMgY29udGludWUgYWRkaW5nIHVzZXJuYW1lICgtVSkgYW5kIGRiICgtZCkgaGVyZS4uLlxuICogYGBgXG4gKlxuICogQ29ubmVjdCBkaXJlY3RseSB0byBCYXN0aW9uIEhvc3Q6XG4gKlxuICogYGBgc2hcbiAqIGF3cyBzc20gc3RhcnQtc2Vzc2lvbiAtLXRhcmdldCAkSU5TVEFOQ0VfSUQgLS1wcm9maWxlICRBV1NfUFJPRklMRVxuICogYGBgXG4gKlxuICogKipTZXR0aW5nIHVwIGFuIFNTSCB0dW5uZWwqKlxuICpcbiAqIEluIHlvdXIgYH4vLnNzaC9jb25maWdgIGZpbGUsIGFkZCBhbiBlbnRyeSBsaWtlOlxuICpcbiAqIGBgYFxuICogSG9zdCBkYi10dW5uZWxcbiAqIEhvc3RuYW1lIHt0aGUtYmFzdGlvbi1ob3N0LWFkZHJlc3N9XG4gKiBMb2NhbEZvcndhcmQgOTk5OSB7dGhlLWRiLWhvc3RuYW1lfTo1NDMyXG4gKiBgYGBcbiAqXG4gKiBUaGVuIGEgdHVubmVsIGNhbiBiZSBvcGVuZWQgdmlhOlxuICpcbiAqIGBgYFxuICogc3NoIC1OIGRiLXR1bm5lbFxuICogYGBgXG4gKlxuICogQW5kIGEgY29ubmVjdGlvbiB0byB0aGUgREIgY2FuIGJlIG1hZGUgdmlhOlxuICpcbiAqIGBgYFxuICogcHNxbCAtaCAxMjcuMC4wLjEgLXAgOTk5OSAtVSB7dXNlcm5hbWV9IC1kIHtkYXRhYmFzZX1cbiAqIGBgYFxuICpcbiAqICoqSGFuZGxpbmcgYFJFTU9URSBIT1NUIElERU5USUZJQ0FUSU9OIEhBUyBDSEFOR0VEIWAgZXJyb3IqKlxuICpcbiAqIElmIHlvdSd2ZSByZWRlcGxveWVkIGEgYmFzdGlvbiBob3N0IHRoYXQgeW91J3ZlIHByZXZpb3VzbHkgY29ubmVjdGVkIHRvLCB5b3UgbWF5IHNlZSBhbiBlcnJvciBsaWtlOlxuICpcbiAqIGBgYFxuICogQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBcbiAqIEAgICAgV0FSTklORzogUkVNT1RFIEhPU1QgSURFTlRJRklDQVRJT04gSEFTIENIQU5HRUQhICAgICBAXG4gKiBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFxuICogSVQgSVMgUE9TU0lCTEUgVEhBVCBTT01FT05FIElTIERPSU5HIFNPTUVUSElORyBOQVNUWSFcbiAqIFNvbWVvbmUgY291bGQgYmUgZWF2ZXNkcm9wcGluZyBvbiB5b3UgcmlnaHQgbm93IChtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2spIVxuICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0IGEgaG9zdCBrZXkgaGFzIGp1c3QgYmVlbiBjaGFuZ2VkLlxuICogVGhlIGZpbmdlcnByaW50IGZvciB0aGUgRUNEU0Ega2V5IHNlbnQgYnkgdGhlIHJlbW90ZSBob3N0IGlzXG4gKiBTSEEyNTY6bVBueEFPWFRwYjA2UEZnSTFRYzhUTVEyZTliN2dvVTh5Mk5kUzVoeklyOC5cbiAqIFBsZWFzZSBjb250YWN0IHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IuXG4gKiBBZGQgY29ycmVjdCBob3N0IGtleSBpbiAvVXNlcnMvdXNlcm5hbWUvLnNzaC9rbm93bl9ob3N0cyB0byBnZXQgcmlkIG9mIHRoaXMgbWVzc2FnZS5cbiAqIE9mZmVuZGluZyBFQ0RTQSBrZXkgaW4gL1VzZXJzL3VzZXJuYW1lLy5zc2gva25vd25faG9zdHM6MjhcbiAqIEVDRFNBIGhvc3Qga2V5IGZvciBlYzItMTItMzQtNTYtNzg5LnVzLXdlc3QtMi5jb21wdXRlLmFtYXpvbmF3cy5jb20gaGFzIGNoYW5nZWQgYW5kIHlvdSBoYXZlIHJlcXVlc3RlZCBzdHJpY3QgY2hlY2tpbmcuXG4gKiBIb3N0IGtleSB2ZXJpZmljYXRpb24gZmFpbGVkLlxuICogYGBgXG4gKlxuICogVGhpcyBpcyBkdWUgdG8gdGhlIHNlcnZlcidzIGZpbmdlcnByaW50IGNoYW5naW5nLiBXZSBjYW4gc2NydWIgdGhlIGZpbmdlcnByaW50IGZyb20gb3VyIHN5c3RlbSB3aXRoIGEgY29tbWFuZCBsaWtlOlxuICpcbiAqIGBgYFxuICogc3NoLWtleWdlbiAtUiAxMi4zNC41Ni43ODlcbiAqIGBgYFxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc3Rpb25Ib3N0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgaW5zdGFuY2U6IGVjMi5JbnN0YW5jZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzdGlvbkhvc3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IHN0YWNrTmFtZSB9ID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICAvLyBCdWlsZCBlYzIgaW5zdGFuY2VcbiAgICB0aGlzLmluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZSh0aGlzLCBcImJhc3Rpb24taG9zdFwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgICBpbnN0YW5jZU5hbWU6IGAke3N0YWNrTmFtZX0gYmFzdGlvbiBob3N0YCxcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFNF9HUkFWSVRPTixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5OQU5PXG4gICAgICApLFxuICAgICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4KHtcbiAgICAgICAgZ2VuZXJhdGlvbjogZWMyLkFtYXpvbkxpbnV4R2VuZXJhdGlvbi5BTUFaT05fTElOVVhfMixcbiAgICAgICAgY3B1VHlwZTogZWMyLkFtYXpvbkxpbnV4Q3B1VHlwZS5BUk1fNjQsXG4gICAgICB9KSxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICAgIHVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBc3NpZ24gZWxhc3RpYyBJUFxuICAgIGlmIChwcm9wcy5jcmVhdGVFbGFzdGljSXAgPz8gdHJ1ZSkge1xuICAgICAgbmV3IGVjMi5DZm5FSVAodGhpcywgXCJJUFwiLCB7XG4gICAgICAgIGluc3RhbmNlSWQ6IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgdGFnczogW3sga2V5OiBcIk5hbWVcIiwgdmFsdWU6IHN0YWNrTmFtZSB9XSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGJhc3Rpb24gaG9zdCB0byBjb25uZWN0IHRvIGRiXG4gICAgdGhpcy5pbnN0YW5jZS5jb25uZWN0aW9ucy5hbGxvd1RvKFxuICAgICAgcHJvcHMuZGIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0sXG4gICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICBcIkFsbG93IGNvbm5lY3Rpb24gZnJvbSBiYXN0aW9uIGhvc3RcIlxuICAgICk7XG5cbiAgICAvLyBBbGxvdyBJUCBhY2Nlc3MgdG8gYmFzdGlvbiBob3N0XG4gICAgZm9yIChjb25zdCBpcHY0IG9mIHByb3BzLmlwdjRBbGxvd2xpc3QpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuY29ubmVjdGlvbnMuYWxsb3dGcm9tKFxuICAgICAgICBlYzIuUGVlci5pcHY0KGlwdjQpLFxuICAgICAgICBlYzIuUG9ydC50Y3AocHJvcHMuc3NoUG9ydCB8fCAyMiksXG4gICAgICAgIFwiU1NIIEFjY2Vzc1wiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEludGVncmF0ZSB3aXRoIFNTTVxuICAgIHRoaXMuaW5zdGFuY2UuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJzc21tZXNzYWdlczoqXCIsXG4gICAgICAgICAgXCJzc206VXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvblwiLFxuICAgICAgICAgIFwiZWMybWVzc2FnZXM6KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtaWQtb3V0cHV0XCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBgJHtzdGFja05hbWV9LWluc3RhbmNlLWlkYCxcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtcHVibGljLWlwLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0lwLFxuICAgICAgZXhwb3J0TmFtZTogYCR7c3RhY2tOYW1lfS1pbnN0YW5jZS1wdWJsaWMtaXBgLFxuICAgIH0pO1xuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJpbnN0YW5jZS1wdWJsaWMtZG5zLW5hbWUtb3V0cHV0XCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlUHVibGljRG5zTmFtZSxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3N0YWNrTmFtZX0tcHVibGljLWRucy1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc3Rpb25Ib3N0UHJvcHMge1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlO1xuICByZWFkb25seSB1c2VyRGF0YTogZWMyLlVzZXJEYXRhO1xuICByZWFkb25seSBpcHY0QWxsb3dsaXN0OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc3NoUG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgYW4gZWxhc3RpYyBJUCBzaG91bGQgYmUgY3JlYXRlZCBmb3IgdGhlIGJhc3Rpb24gaG9zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUVsYXN0aWNJcD86IGJvb2xlYW47XG59XG4iXX0=
@@ -181,5 +181,5 @@ class PgStacDatabase extends constructs_1.Construct {
181
181
  }
182
182
  exports.PgStacDatabase = PgStacDatabase;
183
183
  _a = JSII_RTTI_SYMBOL_1;
184
- PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "8.3.1" };
184
+ PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "8.3.3" };
185
185
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsb0NBQTZFO0FBQzdFLDJDQUF3QztBQUV4QyxNQUFNLGFBQWEsR0FBMkIsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFaEYsSUFBSSwwQkFBMEIsR0FBMkI7SUFDdkQsT0FBTyxFQUFFLE9BQU87SUFDaEIsWUFBWSxFQUFFLE1BQU07Q0FDckIsQ0FBQztBQUVGLFNBQVMsTUFBTSxDQUNiLFFBQXNEO0lBRXRELE9BQVEsUUFBaUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQzlELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFVM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDMUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxVQUFVLEVBQzVDLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFO2dCQUNWLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNqRCxjQUFjLEVBQUUsaUJBQWlCLENBQUMsYUFBYTtnQkFDL0Msb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2dCQUMxRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsT0FBTztnQkFDbkMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2dCQUMxRCx5QkFBeUIsRUFBRSxp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QkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQztRQUU1RCxNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7UUFFM0IsT0FBTztZQUNMLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRTtZQUNuQyxhQUFhLEVBQUUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxFQUFFLEVBQUUsNEJBQTRCO1lBQ25FLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLEVBQUUsNEJBQTRCO1lBQzdFLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRTtZQUNyQixrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixFQUFFO1lBQzNDLHNCQUFzQixFQUFFLE1BQU07WUFDOUIsV0FBVyxFQUFFLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFBRSxFQUFFLDRCQUE0QjtZQUMvRCxXQUFXLEVBQUUsR0FBRyxXQUFXLEVBQUU7WUFDN0IsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDOztBQXJNSCx3Q0FzTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIGF3c19sYW1iZGEsXG4gIEN1c3RvbVJlc291cmNlLFxuICBSZW1vdmFsUG9saWN5LFxuICBEdXJhdGlvbixcbiAgYXdzX2xvZ3MsXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMsIERFRkFVTFRfUEdTVEFDX1ZFUlNJT04gfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFBnQm91bmNlciB9IGZyb20gXCIuL1BnQm91bmNlclwiO1xuXG5jb25zdCBpbnN0YW5jZVNpemVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0gcmVxdWlyZShcIi4vaW5zdGFuY2UtbWVtb3J5Lmpzb25cIik7XG5cbmxldCBkZWZhdWx0UGdTVEFDQ3VzdG9tT3B0aW9uczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgY29udGV4dDogXCJGQUxTRVwiLFxuICBtb3NhaWNfaW5kZXg6IFwiVFJVRVwiLFxufTtcblxuZnVuY3Rpb24gaGFzVnBjKFxuICBpbnN0YW5jZTogcmRzLkRhdGFiYXNlSW5zdGFuY2UgfCByZHMuSURhdGFiYXNlSW5zdGFuY2Vcbik6IGluc3RhbmNlIGlzIHJkcy5EYXRhYmFzZUluc3RhbmNlIHtcbiAgcmV0dXJuIChpbnN0YW5jZSBhcyByZHMuRGF0YWJhc2VJbnN0YW5jZSkudnBjICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQW4gUkRTIGluc3RhbmNlIHdpdGggcGdTVEFDIGluc3RhbGxlZC4gVGhpcyBpcyBhIHdyYXBwZXIgYXJvdW5kIHRoZVxuICogYHJkcy5EYXRhYmFzZUluc3RhbmNlYCBoaWdoZXItbGV2ZWwgY29uc3RydWN0IG1ha2luZyB1c2VcbiAqIG9mIHRoZSBCb290c3RyYXBQZ1N0YWMgY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgUGdTdGFjRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBkYjogcmRzLkRhdGFiYXNlSW5zdGFuY2U7XG4gIHBnc3RhY1NlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcbiAgcHJpdmF0ZSBfcGdCb3VuY2VyU2VydmVyPzogUGdCb3VuY2VyO1xuXG4gIHB1YmxpYyByZWFkb25seSBwZ3N0YWNWZXJzaW9uOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uVGFyZ2V0OiByZHMuSURhdGFiYXNlSW5zdGFuY2UgfCBlYzIuSW5zdGFuY2U7XG4gIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUdyb3VwPzogZWMyLlNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXRCb290c3RyYXBwZXI/OiBDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUGdTdGFjRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UGFyYW1ldGVycyA9IHRoaXMuZ2V0UGFyYW1ldGVycyhcbiAgICAgIHByb3BzLmluc3RhbmNlVHlwZT8udG9TdHJpbmcoKSB8fCBcIm01LmxhcmdlXCIsXG4gICAgICBwcm9wcy5wYXJhbWV0ZXJzXG4gICAgKTtcbiAgICBjb25zdCBwYXJhbWV0ZXJHcm91cCA9IG5ldyByZHMuUGFyYW1ldGVyR3JvdXAodGhpcywgXCJwYXJhbWV0ZXJHcm91cFwiLCB7XG4gICAgICBlbmdpbmU6IHByb3BzLmVuZ2luZSxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgbWF4X2Nvbm5lY3Rpb25zOiBkZWZhdWx0UGFyYW1ldGVycy5tYXhDb25uZWN0aW9ucyxcbiAgICAgICAgc2hhcmVkX2J1ZmZlcnM6IGRlZmF1bHRQYXJhbWV0ZXJzLnNoYXJlZEJ1ZmZlcnMsXG4gICAgICAgIGVmZmVjdGl2ZV9jYWNoZV9zaXplOiBkZWZhdWx0UGFyYW1ldGVycy5lZmZlY3RpdmVDYWNoZVNpemUsXG4gICAgICAgIHdvcmtfbWVtOiBkZWZhdWx0UGFyYW1ldGVycy53b3JrTWVtLFxuICAgICAgICBtYWludGVuYW5jZV93b3JrX21lbTogZGVmYXVsdFBhcmFtZXRlcnMubWFpbnRlbmFuY2VXb3JrTWVtLFxuICAgICAgICBtYXhfbG9ja3NfcGVyX3RyYW5zYWN0aW9uOiBkZWZhdWx0UGFyYW1ldGVycy5tYXhMb2Nrc1BlclRyYW5zYWN0aW9uLFxuICAgICAgICB0ZW1wX2J1ZmZlcnM6IGRlZmF1bHRQYXJhbWV0ZXJzLnRlbXBCdWZmZXJzLFxuICAgICAgICBzZXFfcGFnZV9jb3N0OiBkZWZhdWx0UGFyYW1ldGVycy5zZXFQYWdlQ29zdCxcbiAgICAgICAgcmFuZG9tX3BhZ2VfY29zdDogZGVmYXVsdFBhcmFtZXRlcnMucmFuZG9tUGFnZUNvc3QsXG4gICAgICAgIC4uLnByb3BzLnBhcmFtZXRlcnMsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5kYiA9IG5ldyByZHMuRGF0YWJhc2VJbnN0YW5jZSh0aGlzLCBcImRiXCIsIHtcbiAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogU3RhY2sub2YodGhpcykuc3RhY2tOYW1lLFxuICAgICAgcGFyYW1ldGVyR3JvdXAsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcblxuICAgIHRoaXMucGdzdGFjVmVyc2lvbiA9IHByb3BzLnBnc3RhY1ZlcnNpb24gfHwgREVGQVVMVF9QR1NUQUNfVkVSU0lPTjtcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgYXdzX2xhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogYXdzX2xhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgaGFuZGxlcjogXCJoYW5kbGVyLmhhbmRsZXJcIixcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICBjb2RlOiBhd3NfbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKF9fZGlybmFtZSwge1xuICAgICAgICBmaWxlOiBcImJvb3RzdHJhcHBlcl9ydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgICAgUFlUSE9OX1ZFUlNJT046IFwiMy4xMVwiLFxuICAgICAgICAgIFBHU1RBQ19WRVJTSU9OOiB0aGlzLnBnc3RhY1ZlcnNpb24sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHZwYzogaGFzVnBjKHRoaXMuZGIpID8gdGhpcy5kYi52cGMgOiBwcm9wcy52cGMsXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLFxuICAgICAgLi4ucHJvcHMuYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wZ3N0YWNTZWNyZXQgPSBuZXcgc2VjcmV0c21hbmFnZXIuU2VjcmV0KHRoaXMsIFwiYm9vdHN0cmFwcGVyc2VjcmV0XCIsIHtcbiAgICAgIHNlY3JldE5hbWU6IFtcbiAgICAgICAgcHJvcHMuc2VjcmV0c1ByZWZpeCB8fCBcInBnc3RhY1wiLFxuICAgICAgICBpZCxcbiAgICAgICAgdGhpcy5ub2RlLmFkZHIuc2xpY2UoLTgpLFxuICAgICAgXS5qb2luKFwiL1wiKSxcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGJuYW1lOiBwcm9wcy5wZ3N0YWNEYk5hbWUgfHwgXCJwZ3N0YWNcIixcbiAgICAgICAgICBlbmdpbmU6IFwicG9zdGdyZXNcIixcbiAgICAgICAgICBwb3J0OiA1NDMyLFxuICAgICAgICAgIGhvc3Q6IHRoaXMuZGIuaW5zdGFuY2VFbmRwb2ludC5ob3N0bmFtZSxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucGdzdGFjVXNlcm5hbWUgfHwgXCJwZ3N0YWNfdXNlclwiLFxuICAgICAgICB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIixcbiAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgUGdTVEFDIGRhdGFiYXNlIGJvb3RzdHJhcHBlZCBieSAke1xuICAgICAgICBTdGFjay5vZih0aGlzKS5zdGFja05hbWVcbiAgICAgIH1gLFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgbGFtYmRhIHRvLi4uXG4gICAgLy8gcmVhZCBuZXcgdXNlciBzZWNyZXRcbiAgICB0aGlzLnBnc3RhY1NlY3JldC5ncmFudFJlYWQoaGFuZGxlcik7XG4gICAgLy8gcmVhZCBkYXRhYmFzZSBzZWNyZXRcbiAgICB0aGlzLmRiLnNlY3JldCEuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuICAgIC8vIGNvbm5lY3QgdG8gZGF0YWJhc2VcbiAgICB0aGlzLmRiLmNvbm5lY3Rpb25zLmFsbG93RnJvbShoYW5kbGVyLCBlYzIuUG9ydC50Y3AoNTQzMikpO1xuXG4gICAgbGV0IGN1c3RvbVJlc291cmNlUHJvcGVydGllczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9XG4gICAgICBwcm9wcy5jdXN0b21SZXNvdXJjZVByb3BlcnRpZXNcbiAgICAgICAgPyB7IC4uLmRlZmF1bHRQZ1NUQUNDdXN0b21PcHRpb25zLCAuLi5wcm9wcy5jdXN0b21SZXNvdXJjZVByb3BlcnRpZXMgfVxuICAgICAgICA6IGRlZmF1bHRQZ1NUQUNDdXN0b21PcHRpb25zO1xuXG4gICAgLy8gdXBkYXRlIHByb3BlcnRpZXNcbiAgICBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXNbXCJjb25uX3NlY3JldF9hcm5cIl0gPSB0aGlzLmRiLnNlY3JldCEuc2VjcmV0QXJuO1xuICAgIGN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcIm5ld191c2VyX3NlY3JldF9hcm5cIl0gPVxuICAgICAgdGhpcy5wZ3N0YWNTZWNyZXQuc2VjcmV0QXJuO1xuXG4gICAgLy8gaWYgcHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zIGRvZXNuJ3QgaGF2ZSAnY29kZScgZGVmaW5lZCwgdXBkYXRlIHBnc3RhY192ZXJzaW9uIChuZWVkZWQgZm9yIGRlZmF1bHQgcnVudGltZSlcbiAgICBpZiAoIXByb3BzLmJvb3RzdHJhcHBlckxhbWJkYUZ1bmN0aW9uT3B0aW9ucz8uY29kZSkge1xuICAgICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wicGdzdGFjX3ZlcnNpb25cIl0gPSB0aGlzLnBnc3RhY1ZlcnNpb247XG4gICAgfVxuXG4gICAgLy8gYWRkIHRpbWVzdGFtcCB0byBwcm9wZXJ0aWVzIHRvIGVuc3VyZSB0aGUgTGFtYmRhIGdldHMgcmUtZXhlY3V0ZWQgb24gZWFjaCBkZXBsb3lcbiAgICBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXNbXCJ0aW1lc3RhbXBcIl0gPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG5cbiAgICBjb25zdCBib290c3RyYXBwZXIgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJib290c3RyYXBwZXJcIiwge1xuICAgICAgc2VydmljZVRva2VuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgcHJvcGVydGllczogY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5SRVRBSU4sIC8vIFRoaXMgcmV0YWlucyB0aGUgY3VzdG9tIHJlc291cmNlICh3aGljaCBkb2Vzbid0IHJlYWxseSBleGlzdCksIG5vdCB0aGUgZGF0YWJhc2VcbiAgICB9KTtcblxuICAgIC8vIFBnQm91bmNlcjogY29ubmVjdGlvbiBwb29sZXJjdXN0b21yZXNvdXJjZSB0cmlnZ2VyIG9uIHJlZGVwbG95XG4gICAgY29uc3QgZGVmYXVsdFBnYm91bmNlckluc3RhbmNlUHJvcHM6IFBhcnRpYWw8ZWMyLkluc3RhbmNlUHJvcHM+ID0ge1xuICAgICAgaW5zdGFuY2VOYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXBnYm91bmNlcmAsXG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLlQzLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLk1JQ1JPXG4gICAgICApLFxuICAgIH07XG4gICAgY29uc3QgYWRkUGdib3VuY2VyID0gcHJvcHMuYWRkUGdib3VuY2VyID8/IHRydWU7XG4gICAgaWYgKGFkZFBnYm91bmNlcikge1xuICAgICAgdGhpcy5fcGdCb3VuY2VyU2VydmVyID0gbmV3IFBnQm91bmNlcih0aGlzLCBcInBnYm91bmNlclwiLCB7XG4gICAgICAgIGluc3RhbmNlUHJvcHM6IHtcbiAgICAgICAgICAuLi5kZWZhdWx0UGdib3VuY2VySW5zdGFuY2VQcm9wcyxcbiAgICAgICAgICAuLi5wcm9wcy5wZ2JvdW5jZXJJbnN0YW5jZVByb3BzLFxuICAgICAgICB9LFxuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgZGF0YWJhc2U6IHtcbiAgICAgICAgICBjb25uZWN0aW9uczogdGhpcy5kYi5jb25uZWN0aW9ucyxcbiAgICAgICAgICBzZWNyZXQ6IHRoaXMucGdzdGFjU2VjcmV0LFxuICAgICAgICB9LFxuICAgICAgICBkYk1heENvbm5lY3Rpb25zOiBwYXJzZUludChkZWZhdWx0UGFyYW1ldGVycy5tYXhDb25uZWN0aW9ucyksXG4gICAgICAgIHVzZVB1YmxpY1N1Ym5ldDpcbiAgICAgICAgICAhcHJvcHMudnBjU3VibmV0cyB8fFxuICAgICAgICAgIHByb3BzLnZwY1N1Ym5ldHMuc3VibmV0VHlwZSA9PT0gZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgICBwZ0JvdW5jZXJDb25maWc6IHtcbiAgICAgICAgICBwb29sTW9kZTogXCJ0cmFuc2FjdGlvblwiLFxuICAgICAgICAgIG1heENsaWVudENvbm46IDEwMDAsXG4gICAgICAgICAgZGVmYXVsdFBvb2xTaXplOiAyMCxcbiAgICAgICAgICBtaW5Qb29sU2l6ZTogMTAsXG4gICAgICAgICAgcmVzZXJ2ZVBvb2xTaXplOiA1LFxuICAgICAgICAgIHJlc2VydmVQb29sVGltZW91dDogNSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIubm9kZS5hZGREZXBlbmRlbmN5KGJvb3RzdHJhcHBlcik7XG5cbiAgICAgIHRoaXMucGdzdGFjU2VjcmV0ID0gdGhpcy5fcGdCb3VuY2VyU2VydmVyLnBnYm91bmNlclNlY3JldDtcbiAgICAgIHRoaXMuY29ubmVjdGlvblRhcmdldCA9IHRoaXMuX3BnQm91bmNlclNlcnZlci5pbnN0YW5jZTtcbiAgICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHRoaXMuX3BnQm91bmNlclNlcnZlci5zZWN1cml0eUdyb3VwO1xuICAgICAgdGhpcy5zZWNyZXRCb290c3RyYXBwZXIgPSB0aGlzLl9wZ0JvdW5jZXJTZXJ2ZXIuc2VjcmV0VXBkYXRlQ29tcGxldGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblRhcmdldCA9IHRoaXMuZGI7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFBhcmFtZXRlcnMoXG4gICAgaW5zdGFuY2VUeXBlOiBzdHJpbmcsXG4gICAgcGFyYW1ldGVyczogUGdTdGFjRGF0YWJhc2VQcm9wc1tcInBhcmFtZXRlcnNcIl1cbiAgKTogRGF0YWJhc2VQYXJhbWV0ZXJzIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jbGkvaXNzdWVzLzEyNzkjaXNzdWVjb21tZW50LTkwOTMxODIzNlxuICAgIGNvbnN0IG1lbW9yeV9pbl9rYiA9IGluc3RhbmNlU2l6ZXNbaW5zdGFuY2VUeXBlXSAqIDEwMjQ7XG5cbiAgICAvLyBJdCdzIG9ubHkgbmVjZXNzYXJ5IHRvIGNvbnNpZGVyIHBhc3NlZCBpbiBwYXJhbWV0ZXJzIGZvciBhbnkgdmFsdWUgdGhhdCB1c2VkIHRvXG4gICAgLy8gZGVyaXZlIHN1YnNlcXVlbnQgdmFsdWVzLiBWYWx1ZXMgdGhhdCBkb24ndCBoYXZlIGRlcGVuZGVuY2llcyB3aWxsIGJlIG92ZXJyaWRlblxuICAgIC8vIHdoZW4gd2UgdW5wYWNrIHRoZSBwYXNzZWQtaW4gdXNlciBwYXJhbWV0ZXJzXG4gICAgY29uc3QgbWF4Q29ubmVjdGlvbnMgPSBwYXJhbWV0ZXJzPy5tYXhDb25uZWN0aW9uc1xuICAgICAgPyBOdW1iZXIucGFyc2VJbnQocGFyYW1ldGVycy5tYXhDb25uZWN0aW9ucylcbiAgICAgIDogLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblJEUy9sYXRlc3QvVXNlckd1aWRlL0NIQVBfTGltaXRzLmh0bWwjUkRTX0xpbWl0cy5NYXhDb25uZWN0aW9uc1xuICAgICAgICBNYXRoLm1pbihNYXRoLnJvdW5kKChtZW1vcnlfaW5fa2IgKiAxMDI0KSAvIDk1MzEzOTIpLCA1MDAwKTtcbiAgICBjb25zdCBzaGFyZWRCdWZmZXJzID0gcGFyYW1ldGVycz8uc2hhcmVkQnVmZXJzXG4gICAgICA/IE51bWJlci5wYXJzZUludChwYXJhbWV0ZXJzLnNoYXJlZEJ1ZmVycylcbiAgICAgIDogTWF0aC5yb3VuZCgwLjI1ICogbWVtb3J5X2luX2tiKTtcblxuICAgIGNvbnN0IGVmZmVjdGl2ZUNhY2hlU2l6ZSA9IE1hdGgucm91bmQoMC43NSAqIG1lbW9yeV9pbl9rYik7XG4gICAgY29uc3Qgd29ya01lbSA9IE1hdGguZmxvb3Ioc2hhcmVkQnVmZmVycyAvIG1heENvbm5lY3Rpb25zKTtcbiAgICBjb25zdCBtYWludGVuYW5jZVdvcmtNZW0gPSBNYXRoLnJvdW5kKDAuMjUgKiBzaGFyZWRCdWZmZXJzKTtcblxuICAgIGNvbnN0IHRlbXBCdWZmZXJzID0gMTI4ICogMTAyNDtcbiAgICBjb25zdCBzZXFQYWdlQ29zdCA9IDE7XG4gICAgY29uc3QgcmFuZG9tUGFnZUNvc3QgPSAxLjE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWF4Q29ubmVjdGlvbnM6IGAke21heENvbm5lY3Rpb25zfWAsXG4gICAgICBzaGFyZWRCdWZmZXJzOiBgJHtzaGFyZWRCdWZmZXJzIC8gOH1gLCAvLyBSZXByZXNlbnRlZCBpbiA4a2IgYmxvY2tzXG4gICAgICBlZmZlY3RpdmVDYWNoZVNpemU6IGAke2VmZmVjdGl2ZUNhY2hlU2l6ZSAvIDh9YCwgLy8gUmVwcmVzZW50ZWQgaW4gOGtiIGJsb2Nrc1xuICAgICAgd29ya01lbTogYCR7d29ya01lbX1gLFxuICAgICAgbWFpbnRlbmFuY2VXb3JrTWVtOiBgJHttYWludGVuYW5jZVdvcmtNZW19YCxcbiAgICAgIG1heExvY2tzUGVyVHJhbnNhY3Rpb246IFwiMTAyNFwiLFxuICAgICAgdGVtcEJ1ZmZlcnM6IGAke3RlbXBCdWZmZXJzIC8gOH1gLCAvLyBSZXByZXNlbnRlZCBpbiA4a2IgYmxvY2tzXG4gICAgICBzZXFQYWdlQ29zdDogYCR7c2VxUGFnZUNvc3R9YCxcbiAgICAgIHJhbmRvbVBhZ2VDb3N0OiBgJHtyYW5kb21QYWdlQ29zdH1gLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZ1N0YWNEYXRhYmFzZVByb3BzIGV4dGVuZHMgcmRzLkRhdGFiYXNlSW5zdGFuY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIGRhdGFiYXNlIHRoYXQgaXMgdG8gYmUgY3JlYXRlZCBhbmQgb250byB3aGljaCBwZ1NUQUMgd2lsbCBiZSBpbnN0YWxsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHBnc3RhY1xuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjRGJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHBnc3RhYyB0byBpbnN0YWxsIG9uIHRoZSBkYXRhYmFzZVxuICAgKlxuICAgKiBAZGVmYXVsdCAwLjguNVxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUHJlZml4IHRvIGFzc2lnbiB0byB0aGUgZ2VuZXJhdGVkIGBzZWNyZXRzX21hbmFnZXIuU2VjcmV0YFxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdXNlciB0aGF0IHdpbGwgYmUgZ2VuZXJhdGVkIGZvciBjb25uZWN0aW5nIHRvIHRoZSBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IHBnc3RhY191c2VyXG4gICAqL1xuICByZWFkb25seSBwZ3N0YWNVc2VybmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkIHBnYm91bmNlciBpbnN0YW5jZSBmb3IgbWFuYWdpbmcgdHJhZmZpYyB0byB0aGUgcGdTVEFDIGRhdGFiYXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFkZFBnYm91bmNlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgZm9yIHRoZSBwZ2JvdW5jZXIgZWMyIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBwZ2JvdW5jZXJJbnN0YW5jZVByb3BzPzogZWMyLkluc3RhbmNlUHJvcHMgfCBhbnk7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbiBDdXN0b20gUmVzb3VyY2UgcHJvcGVydGllcy4gQSBjdXN0b20gcmVzb3VyY2UgcHJvcGVydHkgaXMgZ29pbmcgdG8gYmUgY3JlYXRlZFxuICAgKiB0byB0cmlnZ2VyIHRoZSBib29zdHJhcHBpbmcgbGFtYmRhIGZ1bmN0aW9uLiBUaGlzIHBhcmFtZXRlciBhbGxvd3MgdGhlIHVzZXIgdG8gc3BlY2lmeSBhZGRpdGlvbmFsIHByb3BlcnRpZXNcbiAgICogb24gdG9wIG9mIHRoZSBkZWZhdWx0cyBvbmVzLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzPzoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgLSBMRUFTVCh7REJJbnN0YW5jZUNsYXNzTWVtb3J5Lzk1MzEzOTJ9LCA1MDAwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29ubmVjdGlvbnM6IHN0cmluZztcblxuICAvKipcbiAgICogTm90ZTogVGhpcyB2YWx1ZSBpcyBtZWFzdXJlZCBpbiA4S0IgYmxvY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAne0RCSW5zdGFuY2VDbGFzc01lbW9yeS8zMjc2OH0nIDI1JSBvZiBpbnN0YW5jZSBtZW1vcnksIGllIGB7KERCSW5zdGFuY2VDbGFzc01lbW9yeS8oMTAyNCo4KSkgKiAwLjI1fWBcbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSA3NSUgb2YgaW5zdGFuY2UgbWVtb3J5XG4gICAqL1xuICByZWFkb25seSBlZmZlY3RpdmVDYWNoZVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSBzaGFyZWQgYnVmZmVycyBkaXZpZGVkIGJ5IG1heCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIDI1JSBvZiBzaGFyZWQgYnVmZmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgbWFpbnRlbmFuY2VXb3JrTWVtOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEwMjRcbiAgICovXG4gIHJlYWRvbmx5IG1heExvY2tzUGVyVHJhbnNhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMTMxMTcyICgxMjggKiAxMDI0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgc2VxUGFnZUNvc3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMS4xXG4gICAqL1xuICByZWFkb25seSByYW5kb21QYWdlQ29zdDogc3RyaW5nO1xufVxuIl19
@@ -179,5 +179,5 @@ class StacIngestor extends constructs_1.Construct {
179
179
  }
180
180
  exports.StacIngestor = StacIngestor;
181
181
  _a = JSII_RTTI_SYMBOL_1;
182
- StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "8.3.1" };
182
+ StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "8.3.3" };
183
183
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQWFxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsb0NBQTZFO0FBRTdFLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBSXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUvQixNQUFNLEdBQUcsR0FBMkI7WUFDbEMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUNwQyxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLEdBQUc7WUFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTztZQUM5QyxHQUFHLEtBQUssQ0FBQyxNQUFNO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkscUJBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3RELFdBQVcsRUFDVCxtSUFBbUk7WUFDckksU0FBUyxFQUFFLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxlQUFlLEVBQUU7Z0JBQ2YscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQ3hDLDBDQUEwQyxDQUMzQztnQkFDRCxxQkFBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsOENBQThDLENBQy9DO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNq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QUFDO0lBRU8sb0JBQW9CLENBQUMsS0FJNUI7UUFDQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxPQUFPLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQzVCLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsWUFBWSxFQUMzQztZQUNFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixhQUFhLEVBQUUsSUFBSSxrQkFBa0IsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3JELFdBQVcsRUFBRSxLQUFLLENBQUMsS0FBSztTQUN6QixDQUNGLENBQUM7SUFDSixDQUFDOztBQTVQSCxvQ0E2UEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfYXBpZ2F0ZXdheSBhcyBhcGlnYXRld2F5LFxuICBhd3NfZHluYW1vZGIgYXMgZHluYW1vZGIsXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19sb2dzLFxuICBhd3NfbGFtYmRhX2V2ZW50X3NvdXJjZXMgYXMgZXZlbnRzLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIGF3c19zc20gYXMgc3NtLFxuICBEdXJhdGlvbixcbiAgUmVtb3ZhbFBvbGljeSxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMsIERFRkFVTFRfUEdTVEFDX1ZFUlNJT04gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIFN0YWNJbmdlc3RvciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHRhYmxlOiBkeW5hbW9kYi5UYWJsZTtcbiAgcHVibGljIGhhbmRsZXJSb2xlOiBpYW0uUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhY0luZ2VzdG9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy50YWJsZSA9IHRoaXMuYnVpbGRUYWJsZSgpO1xuXG4gICAgY29uc3QgZW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgRFlOQU1PREJfVEFCTEU6IHRoaXMudGFibGUudGFibGVOYW1lLFxuICAgICAgUk9PVF9QQVRIOiBgLyR7cHJvcHMuc3RhZ2V9YCxcbiAgICAgIE5PX1BZREFOVElDX1NTTV9TRVRUSU5HUzogXCIxXCIsXG4gICAgICBTVEFDX1VSTDogcHJvcHMuc3RhY1VybCxcbiAgICAgIERBVEFfQUNDRVNTX1JPTEU6IHByb3BzLmRhdGFBY2Nlc3NSb2xlLnJvbGVBcm4sXG4gICAgICAuLi5wcm9wcy5hcGlFbnYsXG4gICAgfTtcblxuICAgIHRoaXMuaGFuZGxlclJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJleGVjdXRpb24tcm9sZVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSb2xlIHVzZWQgYnkgU1RBQyBJbmdlc3Rvci4gTWFudWFsbHkgZGVmaW5lZCBzbyB0aGF0IHdlIGNhbiBjaG9vc2UgYSBuYW1lIHRoYXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSBkYXRhIGFjY2VzcyByb2xlcyB0cnVzdCBwb2xpY3lcIixcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwibGFtYmRhLmFtYXpvbmF3cy5jb21cIiksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFxuICAgICAgICAgIFwic2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZVwiXG4gICAgICAgICksXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFWUENBY2Nlc3NFeGVjdXRpb25Sb2xlXCJcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5idWlsZEFwaUxhbWJkYSh7XG4gICAgICB0YWJsZTogdGhpcy50YWJsZSxcbiAgICAgIGVudixcbiAgICAgIGRhdGFBY2Nlc3NSb2xlOiBwcm9wcy5kYXRhQWNjZXNzUm9sZSxcbiAgICAgIHN0YWdlOiBwcm9wcy5zdGFnZSxcbiAgICAgIGRiU2VjcmV0OiBwcm9wcy5zdGFjRGJTZWNyZXQsXG4gICAgICBkYlZwYzogcHJvcHMudnBjLFxuICAgICAgZGJTZWN1cml0eUdyb3VwOiBwcm9wcy5zdGFjRGJTZWN1cml0eUdyb3VwLFxuICAgICAgc3VibmV0U2VsZWN0aW9uOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBsYW1iZGFGdW5jdGlvbk9wdGlvbnM6IHByb3BzLmFwaUxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICAgIHBnc3RhY1ZlcnNpb246IHByb3BzLnBnc3RhY1ZlcnNpb24sXG4gICAgfSk7XG5cbiAgICB0aGlzLmJ1aWxkQXBpRW5kcG9pbnQoe1xuICAgICAgaGFuZGxlcixcbiAgICAgIHN0YWdlOiBwcm9wcy5zdGFnZSxcbiAgICAgIGVuZHBvaW50Q29uZmlndXJhdGlvbjogcHJvcHMuYXBpRW5kcG9pbnRDb25maWd1cmF0aW9uLFxuICAgICAgcG9saWN5OiBwcm9wcy5hcGlQb2xpY3ksXG4gICAgICBpbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zOiBwcm9wcy5pbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5idWlsZEluZ2VzdG9yKHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZW52OiBlbnYsXG4gICAgICBkYlNlY3JldDogcHJvcHMuc3RhY0RiU2VjcmV0LFxuICAgICAgZGJWcGM6IHByb3BzLnZwYyxcbiAgICAgIGRiU2VjdXJpdHlHcm91cDogcHJvcHMuc3RhY0RiU2VjdXJpdHlHcm91cCxcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uLFxuICAgICAgbGFtYmRhRnVuY3Rpb25PcHRpb25zOiBwcm9wcy5pbmdlc3RvckxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICAgIHBnc3RhY1ZlcnNpb246IHByb3BzLnBnc3RhY1ZlcnNpb24sXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3NtUGFyYW1ldGVyKHtcbiAgICAgIG5hbWU6IFwiZHluYW1vZGJfdGFibGVcIixcbiAgICAgIHZhbHVlOiB0aGlzLnRhYmxlLnRhYmxlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGFibGUgdXNlZCB0byBzdG9yZSBpbmdlc3Rpb25zXCIsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGFibGUoKTogZHluYW1vZGIuVGFibGUge1xuICAgIGNvbnN0IHRhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHRoaXMsIFwiaW5nZXN0aW9ucy10YWJsZVwiLCB7XG4gICAgICBwYXJ0aXRpb25LZXk6IHsgbmFtZTogXCJjcmVhdGVkX2J5XCIsIHR5cGU6IGR5bmFtb2RiLkF0dHJpYnV0ZVR5cGUuU1RSSU5HIH0sXG4gICAgICBzb3J0S2V5OiB7IG5hbWU6IFwiaWRcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICAgIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBzdHJlYW06IGR5bmFtb2RiLlN0cmVhbVZpZXdUeXBlLk5FV19JTUFHRSxcbiAgICB9KTtcblxuICAgIHRhYmxlLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KHtcbiAgICAgIGluZGV4TmFtZTogXCJzdGF0dXNcIixcbiAgICAgIHBhcnRpdGlvbktleTogeyBuYW1lOiBcInN0YXR1c1wiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgICAgc29ydEtleTogeyBuYW1lOiBcImNyZWF0ZWRfYXRcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0YWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBcGlMYW1iZGEocHJvcHM6IHtcbiAgICB0YWJsZTogZHluYW1vZGIuSVRhYmxlO1xuICAgIGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBkYXRhQWNjZXNzUm9sZTogaWFtLklSb2xlO1xuICAgIHN0YWdlOiBzdHJpbmc7XG4gICAgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gICAgZGJWcGM6IHVuZGVmaW5lZCB8IGVjMi5JVnBjO1xuICAgIGRiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuICAgIHN1Ym5ldFNlbGVjdGlvbjogdW5kZWZpbmVkIHwgZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgICBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xuICAgIHBnc3RhY1ZlcnNpb24/OiBzdHJpbmc7XG4gIH0pOiBsYW1iZGEuRnVuY3Rpb24ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiYXBpLWhhbmRsZXJcIiwge1xuICAgICAgLy8gZGVmYXVsdHNcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgaGFuZGxlcjogXCJzcmMuaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgbG9nUmV0ZW50aW9uOiBhd3NfbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQoX19kaXJuYW1lLCB7XG4gICAgICAgIGZpbGU6IFwicnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBcIjMuMTFcIixcbiAgICAgICAgICBQR1NUQUNfVkVSU0lPTjogcHJvcHMucGdzdGFjVmVyc2lvbiB8fCBERUZBVUxUX1BHU1RBQ19WRVJTSU9OLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIHZwYzogcHJvcHMuZGJWcGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBlbnZpcm9ubWVudDogeyBEQl9TRUNSRVRfQVJOOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4sIC4uLnByb3BzLmVudiB9LFxuICAgICAgcm9sZTogdGhpcy5oYW5kbGVyUm9sZSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBoYW5kbGVyIHRvIHJlYWQgREIgc2VjcmV0XG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byBjb25uZWN0IHRvIERCXG5cbiAgICBpZiAocHJvcHMuZGJWcGMpIHtcbiAgICAgIHByb3BzLmRiU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgICAgaGFuZGxlci5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwc1swXSxcbiAgICAgICAgZWMyLlBvcnQudGNwKDU0MzIpLFxuICAgICAgICBcIkFsbG93IGNvbm5lY3Rpb25zIGZyb20gU1RBQyBJbmdlc3RvclwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHByb3BzLnRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShoYW5kbGVyKTtcblxuICAgIHJldHVybiBoYW5kbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEluZ2VzdG9yKHByb3BzOiB7XG4gICAgdGFibGU6IGR5bmFtb2RiLklUYWJsZTtcbiAgICBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gICAgZGJWcGM6IHVuZGVmaW5lZCB8IGVjMi5JVnBjO1xuICAgIGRiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuICAgIHN1Ym5ldFNlbGVjdGlvbjogdW5kZWZpbmVkIHwgZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgICBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xuICAgIHBnc3RhY1ZlcnNpb24/OiBzdHJpbmc7XG4gIH0pOiBsYW1iZGEuRnVuY3Rpb24ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwic3RhYy1pbmdlc3RvclwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTEsXG4gICAgICBoYW5kbGVyOiBcInNyYy5pbmdlc3Rvci5oYW5kbGVyXCIsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgbG9nUmV0ZW50aW9uOiBhd3NfbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygxODApLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKF9fZGlybmFtZSwge1xuICAgICAgICBmaWxlOiBcInJ1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgICBQWVRIT05fVkVSU0lPTjogXCIzLjExXCIsXG4gICAgICAgICAgUEdTVEFDX1ZFUlNJT046IHByb3BzLnBnc3RhY1ZlcnNpb24gfHwgREVGQVVMVF9QR1NUQUNfVkVSU0lPTixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBwcm9wcy5kYlZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgZW52aXJvbm1lbnQ6IHsgREJfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLCAuLi5wcm9wcy5lbnYgfSxcbiAgICAgIHJvbGU6IHRoaXMuaGFuZGxlclJvbGUsXG4gICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgLi4ucHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byByZWFkIERCIHNlY3JldFxuICAgIHByb3BzLmRiU2VjcmV0LmdyYW50UmVhZChoYW5kbGVyKTtcblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gY29ubmVjdCB0byBEQlxuICAgIGlmIChwcm9wcy5kYlZwYykge1xuICAgICAgcHJvcHMuZGJTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBoYW5kbGVyLmNvbm5lY3Rpb25zLnNlY3VyaXR5R3JvdXBzWzBdLFxuICAgICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICAgIFwiQWxsb3cgY29ubmVjdGlvbnMgZnJvbSBTVEFDIEluZ2VzdG9yXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byB3cml0ZSByZXN1bHRzIGJhY2sgdG8gREJcbiAgICBwcm9wcy50YWJsZS5ncmFudFdyaXRlRGF0YShoYW5kbGVyKTtcblxuICAgIC8vIFRyaWdnZXIgaGFuZGxlciBmcm9tIHdyaXRlcyB0byBEeW5hbW9EQiB0YWJsZVxuICAgIGhhbmRsZXIuYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgZXZlbnRzLkR5bmFtb0V2ZW50U291cmNlKHByb3BzLnRhYmxlLCB7XG4gICAgICAgIC8vIFJlYWQgd2hlbiBiYXRjaGVzIHJlYWNoIHNpemUuLi5cbiAgICAgICAgYmF0Y2hTaXplOiAxMDAwLFxuICAgICAgICAvLyAuLi4gb3Igd2hlbiB3aW5kb3cgaXMgcmVhY2hlZC5cbiAgICAgICAgbWF4QmF0Y2hpbmdXaW5kb3c6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgICAvLyBSZWFkIG9sZGVzdCBkYXRhIGZpcnN0LlxuICAgICAgICBzdGFydGluZ1Bvc2l0aW9uOiBsYW1iZGEuU3RhcnRpbmdQb3NpdGlvbi5UUklNX0hPUklaT04sXG4gICAgICAgIHJldHJ5QXR0ZW1wdHM6IDEsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBcGlFbmRwb2ludChwcm9wczoge1xuICAgIGhhbmRsZXI6IGxhbWJkYS5JRnVuY3Rpb247XG4gICAgc3RhZ2U6IHN0cmluZztcbiAgICBwb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG4gICAgZW5kcG9pbnRDb25maWd1cmF0aW9uPzogYXBpZ2F0ZXdheS5FbmRwb2ludENvbmZpZ3VyYXRpb247XG4gICAgaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucz86IGFwaWdhdGV3YXkuRG9tYWluTmFtZU9wdGlvbnM7XG4gIH0pOiBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkge1xuICAgIHJldHVybiBuZXcgYXBpZ2F0ZXdheS5MYW1iZGFSZXN0QXBpKFxuICAgICAgdGhpcyxcbiAgICAgIGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0taW5nZXN0b3ItYXBpYCxcbiAgICAgIHtcbiAgICAgICAgaGFuZGxlcjogcHJvcHMuaGFuZGxlcixcbiAgICAgICAgcHJveHk6IHRydWUsXG5cbiAgICAgICAgY2xvdWRXYXRjaFJvbGU6IHRydWUsXG4gICAgICAgIGRlcGxveU9wdGlvbnM6IHsgc3RhZ2VOYW1lOiBwcm9wcy5zdGFnZSB9LFxuICAgICAgICBlbmRwb2ludEV4cG9ydE5hbWU6IGAke1N0YWNrLm9mKHRoaXMpfS1pbmdlc3Rvci1hcGlgLFxuXG4gICAgICAgIGVuZHBvaW50Q29uZmlndXJhdGlvbjogcHJvcHMuZW5kcG9pbnRDb25maWd1cmF0aW9uLFxuICAgICAgICBwb2xpY3k6IHByb3BzLnBvbGljeSxcblxuICAgICAgICBkb21haW5OYW1lOiBwcm9wcy5pbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMuZG9tYWluTmFtZSxcbiAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJTc21QYXJhbWV0ZXIocHJvcHM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB9KTogc3NtLklTdHJpbmdQYXJhbWV0ZXIge1xuICAgIGNvbnN0IHBhcmFtZXRlck5hbWVzcGFjZSA9IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZTtcbiAgICByZXR1cm4gbmV3IHNzbS5TdHJpbmdQYXJhbWV0ZXIoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMubmFtZS5yZXBsYWNlKFwiX1wiLCBcIi1cIil9LXBhcmFtZXRlcmAsXG4gICAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgcGFyYW1ldGVyTmFtZTogYC8ke3BhcmFtZXRlck5hbWVzcGFjZX0vJHtwcm9wcy5uYW1lfWAsXG4gICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy52YWx1ZSxcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY0luZ2VzdG9yUHJvcHMge1xuICAvKipcbiAgICogQVJOIG9mIEFXUyBSb2xlIHVzZWQgdG8gdmFsaWRhdGUgYWNjZXNzIHRvIFMzIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFBY2Nlc3NSb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFVSTCBvZiBTVEFDIEFQSVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY1VybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdGFnZSBvZiBkZXBsb3ltZW50IChlLmcuIGBkZXZgLCBgcHJvZGApXG4gICAqL1xuICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBwZ1NUQUMgREIgY29ubmVjdGlvbiBpbmZvcm1hdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY0RiU2VjcmV0OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBWUEMgcnVubmluZyBwZ1NUQUMgREJcbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBHcm91cCB1c2VkIGJ5IHBnU1RBQyBEQlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY0RiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZCBpZiB1c2luZyBhIFZQQ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGJlIHNlbnQgdG8gTGFtYmRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQVBJIEVuZHBvaW50IENvbmZpZ3VyYXRpb24sIHVzZWZ1bCBmb3IgY3JlYXRpbmcgcHJpdmF0ZSBBUElzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW5kcG9pbnRDb25maWd1cmF0aW9uPzogYXBpZ2F0ZXdheS5FbmRwb2ludENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIEFQSSBQb2xpY3kgRG9jdW1lbnQsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgcHJpdmF0ZSBBUElzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpUG9saWN5PzogaWFtLlBvbGljeURvY3VtZW50O1xuXG4gIC8qKlxuICAgKiBDdXN0b20gRG9tYWluIE5hbWUgT3B0aW9ucyBmb3IgSW5nZXN0b3IgQVBJXG4gICAqL1xuICByZWFkb25seSBpbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zPzogYXBpZ2F0ZXdheS5Eb21haW5OYW1lT3B0aW9ucztcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBzZXR0aW5ncyBhcmUgZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBzZXR0aW5ncyBhcmUgZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5nZXN0b3JMYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBwZ3N0YWMgdmVyc2lvbiAtIG11c3QgbWF0Y2ggdGhlIHZlcnNpb24gaW5zdGFsbGVkIG9uIHRoZSBwZ3N0YWMgZGF0YWJhc2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IHNldHRpbmdzIGFyZSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY1ZlcnNpb24/OiBzdHJpbmc7XG59XG4iXX0=
@@ -92,5 +92,5 @@ class PgStacApiLambda extends constructs_1.Construct {
92
92
  }
93
93
  exports.PgStacApiLambda = PgStacApiLambda;
94
94
  _a = JSII_RTTI_SYMBOL_1;
95
- PgStacApiLambda[_a] = { fqn: "eoapi-cdk.PgStacApiLambda", version: "8.3.1" };
95
+ PgStacApiLambda[_a] = { fqn: "eoapi-cdk.PgStacApiLambda", version: "8.3.3" };
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBRWhCLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsV0FBVztJQUN0QixVQUFVLEVBQUUsWUFBWTtJQUN4QixpQkFBaUIsRUFBRSxtQkFBbUI7SUFDdEMsV0FBVyxFQUFFLGFBQWE7SUFDMUIsZ0JBQWdCLEVBQUUsbUJBQW1CO0NBQzdCLENBQUM7QUFJWDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsS0FBYTtJQUNyQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFZLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBSTVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGlCQUFpQixHQUFvQjtZQUN6QyxrQkFBVSxDQUFDLEtBQUs7WUFDaEIsa0JBQVUsQ0FBQyxJQUFJO1lBQ2Ysa0JBQVUsQ0FBQyxNQUFNO1lBQ2pCLGtCQUFVLENBQUMsTUFBTTtZQUNqQixrQkFBVSxDQUFDLFNBQVM7WUFDcEIsa0JBQVUsQ0FBQyxVQUFVO1lBQ3JCLGtCQUFVLENBQUMsaUJBQWlCO1NBQzdCLENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVCLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxH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eEIsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUNyQyxVQUFVLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU07WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbkdILDBDQW9HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YWNrLFxuICBhd3NfYXBpZ2F0ZXdheXYyIGFzIGFwaWdhdGV3YXl2MixcbiAgYXdzX2FwaWdhdGV3YXl2Ml9pbnRlZ3JhdGlvbnMgYXMgYXBpZ2F0ZXdheXYyX2ludGVncmF0aW9ucyxcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19yZHMgYXMgcmRzLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNtYW5hZ2VyLFxuICBDZm5PdXRwdXQsXG4gIER1cmF0aW9uLFxuICBhd3NfbG9ncyxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5leHBvcnQgY29uc3QgRVhURU5TSU9OUyA9IHtcbiAgUVVFUlk6IFwicXVlcnlcIixcbiAgU09SVDogXCJzb3J0XCIsXG4gIEZJRUxEUzogXCJmaWVsZHNcIixcbiAgRklMVEVSOiBcImZpbHRlclwiLFxuICBGUkVFX1RFWFQ6IFwiZnJlZV90ZXh0XCIsXG4gIFBBR0lOQVRJT046IFwicGFnaW5hdGlvblwiLFxuICBDT0xMRUNUSU9OX1NFQVJDSDogXCJjb2xsZWN0aW9uX3NlYXJjaFwiLFxuICBUUkFOU0FDVElPTjogXCJ0cmFuc2FjdGlvblwiLFxuICBCVUxLX1RSQU5TQUNUSU9OOiBcImJ1bGtfdHJhbnNhY3Rpb25zXCIsXG59IGFzIGNvbnN0O1xuXG50eXBlIEV4dGVuc2lvblR5cGUgPSAodHlwZW9mIEVYVEVOU0lPTlMpW2tleW9mIHR5cGVvZiBFWFRFTlNJT05TXTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgaWYgYSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCBTVEFDIGV4dGVuc2lvblxuICovXG5mdW5jdGlvbiBpc1ZhbGlkRXh0ZW5zaW9uKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBFeHRlbnNpb25UeXBlIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRVhURU5TSU9OUykuaW5jbHVkZXModmFsdWUgYXMgYW55KTtcbn1cblxuZXhwb3J0IGNsYXNzIFBnU3RhY0FwaUxhbWJkYSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICBwdWJsaWMgc3RhY0FwaUxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBnU3RhY0FwaUxhbWJkYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlZmF1bHRFeHRlbnNpb25zOiBFeHRlbnNpb25UeXBlW10gPSBbXG4gICAgICBFWFRFTlNJT05TLlFVRVJZLFxuICAgICAgRVhURU5TSU9OUy5TT1JULFxuICAgICAgRVhURU5TSU9OUy5GSUVMRFMsXG4gICAgICBFWFRFTlNJT05TLkZJTFRFUixcbiAgICAgIEVYVEVOU0lPTlMuRlJFRV9URVhULFxuICAgICAgRVhURU5TSU9OUy5QQUdJTkFUSU9OLFxuICAgICAgRVhURU5TSU9OUy5DT0xMRUNUSU9OX1NFQVJDSCxcbiAgICBdO1xuXG4gICAgaWYgKHByb3BzLmVuYWJsZWRFeHRlbnNpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IGV4dCBvZiBwcm9wcy5lbmFibGVkRXh0ZW5zaW9ucykge1xuICAgICAgICBpZiAoIWlzVmFsaWRFeHRlbnNpb24oZXh0KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbnZhbGlkIGV4dGVuc2lvbjogXCIke2V4dH1cIi4gTXVzdCBiZSBvbmUgb2Y6ICR7T2JqZWN0LnZhbHVlcyhcbiAgICAgICAgICAgICAgRVhURU5TSU9OU1xuICAgICAgICAgICAgKS5qb2luKFwiLCBcIil9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlbmFibGVkRXh0ZW5zaW9ucyA9IHByb3BzLmVuYWJsZWRFeHRlbnNpb25zIHx8IGRlZmF1bHRFeHRlbnNpb25zO1xuXG4gICAgdGhpcy5zdGFjQXBpTGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwibGFtYmRhXCIsIHtcbiAgICAgIC8vIGRlZmF1bHRzXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMSxcbiAgICAgIGhhbmRsZXI6IFwiaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICBtZW1vcnlTaXplOiA4MTkyLFxuICAgICAgbG9nUmV0ZW50aW9uOiBhd3NfbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiKSwge1xuICAgICAgICBmaWxlOiBcInN0YWMtYXBpL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBidWlsZEFyZ3M6IHsgUFlUSE9OX1ZFUlNJT046IFwiMy4xMVwiIH0sXG4gICAgICB9KSxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMuc3VibmV0U2VsZWN0aW9uLFxuICAgICAgYWxsb3dQdWJsaWNTdWJuZXQ6IHRydWUsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBQR1NUQUNfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBEQl9NSU5fQ09OTl9TSVpFOiBcIjBcIixcbiAgICAgICAgREJfTUFYX0NPTk5fU0laRTogXCIxXCIsXG4gICAgICAgIEVOQUJMRURfRVhURU5TSU9OUzogZW5hYmxlZEV4dGVuc2lvbnMuam9pbihcIixcIiksXG4gICAgICAgIC4uLnByb3BzLmFwaUVudixcbiAgICAgIH0sXG4gICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgLi4ucHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuXG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKHRoaXMuc3RhY0FwaUxhbWJkYUZ1bmN0aW9uKTtcblxuICAgIGlmIChwcm9wcy52cGMpIHtcbiAgICAgIHRoaXMuc3RhY0FwaUxhbWJkYUZ1bmN0aW9uLmNvbm5lY3Rpb25zLmFsbG93VG8oXG4gICAgICAgIHByb3BzLmRiLFxuICAgICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICAgIFwiYWxsb3cgY29ubmVjdGlvbnMgZnJvbSBzdGFjLWZhc3RhcGktcGdzdGFjXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY0FwaSA9IG5ldyBhcGlnYXRld2F5djIuSHR0cEFwaShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXN0YWMtYXBpYCxcbiAgICAgIHtcbiAgICAgICAgZGVmYXVsdERvbWFpbk1hcHBpbmc6IHByb3BzLnN0YWNBcGlEb21haW5OYW1lXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLnN0YWNBcGlEb21haW5OYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBkZWZhdWx0SW50ZWdyYXRpb246IG5ldyBhcGlnYXRld2F5djJfaW50ZWdyYXRpb25zLkh0dHBMYW1iZGFJbnRlZ3JhdGlvbihcbiAgICAgICAgICBcImludGVncmF0aW9uXCIsXG4gICAgICAgICAgdGhpcy5zdGFjQXBpTGFtYmRhRnVuY3Rpb24sXG4gICAgICAgICAgcHJvcHMuc3RhY0FwaURvbWFpbk5hbWVcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHBhcmFtZXRlck1hcHBpbmc6XG4gICAgICAgICAgICAgICAgICBuZXcgYXBpZ2F0ZXdheXYyLlBhcmFtZXRlck1hcHBpbmcoKS5vdmVyd3JpdGVIZWFkZXIoXG4gICAgICAgICAgICAgICAgICAgIFwiaG9zdFwiLFxuICAgICAgICAgICAgICAgICAgICBhcGlnYXRld2F5djIuTWFwcGluZ1ZhbHVlLmN1c3RvbShcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5zdGFjQXBpRG9tYWluTmFtZS5uYW1lXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICksXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMudXJsID0gc3RhY0FwaS51cmwhO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcInN0YWMtYXBpLW91dHB1dFwiLCB7XG4gICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXVybGAsXG4gICAgICB2YWx1ZTogdGhpcy51cmwsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZ1N0YWNBcGlMYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBSRFMgSW5zdGFuY2Ugd2l0aCBpbnN0YWxsZWQgcGdTVEFDIG9yIHBnYm91bmNlciBzZXJ2ZXIuXG4gICAqL1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlIHwgZWMyLklJbnN0YW5jZTtcblxuICAvKipcbiAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogQ3VzdG9taXplZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2VuZCB0byBmYXN0YXBpLXBnc3RhYyBydW50aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQ3VzdG9tIERvbWFpbiBOYW1lIE9wdGlvbnMgZm9yIFNUQUMgQVBJLFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY0FwaURvbWFpbk5hbWU/OiBhcGlnYXRld2F5djIuSURvbWFpbk5hbWU7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgU1RBQyBBUEkgZXh0ZW5zaW9ucyB0byBlbmFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcXVlcnksIHNvcnQsIGZpZWxkcywgZmlsdGVyLCBmcmVlX3RleHQsIHBhZ25pYXRpb24sIGNvbGxlY3Rpb25fc2VhcmNoXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkRXh0ZW5zaW9ucz86IEV4dGVuc2lvblR5cGVbXTtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cbiJdfQ==
@@ -91,5 +91,5 @@ class StacBrowser extends constructs_1.Construct {
91
91
  }
92
92
  exports.StacBrowser = StacBrowser;
93
93
  _a = JSII_RTTI_SYMBOL_1;
94
- StacBrowser[_a] = { fqn: "eoapi-cdk.StacBrowser", version: "8.3.1" };
94
+ StacBrowser[_a] = { fqn: "eoapi-cdk.StacBrowser", version: "8.3.3" };
95
95
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFxRjtBQUNyRiw2Q0FBdUQ7QUFDdkQsaURBQWdGO0FBRWhGLDJDQUF1QztBQUN2QyxpREFBeUM7QUFDekMseUJBQXlCO0FBRXpCLE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksdUJBQXVCLENBQUMsQ0FBQztRQUV4RixpRkFBaUY7UUFDakYsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsYUFBYSxFQUFFLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTztnQkFDN0MsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztnQkFDcEMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUNuRCxDQUFDLENBQUE7UUFDTixDQUFDO1FBRUQsOEpBQThKO1FBQzlKLElBQUksS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMs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LENBQUMsQ0FBQztZQUN6SCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLGNBQWMsT0FBTyxjQUFjLFlBQVksQ0FBQyxDQUFBO1lBQ3pGLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxHQUFHLGNBQWMsWUFBWSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxLQUFLLENBQUMsY0FBYyxTQUFTLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDMUYsSUFBQSx3QkFBUSxFQUFDLGlDQUFpQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUUzRixPQUFPLHFCQUFxQixDQUFBO0lBRWhDLENBQUM7O0FBcEdMLGtDQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrLCBhd3NfczMgYXMgczMsIGF3c19zM19kZXBsb3ltZW50IGFzIHMzX2RlcGxveW1lbnR9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgQ2ZuT3V0cHV0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwsIEVmZmVjdCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xPTkVfRElSRUNUT1JZID0gJy4vc3RhYy1icm93c2VyJztcblxuZXhwb3J0IGNsYXNzIFN0YWNCcm93c2VyIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHB1YmxpYyBidWNrZXQ6IHMzLklCdWNrZXQ7XG4gICAgcHVibGljIGJ1Y2tldERlcGxveW1lbnQ6IHMzX2RlcGxveW1lbnQuQnVja2V0RGVwbG95bWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjQnJvd3NlclByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgY29uc3QgYnVpbGRQYXRoID0gdGhpcy5idWlsZEFwcChwcm9wcywgcHJvcHMuY2xvbmVEaXJlY3RvcnkgfHwgREVGQVVMVF9DTE9ORV9ESVJFQ1RPUlkpO1xuXG4gICAgICAgIC8vIGltcG9ydCBhIGJ1Y2tldCBmcm9tIHByb3BzLmJ1Y2tldEFybiBpZiBkZWZpbmVkLCBvdGhlcndpc2UgY3JlYXRlIGEgbmV3IGJ1Y2tldFxuICAgICAgICBpZiAocHJvcHMuYnVja2V0QXJuKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0QXJuKHRoaXMsICdCdWNrZXQnLCBwcm9wcy5idWNrZXRBcm4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdCdWNrZXQnLCB7XG4gICAgICAgICAgICAgICAgYWNjZXNzQ29udHJvbDogczMuQnVja2V0QWNjZXNzQ29udHJvbC5QUklWQVRFLFxuICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogcHJvcHMud2Vic2l0ZUluZGV4RG9jdW1lbnRcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuIGlzIGRlZmluZWQgYW5kIHByb3BzLmJ1Y2tldEFybiBpcyBub3QgZGVmaW5lZCwgYWRkIGEgYnVja2V0IHBvbGljeSB0byBhbGxvdyByZWFkIGFjY2VzcyBmcm9tIHRoZSBjbG91ZGZyb250IGRpc3RyaWJ1dGlvblxuICAgICAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuYnVja2V0QXJuKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkOiAnQWxsb3dDbG91ZEZyb250U2VydmljZVByaW5jaXBhbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczogW3RoaXMuYnVja2V0LmFybkZvck9iamVjdHMoJyonKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0cmluZ0VxdWFscyc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F3czpTb3VyY2VBcm4nOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhZGQgdGhlIGNvbXBpbGVkIGNvZGUgdG8gdGhlIGJ1Y2tldCBhcyBhIGJ1Y2tldCBkZXBsb3ltZW50XG4gICAgICAgIHRoaXMuYnVja2V0RGVwbG95bWVudCA9IG5ldyBzM19kZXBsb3ltZW50LkJ1Y2tldERlcGxveW1lbnQodGhpcywgJ0J1Y2tldERlcGxveW1lbnQnLCB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICAgICAgICBzb3VyY2VzOiBbczNfZGVwbG95bWVudC5Tb3VyY2UuYXNzZXQoYnVpbGRQYXRoKV1cbiAgICAgICAgICB9KTtcblxuICAgICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiYnVja2V0LW5hbWVcIiwge1xuICAgICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LWJ1Y2tldC1uYW1lYCxcbiAgICAgICAgdmFsdWU6IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZEFwcChwcm9wczogU3RhY0Jyb3dzZXJQcm9wcywgY2xvbmVEaXJlY3Rvcnk6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICAgICAgLy8gRGVmaW5lIHdoZXJlIHRvIGNsb25lIGFuZCBidWlsZFxuICAgICAgICBjb25zdCBnaXRodWJSZXBvVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9yYWRpYW50ZWFydGgvc3RhYy1icm93c2VyLmdpdCc7XG5cblxuICAgICAgICAvLyBNYXliZSB0aGUgcmVwbyBhbHJlYWR5IGV4aXN0cyBpbiBjbG9uZURpcmVjdG9yeS4gVHJ5IGNoZWNraW5nIG91dCB0aGUgZGVzaXJlZCB2ZXJzaW9uIGFuZCBpZiBpdCBmYWlscywgZGVsZXRlIGFuZCByZWNsb25lLlxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYENoZWNraW5nIGlmIGEgdmFsaWQgY2xvbmVkIHJlcG8gZXhpc3RzIHdpdGggdmVyc2lvbiAke3Byb3BzLmdpdGh1YlJlcG9UYWd9Li4uYClcbiAgICAgICAgICAgIGV4ZWNTeW5jKGBnaXQgY2hlY2tvdXQgdGFncy8ke3Byb3BzLmdpdGh1YlJlcG9UYWd9YCwgeyBjd2Q6IGNsb25lRGlyZWN0b3J5IH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuXG4gICAgICAgICAgICAvLyBpZiBkaXJlY3RvcnkgZXhpc3RzLCByYWlzZSBhbiBlcnJvclxuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2xvbmVEaXJlY3RvcnkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaXJlY3RvcnkgJHtjbG9uZURpcmVjdG9yeX0gYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGNsb25lIG9mICR7Z2l0aHViUmVwb1VybH0uIFBsZWFzZSBkZWxldGUgdGhpcyBkaXJlY3Rvcnkgb3Igc3BlY2lmeSBhIGRpZmZlcmVudCBjbG9uZURpcmVjdG9yeS5gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZWxzZSwgd2UgY2xvbmUgYW5kIGNoZWNrIG91dCB0aGUgdmVyc2lvbi5cblxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcG9cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDbG9uaW5nICR7Z2l0aHViUmVwb1VybH0gaW50byAke2Nsb25lRGlyZWN0b3J5fS4uLmApXG4gICAgICAgICAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0aHViUmVwb1VybH0gJHtjbG9uZURpcmVjdG9yeX1gKTtcblxuICAgICAgICAgICAgLy8gQ2hlY2sgb3V0IHRoZSBkZXNpcmVkIHZlcnNpb25cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDaGVja2luZyBvdXQgdmVyc2lvbiAke3Byb3BzLmdpdGh1YlJlcG9UYWd9Li4uYClcbiAgICAgICAgICAgIGV4ZWNTeW5jKGBnaXQgY2hlY2tvdXQgdGFncy8ke3Byb3BzLmdpdGh1YlJlcG9UYWd9YCwgeyBjd2Q6IGNsb25lRGlyZWN0b3J5IH0pO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBkZXBlbmRlbmNpZXMgYW5kIGJ1aWxkIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICBjb25zb2xlLmxvZyhgSW5zdGFsbGluZyBkZXBlbmRlbmNpZXNgKVxuICAgICAgICBleGVjU3luYygnbnBtIGluc3RhbGwnLCB7IGN3ZDogY2xvbmVEaXJlY3RvcnkgfSk7XG5cbiAgICAgICAgLy8gSWYgYSBjb25maWcgZmlsZSBpcyBwcm92aWRlZCwgY29weSBpdCB0byB0aGUgc3RhYy1icm93c2VyIGRpcmVjdG9yeSBhdCBcImNvbmZpZy5qc1wiLCByZXBsYWNlcyB0aGUgZGVmYXVsdCBjb25maWcuanMuXG4gICAgICAgIGlmIChwcm9wcy5jb25maWdGaWxlUGF0aCkge1xuICAgICAgICAgICAgLy8gY2hlY2sgdGhhdCB0aGUgZmlsZSBleGlzdHMgYXQgdGhpcyBsb2NhdGlvbi4gaWYgbm90LCByYWlzZSBhbiBlcnJvciBhbmQgcHJpbnQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhwcm9wcy5jb25maWdGaWxlUGF0aCkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlICR7cHJvcHMuY29uZmlnRmlsZVBhdGh9IGRvZXMgbm90IGV4aXN0LiBDdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzICR7cHJvY2Vzcy5jd2QoKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDb3B5aW5nIGNvbmZpZyBmaWxlICR7cHJvcHMuY29uZmlnRmlsZVBhdGh9IHRvICR7Y2xvbmVEaXJlY3Rvcnl9L2NvbmZpZy5qc2ApXG4gICAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMocHJvcHMuY29uZmlnRmlsZVBhdGgsIGAke2Nsb25lRGlyZWN0b3J5fS9jb25maWcuanNgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1aWxkIHRoZSBhcHAgd2l0aCBjYXRhbG9nVXJsXG4gICAgICAgIGNvbnNvbGUubG9nKGBCdWlsZGluZyBhcHAgd2l0aCBjYXRhbG9nVXJsPSR7cHJvcHMuc3RhY0NhdGFsb2dVcmx9IGludG8gJHtjbG9uZURpcmVjdG9yeX1gKVxuICAgICAgICBleGVjU3luYyhgbnBtIHJ1biBidWlsZCAtLSAtLWNhdGFsb2dVcmw9JHtwcm9wcy5zdGFjQ2F0YWxvZ1VybH1gLCB7IGN3ZDogY2xvbmVEaXJlY3RvcnkgfSk7XG5cbiAgICAgICAgcmV0dXJuICcuL3N0YWMtYnJvd3Nlci9kaXN0J1xuXG4gICAgfVxuXG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFjQnJvd3NlclByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIEJ1Y2tldCBBUk4uIElmIHNwZWNpZmllZCwgdGhlIGlkZW50aXR5IHVzZWQgdG8gZGVwbG95IHRoZSBzdGFjayBtdXN0IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhIGRlcGxveW1lbnQgZm9yIHRoaXMgYnVja2V0LlxuICAgICAqIEluIGFkZGl0aW9uLCBpZiBzcGVjaWZpZWQsIGBjbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuYCBpcyBpZ25vcmVkIHNpbmNlIHRoZSBwb2xpY3kgb2YgYW4gaW1wb3J0ZWQgcmVzb3VyY2UgY2FuJ3QgYmUgbW9kaWZpZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vIGJ1Y2tldCBBUk4uIEEgbmV3IGJ1Y2tldCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAgICovXG5cbiAgICByZWFkb25seSBidWNrZXRBcm4/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTVEFDIGNhdGFsb2cgVVJMLiBPdmVycmlkZXMgdGhlIGNhdGFsb2cgVVJMIGluIHRoZSBzdGFjLWJyb3dzZXIgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdGFjQ2F0YWxvZ1VybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBjb25maWcgZmlsZSBmb3IgdGhlIFNUQUMgYnJvd3Nlci4gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaW4gdGhlIFNUQUMgYnJvd3NlclxuICAgICAqIHJlcG9zaXRvcnkgaXMgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb25maWdGaWxlUGF0aD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRhZyBvZiB0aGUgcmFkaWFudCBlYXJ0aCBzdGFjLWJyb3dzZXIgcmVwbyB0byB1c2UgdG8gYnVpbGQgdGhlIGFwcC5cbiAgICAgKi9cbiAgICByZWFkb25seSBnaXRodWJSZXBvVGFnOiBzdHJpbmc7XG5cblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeSB3aXRoIHJlYWQgYWNjZXNzLlxuICAgICAqIElmIGBidWNrZXRBcm5gIGlzIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgaXMgaWdub3JlZCBzaW5jZSB0aGUgcG9saWN5IG9mIGFuIGltcG9ydGVkIGJ1Y2tldCBjYW4ndCBiZSBtb2RpZmllZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gY2xvdWRmcm9udCBkaXN0cmlidXRpb24gQVJOLiBUaGUgYnVja2V0IHBvbGljeSB3aWxsIG5vdCBiZSBtb2RpZmllZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGluZGV4IGRvY3VtZW50IChlLmcuIFwiaW5kZXguaHRtbFwiKSBmb3IgdGhlIHdlYnNpdGUuIEVuYWJsZXMgc3RhdGljIHdlYnNpdGVcbiAgICAgKiBob3N0aW5nIGZvciB0aGlzIGJ1Y2tldC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gaW5kZXggZG9jdW1lbnQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgd2Vic2l0ZUluZGV4RG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBMb2NhdGlvbiBpbiB0aGUgZmlsZXN5c3RlbSB3aGVyZSB0byBjb21waWxlIHRoZSBicm93c2VyIGNvZGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIERFRkFVTFRfQ0xPTkVfRElSRUNUT1JZXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2xvbmVEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbn1cbiJdfQ==
@@ -236,9 +236,10 @@ export interface StacLoaderProps {
236
236
  * "license": "proprietary",
237
237
  * "extent": {
238
238
  * "spatial": {"bbox": [[-180, -90, 180, 90]]},
239
- * "temporal": {"interval": [[null, null]]},
239
+ * "temporal": {"interval": [[null, null]]}
240
240
  * },
241
241
  * "stac_version": "1.1.0",
242
+ * "links": []
242
243
  * }'
243
244
  *
244
245
  * aws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{
@@ -114,9 +114,10 @@ const path = require("path");
114
114
  * "license": "proprietary",
115
115
  * "extent": {
116
116
  * "spatial": {"bbox": [[-180, -90, 180, 90]]},
117
- * "temporal": {"interval": [[null, null]]},
117
+ * "temporal": {"interval": [[null, null]]}
118
118
  * },
119
119
  * "stac_version": "1.1.0",
120
+ * "links": []
120
121
  * }'
121
122
  *
122
123
  * aws sns publish --topic-arn $STAC_LOAD_TOPIC --message '{
@@ -267,7 +268,7 @@ class StacLoader extends constructs_1.Construct {
267
268
  }
268
269
  exports.StacLoader = StacLoader;
269
270
  _a = JSII_RTTI_SYMBOL_1;
270
- StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "8.3.1" };
271
+ StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "8.3.3" };
271
272
  /**
272
273
  * @deprecated Use StacLoader instead. StacItemLoader will be removed in a future version.
273
274
  */
@@ -280,5 +281,5 @@ class StacItemLoader extends StacLoader {
280
281
  }
281
282
  exports.StacItemLoader = StacItemLoader;
282
283
  _b = JSII_RTTI_SYMBOL_1;
283
- StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "8.3.1" };
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBMEk3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStLRztBQUNILE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBb0R2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixJQUFJLEdBQUcsQ0FBQztRQUN6RCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN4RSxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUVqRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUM1RCxlQUFlLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ25DLENBQUMsQ0FBQztRQUVILG9CQUFvQjtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUJBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUN4QyxpQkFBaUIsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3hELFVBQVUsRUFBRSxxQkFBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXO1lBQzNDLGVBQWUsRUFBRTtnQkFDZixlQUFlLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hDLFdBQVcsRUFBRSxHQUFHLEVBQUUsa0JBQWtCO1NBQ3JDLENBQUMsQ0FBQztRQUVILG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FDeEIsSUFBSSxtQ0FBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNqRCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzFELE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE9BQU8sRUFBRSw2QkFBNkI7WUFDdEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ2pDLElBQUksRUFBRSx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQzVELElBQUksRUFBRSxnQ0FBZ0M7Z0JBQ3RDLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixTQUFTLEVBQUU7b0JBQ1QsY0FBYyxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztvQkFDOUQsY0FBYyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYTtpQkFDN0M7YUFDRixDQUFDO1lBQ0YsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSTtZQUNwQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3pDLDRCQUE0QixFQUFFLGNBQWM7WUFDNUMsWUFBWSxFQUFFLHNCQUFJLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDekMsV0FBVyxFQUFFO2dCQUNYLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVM7Z0JBQ3hELEdBQUcsS0FBSyxDQUFDLFdBQVc7YUFDckI7WUFDRCxpRUFBaUU7WUFDakUsR0FBRyxLQUFLLENBQUMscUJBQXFCO1NBQy9CLENBQUMsQ0FBQztRQUVILGdEQUFnRDtRQUNoRCxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDaEMsSUFBSSxzQ0FBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNoRCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxHQUFHO1lBQ2pDLGlCQUFpQixFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUNqQyxLQUFLLENBQUMsd0JBQXdCLElBQUksQ0FBQyxDQUNwQztZQUNELGNBQWMsRUFBRSxjQUFjO1lBQzlCLHVCQUF1QixFQUFFLElBQUk7U0FDOUIsQ0FBQyxDQUNILENBQUM7UUFFRixpQkFBaUI7UUFDakIsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDMUIsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxVQUFVLEVBQUUsR0FBRyxZQUFZLHdCQUF3QjtTQUNwRCxDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQzFCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsVUFBVSxFQUFFLEdBQUcsWUFBWSx3QkFBd0I7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQ3BDLFdBQVcsRUFBRSx5Q0FBeUM7WUFDdEQsVUFBVSxFQUFFLEdBQUcsWUFBWSxtQ0FBbUM7U0FDL0QsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTtZQUN2QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELFVBQVUsRUFBRSxHQUFHLFlBQVksNEJBQTRCO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEpILGdDQXVKQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxVQUFVO0lBQzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsT0FBTyxDQUFDLElBQUksQ0FDViwrREFBK0Q7WUFDN0QscURBQXFELENBQ3hELENBQUM7UUFFRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOztBQVJILHdDQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfc3FzIGFzIHNxcyxcbiAgYXdzX3NucyBhcyBzbnMsXG4gIGF3c19zbnNfc3Vic2NyaXB0aW9ucyBhcyBzbnNTdWJzY3JpcHRpb25zLFxuICBhd3NfbGFtYmRhX2V2ZW50X3NvdXJjZXMgYXMgbGFtYmRhRXZlbnRTb3VyY2VzLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBEdXJhdGlvbixcbiAgQ2ZuT3V0cHV0LFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgUGdTdGFjRGF0YWJhc2UgfSBmcm9tIFwiLi4vZGF0YWJhc2VcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBTdGFjTG9hZGVyIGNvbnN0cnVjdC5cbiAqXG4gKiBUaGUgU3RhY0xvYWRlciBpcyBwYXJ0IG9mIGEgdHdvLXBoYXNlIHNlcnZlcmxlc3MgU1RBQyBpbmdlc3Rpb24gcGlwZWxpbmVcbiAqIHRoYXQgbG9hZHMgU1RBQyBjb2xsZWN0aW9ucyBhbmQgaXRlbXMgaW50byBhIHBnc3RhYyBkYXRhYmFzZS4gVGhpcyBjb25zdHJ1Y3QgY3JlYXRlc1xuICogdGhlIGluZnJhc3RydWN0dXJlIGZvciByZWNlaXZpbmcgU1RBQyBvYmplY3RzIGZyb20gbXVsdGlwbGUgc291cmNlczpcbiAqIDEuIFNOUyBtZXNzYWdlcyBjb250YWluaW5nIFNUQUMgbWV0YWRhdGEgKGRpcmVjdCBpbmdlc3Rpb24pXG4gKiAyLiBTMyBldmVudCBub3RpZmljYXRpb25zIGZvciBTVEFDIG9iamVjdHMgdXBsb2FkZWQgdG8gUzMgYnVja2V0c1xuICpcbiAqIE9iamVjdHMgZnJvbSBib3RoIHNvdXJjZXMgYXJlIGJhdGNoZWQgYW5kIGluc2VydGVkIGludG8gUG9zdGdyZVNRTCB3aXRoIHRoZSBwZ3N0YWMgZXh0ZW5zaW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnU3RhY0xvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlLFxuICogICBiYXRjaFNpemU6IDEwMDAsXG4gKiAgIG1heEJhdGNoaW5nV2luZG93TWludXRlczogMSxcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDMwMFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY0xvYWRlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBQZ1NUQUMgZGF0YWJhc2UgaW5zdGFuY2UgdG8gbG9hZCBkYXRhIGludG8uXG4gICAqXG4gICAqIFRoaXMgZGF0YWJhc2UgbXVzdCBoYXZlIHRoZSBwZ3N0YWMgZXh0ZW5zaW9uIGluc3RhbGxlZCBhbmQgYmUgcHJvcGVybHlcbiAgICogY29uZmlndXJlZCB3aXRoIGNvbGxlY3Rpb25zIGJlZm9yZSBvYmplY3RzIGNhbiBiZSBsb2FkZWQuIFRoZSBsb2FkZXIgd2lsbFxuICAgKiB1c2UgQVdTIFNlY3JldHMgTWFuYWdlciB0byBzZWN1cmVseSBhY2Nlc3MgZGF0YWJhc2UgY3JlZGVudGlhbHMuXG4gICAqL1xuICByZWFkb25seSBwZ3N0YWNEYjogUGdTdGFjRGF0YWJhc2U7XG5cbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIGxhbWJkYSBydW50aW1lIHRvIHVzZSBmb3IgdGhlIGl0ZW0gbG9hZGluZyBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGluIFB5dGhvbiBhbmQgdXNlcyBweXBnc3RhYyBmb3IgZGF0YWJhc2VcbiAgICogb3BlcmF0aW9ucy4gRW5zdXJlIHRoZSBydW50aW1lIHZlcnNpb24gaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBwZ3N0YWNcbiAgICogdmVyc2lvbiBzcGVjaWZpZWQgaW4gdGhlIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFSdW50aW1lPzogbGFtYmRhLlJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lb3V0IGZvciB0aGUgaXRlbSBsb2FkIGxhbWJkYSBpbiBzZWNvbmRzLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBhY2NvbW1vZGF0ZSB0aGUgdGltZSBuZWVkZWQgdG8gcHJvY2VzcyB1cCB0byBgYmF0Y2hTaXplYFxuICAgKiBvYmplY3RzIGFuZCBwZXJmb3JtIGRhdGFiYXNlIGluc2VydGlvbnMuIFRoZSBTUVMgdmlzaWJpbGl0eSB0aW1lb3V0XG4gICAqIHdpbGwgYmUgc2V0IHRvIHRoaXMgdmFsdWUgcGx1cyAxMCBzZWNvbmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAzMDBcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgc2l6ZSBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbiBpbiBNQi5cbiAgICpcbiAgICogSGlnaGVyIG1lbW9yeSBhbGxvY2F0aW9uIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcHJvY2Vzc2luZ1xuICAgKiBsYXJnZSBiYXRjaGVzIG9mIFNUQUMgb2JqZWN0cywgZXNwZWNpYWxseSBmb3IgbWVtb3J5LWludGVuc2l2ZVxuICAgKiBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMDI0XG4gICAqL1xuICByZWFkb25seSBtZW1vcnlTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTUVMgYmF0Y2ggc2l6ZSBmb3IgbGFtYmRhIGV2ZW50IHNvdXJjZS5cbiAgICpcbiAgICogVGhpcyBkZXRlcm1pbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBTVEFDIG9iamVjdHMgdGhhdCB3aWxsIGJlXG4gICAqIHByb2Nlc3NlZCB0b2dldGhlciBpbiBhIHNpbmdsZSBsYW1iZGEgaW52b2NhdGlvbi4gTGFyZ2VyIGJhdGNoXG4gICAqIHNpemVzIGltcHJvdmUgZGF0YWJhc2UgaW5zZXJ0aW9uIGVmZmljaWVuY3kgYnV0IHJlcXVpcmUgbW9yZVxuICAgKiBtZW1vcnkgYW5kIGxvbmdlciBwcm9jZXNzaW5nIHRpbWUuXG4gICAqXG4gICAqICoqQmF0Y2hpbmcgQmVoYXZpb3IqKjogU1FTIHdpbGwgd2FpdCB0byBhY2N1bXVsYXRlIHVwIHRvIHRoaXMgbWFueVxuICAgKiBtZXNzYWdlcyBiZWZvcmUgdHJpZ2dlcmluZyB0aGUgTGFtYmRhLCBPUiB1bnRpbCB0aGUgbWF4QmF0Y2hpbmdXaW5kb3dcbiAgICogdGltZW91dCBpcyByZWFjaGVkLCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuIFRoaXMgY3JlYXRlcyBhbiBlZmZpY2llbnRcbiAgICogYmFsYW5jZSBiZXR3ZWVuIHRocm91Z2hwdXQgYW5kIGxhdGVuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUwMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGJhdGNoaW5nIHdpbmRvdyBpbiBtaW51dGVzLlxuICAgKlxuICAgKiBFdmVuIGlmIHRoZSBiYXRjaCBzaXplIGlzbid0IHJlYWNoZWQsIHRoZSBsYW1iZGEgd2lsbCBiZSB0cmlnZ2VyZWRcbiAgICogYWZ0ZXIgdGhpcyB0aW1lIHBlcmlvZCB0byBlbnN1cmUgdGltZWx5IHByb2Nlc3Npbmcgb2Ygb2JqZWN0cy5cbiAgICogVGhpcyBwcmV2ZW50cyBvYmplY3RzIGZyb20gd2FpdGluZyBpbmRlZmluaXRlbHkgaW4gbG93LXZvbHVtZSBzY2VuYXJpb3MuXG4gICAqXG4gICAqICoqSW1wb3J0YW50Kio6IFRoaXMgdGltZW91dCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIGJhdGNoU2l6ZSAtIFNRU1xuICAgKiB3aWxsIHRyaWdnZXIgdGhlIExhbWJkYSB3aGVuIEVJVEhFUiB0aGUgYmF0Y2ggc2l6ZSBpcyByZWFjaGVkIE9SIHRoaXNcbiAgICogdGltZSB3aW5kb3cgZXhwaXJlcywgZW5zdXJpbmcgb2JqZWN0cyBhcmUgcHJvY2Vzc2VkIGluIGEgdGltZWx5IG1hbm5lclxuICAgKiByZWdhcmRsZXNzIG9mIHZvbHVtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGNvbmN1cnJlbnQgZXhlY3V0aW9ucyBmb3IgdGhlIFN0YWNMb2FkZXIgTGFtYmRhIGZ1bmN0aW9uXG4gICAqXG4gICAqIFRoaXMgbGltaXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBMYW1iZGEgZnVuY3Rpb24gYW5kIHdpbGwgY29udHJvbCBob3dcbiAgICogbWFueSBjb25jdXJyZW50IGJhdGNoZXMgd2lsbCBiZSByZWxlYXNlZCBmcm9tIHRoZSBTUVMgcXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbmN5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlc2Ugd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgZGVmYXVsdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW5jbHVkaW5nXG4gICAqIFBHU1RBQ19TRUNSRVRfQVJOLiBVc2UgdGhpcyBmb3IgY3VzdG9tIGNvbmZpZ3VyYXRpb24gb3IgZGVidWdnaW5nIGZsYWdzLlxuICAgKlxuICAgKiBJZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlIG9wdGlvbiB0byB1cGxvYWQgYSBib2lsZXJwbGF0ZSBjb2xsZWN0aW9uIHJlY29yZFxuICAgKiBpbiB0aGUgZXZlbnQgdGhhdCB0aGUgY29sbGVjdGlvbiByZWNvcmQgZG9lcyBub3QgeWV0IGV4aXN0IGZvciBhbiBpdGVtIHRoYXRcbiAgICogaXMgc2V0IHRvIGJlIGxvYWRlZCwgc2V0IHRoZSB2YXJpYWJsZSBgXCJDUkVBVEVfQ09MTEVDVElPTlNfSUZfTUlTU0lOR1wiOiBcIlRSVUVcImAuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbi8qKlxuICogQVdTIENESyBDb25zdHJ1Y3QgZm9yIFNUQUMgT2JqZWN0IExvYWRpbmcgSW5mcmFzdHJ1Y3R1cmVcbiAqXG4gKiBUaGUgU3RhY0xvYWRlciBjcmVhdGVzIGEgc2VydmVybGVzcywgZXZlbnQtZHJpdmVuIHN5c3RlbSBmb3IgbG9hZGluZ1xuICogU1RBQyAoU3BhdGlvVGVtcG9yYWwgQXNzZXQgQ2F0YWxvZykgb2JqZWN0cyBpbnRvIGEgUG9zdGdyZVNRTCBkYXRhYmFzZSB3aXRoXG4gKiB0aGUgcGdzdGFjIGV4dGVuc2lvbi4gVGhpcyBjb25zdHJ1Y3Qgc3VwcG9ydHMgbXVsdGlwbGUgaW5nZXN0aW9uIHBhdGh3YXlzXG4gKiBmb3IgZmxleGlibGUgU1RBQyBvYmplY3QgbG9hZGluZy5cbiAqXG4gKiAjIyBBcmNoaXRlY3R1cmUgT3ZlcnZpZXdcbiAqXG4gKiBUaGlzIGNvbnN0cnVjdCBjcmVhdGVzIHRoZSBmb2xsb3dpbmcgQVdTIHJlc291cmNlczpcbiAqIC0gKipTTlMgVG9waWMqKjogRW50cnkgcG9pbnQgZm9yIFNUQUMgb2JqZWN0cyBhbmQgUzMgZXZlbnQgbm90aWZpY2F0aW9uc1xuICogLSAqKlNRUyBRdWV1ZSoqOiBCdWZmZXJzIGFuZCBiYXRjaGVzIG1lc3NhZ2VzIGJlZm9yZSBwcm9jZXNzaW5nICg2MC1zZWNvbmQgdmlzaWJpbGl0eSB0aW1lb3V0KVxuICogLSAqKkRlYWQgTGV0dGVyIFF1ZXVlKio6IENhcHR1cmVzIGZhaWxlZCBsb2FkaW5nIGF0dGVtcHRzIGFmdGVyIDUgcmV0cmllc1xuICogLSAqKkxhbWJkYSBGdW5jdGlvbioqOiBQeXRob24gZnVuY3Rpb24gdGhhdCBwcm9jZXNzZXMgYmF0Y2hlcyBhbmQgaW5zZXJ0cyBvYmplY3RzIGludG8gcGdzdGFjXG4gKlxuICogIyMgRGF0YSBGbG93XG4gKlxuICogVGhlIGxvYWRlciBzdXBwb3J0cyB0d28gcHJpbWFyeSBkYXRhIGluZ2VzdGlvbiBwYXR0ZXJuczpcbiAqXG4gKiAjIyMgRGlyZWN0IFNUQUMgT2JqZWN0IFB1Ymxpc2hpbmdcbiAqIDEuIFNUQUMgb2JqZWN0cyAoSlNPTikgYXJlIHB1Ymxpc2hlZCBkaXJlY3RseSB0byB0aGUgU05TIHRvcGljIGluIG1lc3NhZ2UgYm9kaWVzXG4gKiAyLiBUaGUgU1FTIHF1ZXVlIGNvbGxlY3RzIG1lc3NhZ2VzIGFuZCBiYXRjaGVzIHRoZW0gKHVwIHRvIHtiYXRjaFNpemV9IG9iamVjdHMgb3IgMSBtaW51dGUgd2luZG93KVxuICogMy4gVGhlIExhbWJkYSBmdW5jdGlvbiByZWNlaXZlcyBiYXRjaGVzLCB2YWxpZGF0ZXMgb2JqZWN0cywgYW5kIGluc2VydHMgaW50byBwZ3N0YWNcbiAqXG4gKiAjIyMgUzMgRXZlbnQtRHJpdmVuIExvYWRpbmdcbiAqIDEuIEFuIFMzIGJ1Y2tldCBpcyBjb25maWd1cmVkIHRvIHNlbmQgbm90aWZpY2F0aW9ucyB0byB0aGUgU05TIHRvcGljIHdoZW4ganNvbiBmaWxlcyBhcmUgY3JlYXRlZFxuICogMi4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byBTMyBidWNrZXRzIGFzIEpTT04vR2VvSlNPTiBmaWxlc1xuICogMy4gUzMgZXZlbnQgbm90aWZpY2F0aW9ucyBhcmUgc2VudCB0byB0aGUgU05TIHRvcGljIHdoZW4gb2JqZWN0cyBhcmUgdXBsb2FkZWRcbiAqIDQuIFRoZSBMYW1iZGEgZnVuY3Rpb24gcmVjZWl2ZXMgUzMgZXZlbnRzIGluIHRoZSBTUVMgbWVzc2FnZSBiYXRjaCwgZmV0Y2hlcyBvYmplY3RzIGZyb20gUzMsIGFuZCBsb2FkcyBpbnRvIHBnc3RhY1xuICpcbiAqICMjIEJhdGNoaW5nIEJlaGF2aW9yXG4gKlxuICogVGhlIFNRUy10by1MYW1iZGEgaW50ZWdyYXRpb24gdXNlcyBpbnRlbGxpZ2VudCBiYXRjaGluZyB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZTpcbiAqXG4gKiAtICoqQmF0Y2ggU2l6ZSoqOiBMYW1iZGEgd2FpdHMgdG8gcmVjZWl2ZSB1cCB0byBgYmF0Y2hTaXplYCBtZXNzYWdlcyAoZGVmYXVsdDogNTAwKVxuICogLSAqKkJhdGNoaW5nIFdpbmRvdyoqOiBJZiBmZXdlciB0aGFuIGBiYXRjaFNpemVgIG1lc3NhZ2VzIGFyZSBhdmFpbGFibGUsIExhbWJkYVxuICogICB0cmlnZ2VycyBhZnRlciBgbWF4QmF0Y2hpbmdXaW5kb3dgIG1pbnV0ZXMgKGRlZmF1bHQ6IDEgbWludXRlKVxuICogLSAqKlRyaWdnZXIgQ29uZGl0aW9uKio6IExhbWJkYSBleGVjdXRlcyB3aGVuIEVJVEhFUiBjb25kaXRpb24gaXMgbWV0IGZpcnN0XG4gKiAtICoqQ29uY3VycmVuY3kqKjogTGltaXRlZCB0byBgbWF4Q29uY3VycmVuY3lgIGNvbmN1cnJlbnQgZXhlY3V0aW9ucyB0byBwcmV2ZW50IGRhdGFiYXNlIG92ZXJsb2FkXG4gKiAtICoqUGFydGlhbCBGYWlsdXJlcyoqOiBVc2VzIGByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlc2AgdG8gcmV0cnkgb25seSBmYWlsZWQgb2JqZWN0c1xuICpcbiAqIFRoaXMgYXBwcm9hY2ggYmFsYW5jZXMgdGhyb3VnaHB1dCAobGFyZ2VyIGJhdGNoZXMgPSBmZXdlciBkYXRhYmFzZSBjb25uZWN0aW9ucylcbiAqIHdpdGggbGF0ZW5jeSAodGltZS1iYXNlZCB0cmlnZ2VycyBwcmV2ZW50IGluZGVmaW5pdGUgd2FpdGluZykuXG4gKlxuICogIyMgRXJyb3IgSGFuZGxpbmcgYW5kIERlYWQgTGV0dGVyIFF1ZXVlXG4gKlxuICogRmFpbGVkIG1lc3NhZ2VzIGFyZSBzZW50IHRvIHRoZSBkZWFkIGxldHRlciBxdWV1ZSBhZnRlciA1IHByb2Nlc3NpbmcgYXR0ZW1wdHMuXG4gKiAqKkltcG9ydGFudCoqOiBUaGlzIGNvbnN0cnVjdCBwcm92aWRlcyBOTyBhdXRvbWF0ZWQgaGFuZGxpbmcgb2YgZGVhZCBsZXR0ZXIgcXVldWVcbiAqIG1lc3NhZ2VzIC0gbW9uaXRvcmluZywgaW5zcGVjdGlvbiwgYW5kIHJlcHJvY2Vzc2luZyBvZiBmYWlsZWQgb2JqZWN0cyBpcyB0aGVcbiAqIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBpbXBsZW1lbnRpbmcgYXBwbGljYXRpb24uXG4gKlxuICogQ29uc2lkZXIgaW1wbGVtZW50aW5nOlxuICogLSBDbG91ZFdhdGNoIGFsYXJtcyBvbiBkZWFkIGxldHRlciBxdWV1ZSBkZXB0aFxuICogLSBNYW51YWwgb3IgYXV0b21hdGVkIHJlcHJvY2Vzc2luZyB3b3JrZmxvd3NcbiAqIC0gTG9nZ2luZyBhbmQgYWxlcnRpbmcgZm9yIGZhaWxlZCBvYmplY3RzXG4gKiAtIFJlZ3VsYXIgY2xlYW51cCBvZiBvbGQgZGVhZCBsZXR0ZXIgbWVzc2FnZXMgKDE0LWRheSByZXRlbnRpb24pXG4gKlxuICogIyMgT3BlcmF0aW9uYWwgQ2hhcmFjdGVyaXN0aWNzXG4gKlxuICogLSAqKlNjYWxhYmlsaXR5Kio6IExhbWJkYSBzY2FsZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiBxdWV1ZSBkZXB0aFxuICogLSAqKlJlbGlhYmlsaXR5Kio6IERlYWQgbGV0dGVyIHF1ZXVlIGNhcHR1cmVzIGZhaWx1cmVzIGZvciBkZWJ1Z2dpbmdcbiAqIC0gKipFZmZpY2llbmN5Kio6IEJhdGNoaW5nIG9wdGltaXplcyBkYXRhYmFzZSBvcGVyYXRpb25zIGZvciBoaWdoIHRocm91Z2hwdXRcbiAqIC0gKipTZWN1cml0eSoqOiBEYXRhYmFzZSBjcmVkZW50aWFscyBhY2Nlc3NlZCB2aWEgQVdTIFNlY3JldHMgTWFuYWdlclxuICogLSAqKk9ic2VydmFiaWxpdHkqKjogQ2xvdWRXYXRjaCBsb2dzIHJldGFpbmVkIGZvciBvbmUgd2Vla1xuICpcbiAqICMjIFByZXJlcXVpc2l0ZXNcbiAqXG4gKiBCZWZvcmUgdXNpbmcgdGhpcyBjb25zdHJ1Y3QsIGVuc3VyZTpcbiAqIC0gVGhlIHBnc3RhYyBkYXRhYmFzZSBoYXMgY29sbGVjdGlvbnMgbG9hZGVkIChvYmplY3RzIHJlcXVpcmUgZXhpc3RpbmcgY29sbGVjdGlvbiBJRHMpXG4gKiAtIERhdGFiYXNlIGNyZWRlbnRpYWxzIGFyZSBzdG9yZWQgaW4gQVdTIFNlY3JldHMgTWFuYWdlclxuICogLSBUaGUgcGdzdGFjIGV4dGVuc2lvbiBpcyBwcm9wZXJseSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWRcbiAqXG4gKiAjIyBVc2FnZSBFeGFtcGxlXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIGRhdGFiYXNlIGZpcnN0XG4gKiBjb25zdCBkYXRhYmFzZSA9IG5ldyBQZ1N0YWNEYXRhYmFzZSh0aGlzLCAnRGF0YWJhc2UnLCB7XG4gKiAgIHBnc3RhY1ZlcnNpb246ICcwLjkuNSdcbiAqIH0pO1xuICpcbiAqIC8vIENyZWF0ZSBPYmplY3QgbG9hZGVyXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnU3RhY0xvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlLFxuICogICBiYXRjaFNpemU6IDEwMDAsICAgICAgICAgIC8vIFByb2Nlc3MgdXAgdG8gMTAwMCBvYmplY3RzIHBlciBiYXRjaFxuICogICBtYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXM6IDEsIC8vIFdhaXQgbWF4IDEgbWludXRlIHRvIGZpbGwgYmF0Y2hcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDMwMCAgICAgLy8gQWxsb3cgdXAgdG8gMzAwIHNlY29uZHMgZm9yIGRhdGFiYXNlIG9wZXJhdGlvbnNcbiAqIH0pO1xuICpcbiAqIC8vIFRoZSB0b3BpYyBBUk4gY2FuIGJlIHVzZWQgYnkgb3RoZXIgc2VydmljZXMgdG8gcHVibGlzaCBvYmplY3RzXG4gKiBuZXcgQ2ZuT3V0cHV0KHRoaXMsICdMb2FkZXJUb3BpY0FybicsIHtcbiAqICAgdmFsdWU6IGxvYWRlci50b3BpYy50b3BpY0FyblxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiAjIyBEaXJlY3QgT2JqZWN0IFB1Ymxpc2hpbmdcbiAqXG4gKiBFeHRlcm5hbCBzZXJ2aWNlcyBjYW4gcHVibGlzaCBTVEFDIG9iamVjdHMgZGlyZWN0bHkgdG8gdGhlIHRvcGljOlxuICpcbiAqIGBgYGJhc2hcbiAqIGF3cyBzbnMgcHVibGlzaCAtLXRvcGljLWFybiAkU1RBQ19MT0FEX1RPUElDIC0tbWVzc2FnZSAgJ3tcbiAqICAgXCJpZFwiOiBcImV4YW1wbGUtY29sbGVjdGlvblwiLFxuICogICBcInR5cGVcIjogXCJDb2xsZWN0aW9uXCIsXG4gKiAgIFwidGl0bGVcIjogXCJFeGFtcGxlIENvbGxlY3Rpb25cIixcbiAqICAgXCJkZXNjcmlwdGlvblwiOiBcIkFuIGV4YW1wbGUgY29sbGVjdGlvblwiLFxuICogICBcImxpY2Vuc2VcIjogXCJwcm9wcmlldGFyeVwiLFxuICogICBcImV4dGVudFwiOiB7XG4gKiAgICAgICBcInNwYXRpYWxcIjoge1wiYmJveFwiOiBbWy0xODAsIC05MCwgMTgwLCA5MF1dfSxcbiAqICAgICAgIFwidGVtcG9yYWxcIjoge1wiaW50ZXJ2YWxcIjogW1tudWxsLCBudWxsXV19LFxuICogICB9LFxuICogICBcInN0YWNfdmVyc2lvblwiOiBcIjEuMS4wXCIsXG4gKiB9J1xuICpcbiAqIGF3cyBzbnMgcHVibGlzaCAtLXRvcGljLWFybiAkU1RBQ19MT0FEX1RPUElDIC0tbWVzc2FnZSAne1xuICogICBcInR5cGVcIjogXCJGZWF0dXJlXCIsXG4gKiAgIFwic3RhY192ZXJzaW9uXCI6IFwiMS4wLjBcIixcbiAqICAgXCJpZFwiOiBcImV4YW1wbGUtaXRlbVwiLFxuICogICBcInByb3BlcnRpZXNcIjoge1wiZGF0ZXRpbWVcIjogXCIyMDIxLTAxLTAxVDAwOjAwOjAwWlwifSxcbiAqICAgXCJnZW9tZXRyeVwiOiB7XCJ0eXBlXCI6IFwiUG9seWdvblwiLCBcImNvb3JkaW5hdGVzXCI6IFsuLi5dfSxcbiAqICAgXCJjb2xsZWN0aW9uXCI6IFwiZXhhbXBsZS1jb2xsZWN0aW9uXCJcbiAqIH0nXG4gKlxuICpcbiAqIGBgYFxuICpcbiAqICMjIFMzIEV2ZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBUbyBlbmFibGUgUzMgZXZlbnQtZHJpdmVuIGxvYWRpbmcsIGNvbmZpZ3VyZSBTMyBidWNrZXQgbm90aWZpY2F0aW9ucyB0byBzZW5kXG4gKiBldmVudHMgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIFNUQUMgb2JqZWN0cyAoLmpzb24gb3IgLmdlb2pzb24gZmlsZXMpIGFyZSB1cGxvYWRlZDpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDb25maWd1cmUgUzMgYnVja2V0IHRvIHNlbmQgbm90aWZpY2F0aW9ucyB0byB0aGUgbG9hZGVyIHRvcGljXG4gKiBidWNrZXQuYWRkRXZlbnROb3RpZmljYXRpb24oXG4gKiAgIHMzLkV2ZW50VHlwZS5PQkpFQ1RfQ1JFQVRFRCxcbiAqICAgbmV3IHMzbi5TbnNEZXN0aW5hdGlvbihsb2FkZXIudG9waWMpLFxuICogICB7IHN1ZmZpeDogJy5qc29uJyB9XG4gKiApO1xuICpcbiAqIGJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAqICAgczMuRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVELFxuICogICBuZXcgczNuLlNuc0Rlc3RpbmF0aW9uKGxvYWRlci50b3BpYyksXG4gKiAgIHsgc3VmZml4OiAnLmdlb2pzb24nIH1cbiAqICk7XG4gKiBgYGBcbiAqXG4gKiBXaGVuIFNUQUMgb2JqZWN0cyBhcmUgdXBsb2FkZWQgdG8gdGhlIGNvbmZpZ3VyZWQgUzMgYnVja2V0LCB0aGUgbG9hZGVyIHdpbGw6XG4gKiAxLiBSZWNlaXZlIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgdmlhIFNOU1xuICogMi4gRmV0Y2ggdGhlIFNUQUMgSlNPTiBmcm9tIFMzXG4gKiAzLiBWYWxpZGF0ZSBhbmQgbG9hZCB0aGUgb2JqZWN0cyBpbnRvIHRoZSBwZ3N0YWMgZGF0YWJhc2VcbiAqXG4gKiAjIyBNb25pdG9yaW5nIGFuZCBUcm91Ymxlc2hvb3RpbmdcbiAqXG4gKiAtIE1vbml0b3IgTGFtYmRhIGxvZ3M6IGAvYXdzL2xhbWJkYS97RnVuY3Rpb25OYW1lfWBcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDaGVjayBmb3IgZmFpbGVkIG9iamVjdHMgLSAqKm5vIGF1dG9tYXRlZCBoYW5kbGluZyBwcm92aWRlZCoqXG4gKiAtIFVzZSBiYXRjaCBvYmplY3RzIGZhaWx1cmUgcmVwb3J0aW5nIGZvciBwYXJ0aWFsIGJhdGNoIHByb2Nlc3NpbmdcbiAqIC0gQ2xvdWRXYXRjaCBtZXRyaWNzIGF2YWlsYWJsZSBmb3IgcXVldWUgZGVwdGggYW5kIExhbWJkYSBwZXJmb3JtYW5jZVxuICpcbiAqICMjIyBEZWFkIExldHRlciBRdWV1ZSBNYW5hZ2VtZW50XG4gKlxuICogQXBwbGljYXRpb25zIG11c3QgaW1wbGVtZW50IHRoZWlyIG93biBkZWFkIGxldHRlciBxdWV1ZSBtb25pdG9yaW5nOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEV4YW1wbGU6IENsb3VkV2F0Y2ggYWxhcm0gZm9yIGRlYWQgbGV0dGVyIHF1ZXVlIGRlcHRoXG4gKiBuZXcgY2xvdWR3YXRjaC5BbGFybSh0aGlzLCAnRGVhZExldHRlckFsYXJtJywge1xuICogICBtZXRyaWM6IGxvYWRlci5kZWFkTGV0dGVyUXVldWUubWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZlZpc2libGVNZXNzYWdlcygpLFxuICogICB0aHJlc2hvbGQ6IDEsXG4gKiAgIGV2YWx1YXRpb25QZXJpb2RzOiAxXG4gKiB9KTtcbiAqXG4gKiAvLyBFeGFtcGxlOiBMYW1iZGEgdG8gcmVwcm9jZXNzIGRlYWQgbGV0dGVyIG1lc3NhZ2VzXG4gKiBjb25zdCByZXByb2Nlc3NGdW5jdGlvbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ1JlcHJvY2VzcycsIHtcbiAqICAgLy8gSW1wbGVtZW50YXRpb24gdG8gZmV0Y2ggYW5kIHJlcHVibGlzaCBmYWlsZWQgbWVzc2FnZXNcbiAqIH0pO1xuICogYGBgXG4gKlxuICovXG5leHBvcnQgY2xhc3MgU3RhY0xvYWRlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRoYXQgcmVjZWl2ZXMgU1RBQyBvYmplY3RzIGFuZCBTMyBldmVudCBub3RpZmljYXRpb25zIGZvciBsb2FkaW5nLlxuICAgKlxuICAgKiBUaGlzIHRvcGljIHNlcnZlcyBhcyB0aGUgZW50cnkgcG9pbnQgZm9yIHR3byB0eXBlcyBvZiBldmVudHM6XG4gICAqIDEuIERpcmVjdCBTVEFDIEpTT04gZG9jdW1lbnRzIHB1Ymxpc2hlZCBieSBleHRlcm5hbCBzZXJ2aWNlc1xuICAgKiAyLiBTMyBldmVudCBub3RpZmljYXRpb25zIHdoZW4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byBjb25maWd1cmVkIGJ1Y2tldHNcbiAgICpcbiAgICogVGhlIHRvcGljIGZhbnMgb3V0IHRvIHRoZSBTUVMgcXVldWUgZm9yIGJhdGNoZWQgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0b3BpYzogc25zLlRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgU1FTIHF1ZXVlIHRoYXQgYnVmZmVycyBtZXNzYWdlcyBiZWZvcmUgcHJvY2Vzc2luZy5cbiAgICpcbiAgICogVGhpcyBxdWV1ZSBjb2xsZWN0cyBib3RoIGRpcmVjdCBTVEFDIG9iamVjdHMgZnJvbSBTTlMgYW5kIFMzIGV2ZW50XG4gICAqIG5vdGlmaWNhdGlvbnMsIGJhdGNoaW5nIHRoZW0gZm9yIGVmZmljaWVudCBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKiBDb25maWd1cmVkIHdpdGggYSB2aXNpYmlsaXR5IHRpbWVvdXQgdGhhdCBhY2NvbW1vZGF0ZXMgTGFtYmRhXG4gICAqIHByb2Nlc3NpbmcgdGltZSBwbHVzIGJ1ZmZlci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBEZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIG9iamVjdHMgbG9hZGluZyBhdHRlbXB0cy5cbiAgICpcbiAgICogTWVzc2FnZXMgdGhhdCBmYWlsIHByb2Nlc3NpbmcgYWZ0ZXIgNSBhdHRlbXB0cyBhcmUgc2VudCBoZXJlXG4gICAqIGZvciBpbnNwZWN0aW9uIGFuZCBwb3RlbnRpYWwgcmVwbGF5LiBSZXRhaW5zIG1lc3NhZ2VzIGZvciAxNCBkYXlzXG4gICAqIHRvIGFsbG93IGZvciBkZWJ1Z2dpbmcgYW5kIG1hbnVhbCBpbnRlcnZlbnRpb24uXG4gICAqXG4gICAqICoqVXNlciBSZXNwb25zaWJpbGl0eSoqOiBUaGlzIGNvbnN0cnVjdCBwcm92aWRlcyBOTyBhdXRvbWF0ZWQgbW9uaXRvcmluZyxcbiAgICogYWxlcnRpbmcsIG9yIHJlcHJvY2Vzc2luZyBvZiBkZWFkIGxldHRlciBxdWV1ZSBtZXNzYWdlcy4gQXBwbGljYXRpb25zXG4gICAqIHVzaW5nIHRoaXMgY29uc3RydWN0IG11c3QgaW1wbGVtZW50IHRoZWlyIG93bjpcbiAgICogLSBEZWFkIGxldHRlciBxdWV1ZSBkZXB0aCBtb25pdG9yaW5nIGFuZCBhbGVydGluZ1xuICAgKiAtIEZhaWxlZCBtZXNzYWdlIGluc3BlY3Rpb24gYW5kIGRlYnVnZ2luZyB3b3JrZmxvd3NcbiAgICogLSBNYW51YWwgb3IgYXV0b21hdGVkIHJlcHJvY2Vzc2luZyBtZWNoYW5pc21zXG4gICAqIC0gQ2xlYW51cCBwcm9jZWR1cmVzIGZvciBvbGQgZmFpbGVkIG1lc3NhZ2VzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlOiBzcXMuUXVldWU7XG5cbiAgLyoqXG4gICAqIFRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBsb2FkcyBTVEFDIG9iamVjdHMgaW50byB0aGUgcGdzdGFjIGRhdGFiYXNlLlxuICAgKlxuICAgKiBUaGlzIFB5dGhvbiBmdW5jdGlvbiByZWNlaXZlcyBiYXRjaGVzIG9mIG1lc3NhZ2VzIGZyb20gU1FTIGFuZCBwcm9jZXNzZXNcbiAgICogdGhlbSBiYXNlZCBvbiB0aGVpciB0eXBlOlxuICAgKiAtIERpcmVjdCBTVEFDIG9iamVjdHM6IFZhbGlkYXRlcyBhbmQgbG9hZHMgZGlyZWN0bHkgaW50byBwZ3N0YWNcbiAgICogLSBTMyBldmVudHM6IEZldGNoZXMgU1RBQyBKU09OIGZyb20gUzMsIHZhbGlkYXRlcywgYW5kIGxvYWRzIGludG8gcGdzdGFjXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBjb25uZWN0cyB0byBQb3N0Z3JlU1FMIHVzaW5nIGNyZWRlbnRpYWxzIGZyb20gU2VjcmV0cyBNYW5hZ2VyXG4gICAqIGFuZCB1c2VzIHB5cGdzdGFjIGZvciBlZmZpY2llbnQgZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjTG9hZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgdGltZW91dFNlY29uZHMgPSBwcm9wcy5sYW1iZGFUaW1lb3V0U2Vjb25kcyA/PyAzMDA7XG4gICAgY29uc3QgbGFtYmRhUnVudGltZSA9IHByb3BzLmxhbWJkYVJ1bnRpbWUgPz8gbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTE7XG4gICAgY29uc3QgbWF4Q29uY3VycmVuY3kgPSBwcm9wcy5tYXhDb25jdXJyZW5jeSA/PyAyO1xuXG4gICAgLy8gQ3JlYXRlIGRlYWQgbGV0dGVyIHF1ZXVlXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbiBxdWV1ZVxuICAgIHRoaXMucXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiUXVldWVcIiwge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMgKyAxMCksXG4gICAgICBlbmNyeXB0aW9uOiBzcXMuUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VELFxuICAgICAgZGVhZExldHRlclF1ZXVlOiB7XG4gICAgICAgIG1heFJlY2VpdmVDb3VudDogNSxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTTlMgdG9waWNcbiAgICB0aGlzLnRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCBcIlRvcGljXCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBgJHtpZH0tU3RhY0xvYWRlclRvcGljYCxcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0aGUgcXVldWUgdG8gdGhlIHRvcGljXG4gICAgdGhpcy50b3BpYy5hZGRTdWJzY3JpcHRpb24oXG4gICAgICBuZXcgc25zU3Vic2NyaXB0aW9ucy5TcXNTdWJzY3JpcHRpb24odGhpcy5xdWV1ZSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uXCIsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYVJ1bnRpbWUsXG4gICAgICBoYW5kbGVyOiBcInN0YWNfbG9hZGVyLmhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiKSwge1xuICAgICAgICBmaWxlOiBcInN0YWMtbG9hZGVyL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogXCJsaW51eC9hbWQ2NFwiLFxuICAgICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgICBQWVRIT05fVkVSU0lPTjogbGFtYmRhUnVudGltZS50b1N0cmluZygpLnJlcGxhY2UoXCJweXRob25cIiwgXCJcIiksXG4gICAgICAgICAgUEdTVEFDX1ZFUlNJT046IHByb3BzLnBnc3RhY0RiLnBnc3RhY1ZlcnNpb24sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeVNpemUgPz8gMTAyNCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMpLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogbWF4Q29uY3VycmVuY3ksXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBHU1RBQ19TRUNSRVRfQVJOOiBwcm9wcy5wZ3N0YWNEYi5wZ3N0YWNTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgLi4ucHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgdG8gcmVhZCB0aGUgZGF0YWJhc2Ugc2VjcmV0XG4gICAgcHJvcHMucGdzdGFjRGIucGdzdGFjU2VjcmV0LmdyYW50UmVhZCh0aGlzLmxhbWJkYUZ1bmN0aW9uKTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDUwMCxcbiAgICAgICAgbWF4QmF0Y2hpbmdXaW5kb3c6IER1cmF0aW9uLm1pbnV0ZXMoXG4gICAgICAgICAgcHJvcHMubWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzID8/IDFcbiAgICAgICAgKSxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IG1heENvbmN1cnJlbmN5LFxuICAgICAgICByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIENyZWF0ZSBvdXRwdXRzXG4gICAgY29uc3QgZXhwb3J0UHJlZml4ID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJUb3BpY0FyblwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy50b3BpYy50b3BpY0FybixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkFSTiBvZiB0aGUgU3RhY0xvYWRlciBTTlMgVG9waWNcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItdG9waWMtYXJuYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY0xvYWRlciBTUVMgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItcXVldWUtdXJsYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJEZWFkTGV0dGVyUXVldWVVcmxcIiwge1xuICAgICAgdmFsdWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLnF1ZXVlVXJsLFxuICAgICAgZGVzY3JpcHRpb246IFwiVVJMIG9mIHRoZSBTdGFjTG9hZGVyIERlYWQgTGV0dGVyIFF1ZXVlXCIsXG4gICAgICBleHBvcnROYW1lOiBgJHtleHBvcnRQcmVmaXh9LXN0YWMtbG9hZGVyLWRlYWRsZXR0ZXItcXVldWUtdXJsYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJGdW5jdGlvbk5hbWVcIiwge1xuICAgICAgdmFsdWU6IHRoaXMubGFtYmRhRnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgU3RhY0xvYWRlciBMYW1iZGEgRnVuY3Rpb25cIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItZnVuY3Rpb24tbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgU3RhY0xvYWRlciBpbnN0ZWFkLiBTdGFjSXRlbUxvYWRlciB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNJdGVtTG9hZGVyIGV4dGVuZHMgU3RhY0xvYWRlciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjTG9hZGVyUHJvcHMpIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgU3RhY0l0ZW1Mb2FkZXIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBTdGFjTG9hZGVyIGluc3RlYWQuIGAgK1xuICAgICAgICBgU3RhY0l0ZW1Mb2FkZXIgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uYFxuICAgICk7XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxufVxuXG4vLyBBbHNvIGNyZWF0ZSBhIGRlcHJlY2F0ZWQgaW50ZXJmYWNlIGFsaWFzIGlmIHlvdSBoYWQgYSBzZXBhcmF0ZSBpbnRlcmZhY2Vcbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIFN0YWNMb2FkZXJQcm9wcyBpbnN0ZWFkLiBTdGFjSXRlbUxvYWRlclByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNJdGVtTG9hZGVyUHJvcHMgZXh0ZW5kcyBTdGFjTG9hZGVyUHJvcHMge31cbiJdfQ==
284
+ StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "8.3.3" };
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBMEk3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnTEc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQW9EdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxHQUFHLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFFakQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDNUQsZUFBZSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZ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QUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUMxQixXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLFVBQVUsRUFBRSxHQUFHLFlBQVksd0JBQXdCO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUTtZQUNwQyxXQUFXLEVBQUUseUNBQXlDO1lBQ3RELFVBQVUsRUFBRSxHQUFHLFlBQVksbUNBQW1DO1NBQy9ELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7WUFDdkMsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxVQUFVLEVBQUUsR0FBRyxZQUFZLDRCQUE0QjtTQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRKSCxnQ0F1SkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsVUFBVTtJQUM1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQStEO1lBQzdELHFEQUFxRCxDQUN4RCxDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7QUFSSCx3Q0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NxcyBhcyBzcXMsXG4gIGF3c19zbnMgYXMgc25zLFxuICBhd3Nfc25zX3N1YnNjcmlwdGlvbnMgYXMgc25zU3Vic2NyaXB0aW9ucyxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgRHVyYXRpb24sXG4gIENmbk91dHB1dCxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBnU3RhY0RhdGFiYXNlIH0gZnJvbSBcIi4uL2RhdGFiYXNlXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY0xvYWRlciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGxvYWRzIFNUQUMgY29sbGVjdGlvbnMgYW5kIGl0ZW1zIGludG8gYSBwZ3N0YWMgZGF0YWJhc2UuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXNcbiAqIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgcmVjZWl2aW5nIFNUQUMgb2JqZWN0cyBmcm9tIG11bHRpcGxlIHNvdXJjZXM6XG4gKiAxLiBTTlMgbWVzc2FnZXMgY29udGFpbmluZyBTVEFDIG1ldGFkYXRhIChkaXJlY3QgaW5nZXN0aW9uKVxuICogMi4gUzMgZXZlbnQgbm90aWZpY2F0aW9ucyBmb3IgU1RBQyBvYmplY3RzIHVwbG9hZGVkIHRvIFMzIGJ1Y2tldHNcbiAqXG4gKiBPYmplY3RzIGZyb20gYm90aCBzb3VyY2VzIGFyZSBiYXRjaGVkIGFuZCBpbnNlcnRlZCBpbnRvIFBvc3RncmVTUUwgd2l0aCB0aGUgcGdzdGFjIGV4dGVuc2lvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLFxuICogICBtYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXM6IDEsXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDBcbiAqIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNMb2FkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUGdTVEFDIGRhdGFiYXNlIGluc3RhbmNlIHRvIGxvYWQgZGF0YSBpbnRvLlxuICAgKlxuICAgKiBUaGlzIGRhdGFiYXNlIG11c3QgaGF2ZSB0aGUgcGdzdGFjIGV4dGVuc2lvbiBpbnN0YWxsZWQgYW5kIGJlIHByb3Blcmx5XG4gICAqIGNvbmZpZ3VyZWQgd2l0aCBjb2xsZWN0aW9ucyBiZWZvcmUgb2JqZWN0cyBjYW4gYmUgbG9hZGVkLiBUaGUgbG9hZGVyIHdpbGxcbiAgICogdXNlIEFXUyBTZWNyZXRzIE1hbmFnZXIgdG8gc2VjdXJlbHkgYWNjZXNzIGRhdGFiYXNlIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjRGI6IFBnU3RhY0RhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGxvYWRpbmcgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiBQeXRob24gYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGRhdGFiYXNlXG4gICAqIG9wZXJhdGlvbnMuIEVuc3VyZSB0aGUgcnVudGltZSB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgcGdzdGFjXG4gICAqIHZlcnNpb24gc3BlY2lmaWVkIGluIHRoZSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhUnVudGltZT86IGxhbWJkYS5SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIGl0ZW0gbG9hZCBsYW1iZGEgaW4gc2Vjb25kcy5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYWNjb21tb2RhdGUgdGhlIHRpbWUgbmVlZGVkIHRvIHByb2Nlc3MgdXAgdG8gYGJhdGNoU2l6ZWBcbiAgICogb2JqZWN0cyBhbmQgcGVyZm9ybSBkYXRhYmFzZSBpbnNlcnRpb25zLiBUaGUgU1FTIHZpc2liaWxpdHkgdGltZW91dFxuICAgKiB3aWxsIGJlIHNldCB0byB0aGlzIHZhbHVlIHBsdXMgMTAgc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFUaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWVtb3J5IHNpemUgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24gaW4gTUIuXG4gICAqXG4gICAqIEhpZ2hlciBtZW1vcnkgYWxsb2NhdGlvbiBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHByb2Nlc3NpbmdcbiAgICogbGFyZ2UgYmF0Y2hlcyBvZiBTVEFDIG9iamVjdHMsIGVzcGVjaWFsbHkgZm9yIG1lbW9yeS1pbnRlbnNpdmVcbiAgICogZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU1FTIGJhdGNoIHNpemUgZm9yIGxhbWJkYSBldmVudCBzb3VyY2UuXG4gICAqXG4gICAqIFRoaXMgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgU1RBQyBvYmplY3RzIHRoYXQgd2lsbCBiZVxuICAgKiBwcm9jZXNzZWQgdG9nZXRoZXIgaW4gYSBzaW5nbGUgbGFtYmRhIGludm9jYXRpb24uIExhcmdlciBiYXRjaFxuICAgKiBzaXplcyBpbXByb3ZlIGRhdGFiYXNlIGluc2VydGlvbiBlZmZpY2llbmN5IGJ1dCByZXF1aXJlIG1vcmVcbiAgICogbWVtb3J5IGFuZCBsb25nZXIgcHJvY2Vzc2luZyB0aW1lLlxuICAgKlxuICAgKiAqKkJhdGNoaW5nIEJlaGF2aW9yKio6IFNRUyB3aWxsIHdhaXQgdG8gYWNjdW11bGF0ZSB1cCB0byB0aGlzIG1hbnlcbiAgICogbWVzc2FnZXMgYmVmb3JlIHRyaWdnZXJpbmcgdGhlIExhbWJkYSwgT1IgdW50aWwgdGhlIG1heEJhdGNoaW5nV2luZG93XG4gICAqIHRpbWVvdXQgaXMgcmVhY2hlZCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LiBUaGlzIGNyZWF0ZXMgYW4gZWZmaWNpZW50XG4gICAqIGJhbGFuY2UgYmV0d2VlbiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDBcbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBiYXRjaGluZyB3aW5kb3cgaW4gbWludXRlcy5cbiAgICpcbiAgICogRXZlbiBpZiB0aGUgYmF0Y2ggc2l6ZSBpc24ndCByZWFjaGVkLCB0aGUgbGFtYmRhIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAqIGFmdGVyIHRoaXMgdGltZSBwZXJpb2QgdG8gZW5zdXJlIHRpbWVseSBwcm9jZXNzaW5nIG9mIG9iamVjdHMuXG4gICAqIFRoaXMgcHJldmVudHMgb2JqZWN0cyBmcm9tIHdhaXRpbmcgaW5kZWZpbml0ZWx5IGluIGxvdy12b2x1bWUgc2NlbmFyaW9zLlxuICAgKlxuICAgKiAqKkltcG9ydGFudCoqOiBUaGlzIHRpbWVvdXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBiYXRjaFNpemUgLSBTUVNcbiAgICogd2lsbCB0cmlnZ2VyIHRoZSBMYW1iZGEgd2hlbiBFSVRIRVIgdGhlIGJhdGNoIHNpemUgaXMgcmVhY2hlZCBPUiB0aGlzXG4gICAqIHRpbWUgd2luZG93IGV4cGlyZXMsIGVuc3VyaW5nIG9iamVjdHMgYXJlIHByb2Nlc3NlZCBpbiBhIHRpbWVseSBtYW5uZXJcbiAgICogcmVnYXJkbGVzcyBvZiB2b2x1bWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IG1heEJhdGNoaW5nV2luZG93TWludXRlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBmdW5jdGlvblxuICAgKlxuICAgKiBUaGlzIGxpbWl0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCB3aWxsIGNvbnRyb2wgaG93XG4gICAqIG1hbnkgY29uY3VycmVudCBiYXRjaGVzIHdpbGwgYmUgcmVsZWFzZWQgZnJvbSB0aGUgU1FTIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZXNlIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluY2x1ZGluZ1xuICAgKiBQR1NUQUNfU0VDUkVUX0FSTi4gVXNlIHRoaXMgZm9yIGN1c3RvbSBjb25maWd1cmF0aW9uIG9yIGRlYnVnZ2luZyBmbGFncy5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSBvcHRpb24gdG8gdXBsb2FkIGEgYm9pbGVycGxhdGUgY29sbGVjdGlvbiByZWNvcmRcbiAgICogaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGNvbGxlY3Rpb24gcmVjb3JkIGRvZXMgbm90IHlldCBleGlzdCBmb3IgYW4gaXRlbSB0aGF0XG4gICAqIGlzIHNldCB0byBiZSBsb2FkZWQsIHNldCB0aGUgdmFyaWFibGUgYFwiQ1JFQVRFX0NPTExFQ1RJT05TX0lGX01JU1NJTkdcIjogXCJUUlVFXCJgLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xufVxuXG4vKipcbiAqIEFXUyBDREsgQ29uc3RydWN0IGZvciBTVEFDIE9iamVjdCBMb2FkaW5nIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGxvYWRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIG9iamVjdHMgaW50byBhIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2l0aFxuICogdGhlIHBnc3RhYyBleHRlbnNpb24uIFRoaXMgY29uc3RydWN0IHN1cHBvcnRzIG11bHRpcGxlIGluZ2VzdGlvbiBwYXRod2F5c1xuICogZm9yIGZsZXhpYmxlIFNUQUMgb2JqZWN0IGxvYWRpbmcuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnNcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBhbmQgYmF0Y2hlcyBtZXNzYWdlcyBiZWZvcmUgcHJvY2Vzc2luZyAoNjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbG9hZGluZyBhdHRlbXB0cyBhZnRlciA1IHJldHJpZXNcbiAqIC0gKipMYW1iZGEgRnVuY3Rpb24qKjogUHl0aG9uIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGJhdGNoZXMgYW5kIGluc2VydHMgb2JqZWN0cyBpbnRvIHBnc3RhY1xuICpcbiAqICMjIERhdGEgRmxvd1xuICpcbiAqIFRoZSBsb2FkZXIgc3VwcG9ydHMgdHdvIHByaW1hcnkgZGF0YSBpbmdlc3Rpb24gcGF0dGVybnM6XG4gKlxuICogIyMjIERpcmVjdCBTVEFDIE9iamVjdCBQdWJsaXNoaW5nXG4gKiAxLiBTVEFDIG9iamVjdHMgKEpTT04pIGFyZSBwdWJsaXNoZWQgZGlyZWN0bHkgdG8gdGhlIFNOUyB0b3BpYyBpbiBtZXNzYWdlIGJvZGllc1xuICogMi4gVGhlIFNRUyBxdWV1ZSBjb2xsZWN0cyBtZXNzYWdlcyBhbmQgYmF0Y2hlcyB0aGVtICh1cCB0byB7YmF0Y2hTaXplfSBvYmplY3RzIG9yIDEgbWludXRlIHdpbmRvdylcbiAqIDMuIFRoZSBMYW1iZGEgZnVuY3Rpb24gcmVjZWl2ZXMgYmF0Y2hlcywgdmFsaWRhdGVzIG9iamVjdHMsIGFuZCBpbnNlcnRzIGludG8gcGdzdGFjXG4gKlxuICogIyMjIFMzIEV2ZW50LURyaXZlbiBMb2FkaW5nXG4gKiAxLiBBbiBTMyBidWNrZXQgaXMgY29uZmlndXJlZCB0byBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIGpzb24gZmlsZXMgYXJlIGNyZWF0ZWRcbiAqIDIuIFNUQUMgb2JqZWN0cyBhcmUgdXBsb2FkZWQgdG8gUzMgYnVja2V0cyBhcyBKU09OL0dlb0pTT04gZmlsZXNcbiAqIDMuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIG9iamVjdHMgYXJlIHVwbG9hZGVkXG4gKiA0LiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHJlY2VpdmVzIFMzIGV2ZW50cyBpbiB0aGUgU1FTIG1lc3NhZ2UgYmF0Y2gsIGZldGNoZXMgb2JqZWN0cyBmcm9tIFMzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAqXG4gKiAjIyBCYXRjaGluZyBCZWhhdmlvclxuICpcbiAqIFRoZSBTUVMtdG8tTGFtYmRhIGludGVncmF0aW9uIHVzZXMgaW50ZWxsaWdlbnQgYmF0Y2hpbmcgdG8gb3B0aW1pemUgcGVyZm9ybWFuY2U6XG4gKlxuICogLSAqKkJhdGNoIFNpemUqKjogTGFtYmRhIHdhaXRzIHRvIHJlY2VpdmUgdXAgdG8gYGJhdGNoU2l6ZWAgbWVzc2FnZXMgKGRlZmF1bHQ6IDUwMClcbiAqIC0gKipCYXRjaGluZyBXaW5kb3cqKjogSWYgZmV3ZXIgdGhhbiBgYmF0Y2hTaXplYCBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLCBMYW1iZGFcbiAqICAgdHJpZ2dlcnMgYWZ0ZXIgYG1heEJhdGNoaW5nV2luZG93YCBtaW51dGVzIChkZWZhdWx0OiAxIG1pbnV0ZSlcbiAqIC0gKipUcmlnZ2VyIENvbmRpdGlvbioqOiBMYW1iZGEgZXhlY3V0ZXMgd2hlbiBFSVRIRVIgY29uZGl0aW9uIGlzIG1ldCBmaXJzdFxuICogLSAqKkNvbmN1cnJlbmN5Kio6IExpbWl0ZWQgdG8gYG1heENvbmN1cnJlbmN5YCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgdG8gcHJldmVudCBkYXRhYmFzZSBvdmVybG9hZFxuICogLSAqKlBhcnRpYWwgRmFpbHVyZXMqKjogVXNlcyBgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNgIHRvIHJldHJ5IG9ubHkgZmFpbGVkIG9iamVjdHNcbiAqXG4gKiBUaGlzIGFwcHJvYWNoIGJhbGFuY2VzIHRocm91Z2hwdXQgKGxhcmdlciBiYXRjaGVzID0gZmV3ZXIgZGF0YWJhc2UgY29ubmVjdGlvbnMpXG4gKiB3aXRoIGxhdGVuY3kgKHRpbWUtYmFzZWQgdHJpZ2dlcnMgcHJldmVudCBpbmRlZmluaXRlIHdhaXRpbmcpLlxuICpcbiAqICMjIEVycm9yIEhhbmRsaW5nIGFuZCBEZWFkIExldHRlciBRdWV1ZVxuICpcbiAqIEZhaWxlZCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWUgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzLlxuICogKipJbXBvcnRhbnQqKjogVGhpcyBjb25zdHJ1Y3QgcHJvdmlkZXMgTk8gYXV0b21hdGVkIGhhbmRsaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlXG4gKiBtZXNzYWdlcyAtIG1vbml0b3JpbmcsIGluc3BlY3Rpb24sIGFuZCByZXByb2Nlc3Npbmcgb2YgZmFpbGVkIG9iamVjdHMgaXMgdGhlXG4gKiByZXNwb25zaWJpbGl0eSBvZiB0aGUgaW1wbGVtZW50aW5nIGFwcGxpY2F0aW9uLlxuICpcbiAqIENvbnNpZGVyIGltcGxlbWVudGluZzpcbiAqIC0gQ2xvdWRXYXRjaCBhbGFybXMgb24gZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIC0gTWFudWFsIG9yIGF1dG9tYXRlZCByZXByb2Nlc3Npbmcgd29ya2Zsb3dzXG4gKiAtIExvZ2dpbmcgYW5kIGFsZXJ0aW5nIGZvciBmYWlsZWQgb2JqZWN0c1xuICogLSBSZWd1bGFyIGNsZWFudXAgb2Ygb2xkIGRlYWQgbGV0dGVyIG1lc3NhZ2VzICgxNC1kYXkgcmV0ZW50aW9uKVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGhcbiAqIC0gKipSZWxpYWJpbGl0eSoqOiBEZWFkIGxldHRlciBxdWV1ZSBjYXB0dXJlcyBmYWlsdXJlcyBmb3IgZGVidWdnaW5nXG4gKiAtICoqRWZmaWNpZW5jeSoqOiBCYXRjaGluZyBvcHRpbWl6ZXMgZGF0YWJhc2Ugb3BlcmF0aW9ucyBmb3IgaGlnaCB0aHJvdWdocHV0XG4gKiAtICoqU2VjdXJpdHkqKjogRGF0YWJhc2UgY3JlZGVudGlhbHMgYWNjZXNzZWQgdmlhIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gKipPYnNlcnZhYmlsaXR5Kio6IENsb3VkV2F0Y2ggbG9ncyByZXRhaW5lZCBmb3Igb25lIHdlZWtcbiAqXG4gKiAjIyBQcmVyZXF1aXNpdGVzXG4gKlxuICogQmVmb3JlIHVzaW5nIHRoaXMgY29uc3RydWN0LCBlbnN1cmU6XG4gKiAtIFRoZSBwZ3N0YWMgZGF0YWJhc2UgaGFzIGNvbGxlY3Rpb25zIGxvYWRlZCAob2JqZWN0cyByZXF1aXJlIGV4aXN0aW5nIGNvbGxlY3Rpb24gSURzKVxuICogLSBEYXRhYmFzZSBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gVGhlIHBnc3RhYyBleHRlbnNpb24gaXMgcHJvcGVybHkgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBkYXRhYmFzZSBmaXJzdFxuICogY29uc3QgZGF0YWJhc2UgPSBuZXcgUGdTdGFjRGF0YWJhc2UodGhpcywgJ0RhdGFiYXNlJywge1xuICogICBwZ3N0YWNWZXJzaW9uOiAnMC45LjUnXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgT2JqZWN0IGxvYWRlclxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLCAgICAgICAgICAvLyBQcm9jZXNzIHVwIHRvIDEwMDAgb2JqZWN0cyBwZXIgYmF0Y2hcbiAqICAgbWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzOiAxLCAvLyBXYWl0IG1heCAxIG1pbnV0ZSB0byBmaWxsIGJhdGNoXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDAgICAgIC8vIEFsbG93IHVwIHRvIDMwMCBzZWNvbmRzIGZvciBkYXRhYmFzZSBvcGVyYXRpb25zXG4gKiB9KTtcbiAqXG4gKiAvLyBUaGUgdG9waWMgQVJOIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHNlcnZpY2VzIHRvIHB1Ymxpc2ggb2JqZWN0c1xuICogbmV3IENmbk91dHB1dCh0aGlzLCAnTG9hZGVyVG9waWNBcm4nLCB7XG4gKiAgIHZhbHVlOiBsb2FkZXIudG9waWMudG9waWNBcm5cbiAqIH0pO1xuICogYGBgXG4gKlxuICogIyMgRGlyZWN0IE9iamVjdCBQdWJsaXNoaW5nXG4gKlxuICogRXh0ZXJuYWwgc2VydmljZXMgY2FuIHB1Ymxpc2ggU1RBQyBvYmplY3RzIGRpcmVjdGx5IHRvIHRoZSB0b3BpYzpcbiAqXG4gKiBgYGBiYXNoXG4gKiBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gJFNUQUNfTE9BRF9UT1BJQyAtLW1lc3NhZ2UgICd7XG4gKiAgIFwiaWRcIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIixcbiAqICAgXCJ0eXBlXCI6IFwiQ29sbGVjdGlvblwiLFxuICogICBcInRpdGxlXCI6IFwiRXhhbXBsZSBDb2xsZWN0aW9uXCIsXG4gKiAgIFwiZGVzY3JpcHRpb25cIjogXCJBbiBleGFtcGxlIGNvbGxlY3Rpb25cIixcbiAqICAgXCJsaWNlbnNlXCI6IFwicHJvcHJpZXRhcnlcIixcbiAqICAgXCJleHRlbnRcIjoge1xuICogICAgICAgXCJzcGF0aWFsXCI6IHtcImJib3hcIjogW1stMTgwLCAtOTAsIDE4MCwgOTBdXX0sXG4gKiAgICAgICBcInRlbXBvcmFsXCI6IHtcImludGVydmFsXCI6IFtbbnVsbCwgbnVsbF1dfVxuICogICB9LFxuICogICBcInN0YWNfdmVyc2lvblwiOiBcIjEuMS4wXCIsXG4gKiAgIFwibGlua3NcIjogW11cbiAqIH0nXG4gKlxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRTVEFDX0xPQURfVE9QSUMgLS1tZXNzYWdlICd7XG4gKiAgIFwidHlwZVwiOiBcIkZlYXR1cmVcIixcbiAqICAgXCJzdGFjX3ZlcnNpb25cIjogXCIxLjAuMFwiLFxuICogICBcImlkXCI6IFwiZXhhbXBsZS1pdGVtXCIsXG4gKiAgIFwicHJvcGVydGllc1wiOiB7XCJkYXRldGltZVwiOiBcIjIwMjEtMDEtMDFUMDA6MDA6MDBaXCJ9LFxuICogICBcImdlb21ldHJ5XCI6IHtcInR5cGVcIjogXCJQb2x5Z29uXCIsIFwiY29vcmRpbmF0ZXNcIjogWy4uLl19LFxuICogICBcImNvbGxlY3Rpb25cIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIlxuICogfSdcbiAqXG4gKlxuICogYGBgXG4gKlxuICogIyMgUzMgRXZlbnQgQ29uZmlndXJhdGlvblxuICpcbiAqIFRvIGVuYWJsZSBTMyBldmVudC1kcml2ZW4gbG9hZGluZywgY29uZmlndXJlIFMzIGJ1Y2tldCBub3RpZmljYXRpb25zIHRvIHNlbmRcbiAqIGV2ZW50cyB0byB0aGUgU05TIHRvcGljIHdoZW4gU1RBQyBvYmplY3RzICguanNvbiBvciAuZ2VvanNvbiBmaWxlcykgYXJlIHVwbG9hZGVkOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENvbmZpZ3VyZSBTMyBidWNrZXQgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAqICAgczMuRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVELFxuICogICBuZXcgczNuLlNuc0Rlc3RpbmF0aW9uKGxvYWRlci50b3BpYyksXG4gKiAgIHsgc3VmZml4OiAnLmpzb24nIH1cbiAqICk7XG4gKlxuICogYnVja2V0LmFkZEV2ZW50Tm90aWZpY2F0aW9uKFxuICogICBzMy5FdmVudFR5cGUuT0JKRUNUX0NSRUFURUQsXG4gKiAgIG5ldyBzM24uU25zRGVzdGluYXRpb24obG9hZGVyLnRvcGljKSxcbiAqICAgeyBzdWZmaXg6ICcuZ2VvanNvbicgfVxuICogKTtcbiAqIGBgYFxuICpcbiAqIFdoZW4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byB0aGUgY29uZmlndXJlZCBTMyBidWNrZXQsIHRoZSBsb2FkZXIgd2lsbDpcbiAqIDEuIFJlY2VpdmUgUzMgZXZlbnQgbm90aWZpY2F0aW9ucyB2aWEgU05TXG4gKiAyLiBGZXRjaCB0aGUgU1RBQyBKU09OIGZyb20gUzNcbiAqIDMuIFZhbGlkYXRlIGFuZCBsb2FkIHRoZSBvYmplY3RzIGludG8gdGhlIHBnc3RhYyBkYXRhYmFzZVxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSAqKkRlYWQgTGV0dGVyIFF1ZXVlKio6IENoZWNrIGZvciBmYWlsZWQgb2JqZWN0cyAtICoqbm8gYXV0b21hdGVkIGhhbmRsaW5nIHByb3ZpZGVkKipcbiAqIC0gVXNlIGJhdGNoIG9iamVjdHMgZmFpbHVyZSByZXBvcnRpbmcgZm9yIHBhcnRpYWwgYmF0Y2ggcHJvY2Vzc2luZ1xuICogLSBDbG91ZFdhdGNoIG1ldHJpY3MgYXZhaWxhYmxlIGZvciBxdWV1ZSBkZXB0aCBhbmQgTGFtYmRhIHBlcmZvcm1hbmNlXG4gKlxuICogIyMjIERlYWQgTGV0dGVyIFF1ZXVlIE1hbmFnZW1lbnRcbiAqXG4gKiBBcHBsaWNhdGlvbnMgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duIGRlYWQgbGV0dGVyIHF1ZXVlIG1vbml0b3Jpbmc6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZTogQ2xvdWRXYXRjaCBhbGFybSBmb3IgZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIG5ldyBjbG91ZHdhdGNoLkFsYXJtKHRoaXMsICdEZWFkTGV0dGVyQWxhcm0nLCB7XG4gKiAgIG1ldHJpYzogbG9hZGVyLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mVmlzaWJsZU1lc3NhZ2VzKCksXG4gKiAgIHRocmVzaG9sZDogMSxcbiAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDFcbiAqIH0pO1xuICpcbiAqIC8vIEV4YW1wbGU6IExhbWJkYSB0byByZXByb2Nlc3MgZGVhZCBsZXR0ZXIgbWVzc2FnZXNcbiAqIGNvbnN0IHJlcHJvY2Vzc0Z1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnUmVwcm9jZXNzJywge1xuICogICAvLyBJbXBsZW1lbnRhdGlvbiB0byBmZXRjaCBhbmQgcmVwdWJsaXNoIGZhaWxlZCBtZXNzYWdlc1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFjTG9hZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdGhhdCByZWNlaXZlcyBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgZm9yIGxvYWRpbmcuXG4gICAqXG4gICAqIFRoaXMgdG9waWMgc2VydmVzIGFzIHRoZSBlbnRyeSBwb2ludCBmb3IgdHdvIHR5cGVzIG9mIGV2ZW50czpcbiAgICogMS4gRGlyZWN0IFNUQUMgSlNPTiBkb2N1bWVudHMgcHVibGlzaGVkIGJ5IGV4dGVybmFsIHNlcnZpY2VzXG4gICAqIDIuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgd2hlbiBTVEFDIG9iamVjdHMgYXJlIHVwbG9hZGVkIHRvIGNvbmZpZ3VyZWQgYnVja2V0c1xuICAgKlxuICAgKiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgYmF0Y2hlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRvcGljOiBzbnMuVG9waWM7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdGhhdCBidWZmZXJzIG1lc3NhZ2VzIGJlZm9yZSBwcm9jZXNzaW5nLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIGNvbGxlY3RzIGJvdGggZGlyZWN0IFNUQUMgb2JqZWN0cyBmcm9tIFNOUyBhbmQgUzMgZXZlbnRcbiAgICogbm90aWZpY2F0aW9ucywgYmF0Y2hpbmcgdGhlbSBmb3IgZWZmaWNpZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuXG4gICAqIENvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IGFjY29tbW9kYXRlcyBMYW1iZGFcbiAgICogcHJvY2Vzc2luZyB0aW1lIHBsdXMgYnVmZmVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlOiBzcXMuUXVldWU7XG5cbiAgLyoqXG4gICAqIERlYWQgbGV0dGVyIHF1ZXVlIGZvciBmYWlsZWQgb2JqZWN0cyBsb2FkaW5nIGF0dGVtcHRzLlxuICAgKlxuICAgKiBNZXNzYWdlcyB0aGF0IGZhaWwgcHJvY2Vzc2luZyBhZnRlciA1IGF0dGVtcHRzIGFyZSBzZW50IGhlcmVcbiAgICogZm9yIGluc3BlY3Rpb24gYW5kIHBvdGVudGlhbCByZXBsYXkuIFJldGFpbnMgbWVzc2FnZXMgZm9yIDE0IGRheXNcbiAgICogdG8gYWxsb3cgZm9yIGRlYnVnZ2luZyBhbmQgbWFudWFsIGludGVydmVudGlvbi5cbiAgICpcbiAgICogKipVc2VyIFJlc3BvbnNpYmlsaXR5Kio6IFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIE5PIGF1dG9tYXRlZCBtb25pdG9yaW5nLFxuICAgKiBhbGVydGluZywgb3IgcmVwcm9jZXNzaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlIG1lc3NhZ2VzLiBBcHBsaWNhdGlvbnNcbiAgICogdXNpbmcgdGhpcyBjb25zdHJ1Y3QgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duOlxuICAgKiAtIERlYWQgbGV0dGVyIHF1ZXVlIGRlcHRoIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nXG4gICAqIC0gRmFpbGVkIG1lc3NhZ2UgaW5zcGVjdGlvbiBhbmQgZGVidWdnaW5nIHdvcmtmbG93c1xuICAgKiAtIE1hbnVhbCBvciBhdXRvbWF0ZWQgcmVwcm9jZXNzaW5nIG1lY2hhbmlzbXNcbiAgICogLSBDbGVhbnVwIHByb2NlZHVyZXMgZm9yIG9sZCBmYWlsZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU6IHNxcy5RdWV1ZTtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IGxvYWRzIFNUQUMgb2JqZWN0cyBpbnRvIHRoZSBwZ3N0YWMgZGF0YWJhc2UuXG4gICAqXG4gICAqIFRoaXMgUHl0aG9uIGZ1bmN0aW9uIHJlY2VpdmVzIGJhdGNoZXMgb2YgbWVzc2FnZXMgZnJvbSBTUVMgYW5kIHByb2Nlc3Nlc1xuICAgKiB0aGVtIGJhc2VkIG9uIHRoZWlyIHR5cGU6XG4gICAqIC0gRGlyZWN0IFNUQUMgb2JqZWN0czogVmFsaWRhdGVzIGFuZCBsb2FkcyBkaXJlY3RseSBpbnRvIHBnc3RhY1xuICAgKiAtIFMzIGV2ZW50czogRmV0Y2hlcyBTVEFDIEpTT04gZnJvbSBTMywgdmFsaWRhdGVzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGNvbm5lY3RzIHRvIFBvc3RncmVTUUwgdXNpbmcgY3JlZGVudGlhbHMgZnJvbSBTZWNyZXRzIE1hbmFnZXJcbiAgICogYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGVmZmljaWVudCBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0aW1lb3V0U2Vjb25kcyA9IHByb3BzLmxhbWJkYVRpbWVvdXRTZWNvbmRzID8/IDMwMDtcbiAgICBjb25zdCBsYW1iZGFSdW50aW1lID0gcHJvcHMubGFtYmRhUnVudGltZSA/PyBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMTtcbiAgICBjb25zdCBtYXhDb25jdXJyZW5jeSA9IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDI7XG5cbiAgICAvLyBDcmVhdGUgZGVhZCBsZXR0ZXIgcXVldWVcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJEZWFkTGV0dGVyUXVldWVcIiwge1xuICAgICAgcmV0ZW50aW9uUGVyaW9kOiBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBtYWluIHF1ZXVlXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJRdWV1ZVwiLCB7XG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyArIDEwKSxcbiAgICAgIGVuY3J5cHRpb246IHNxcy5RdWV1ZUVuY3J5cHRpb24uU1FTX01BTkFHRUQsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50OiA1LFxuICAgICAgICBxdWV1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFNOUyB0b3BpY1xuICAgIHRoaXMudG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsIFwiVG9waWNcIiwge1xuICAgICAgZGlzcGxheU5hbWU6IGAke2lkfS1TdGFjTG9hZGVyVG9waWNgLFxuICAgIH0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRoZSBxdWV1ZSB0byB0aGUgdG9waWNcbiAgICB0aGlzLnRvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgIG5ldyBzbnNTdWJzY3JpcHRpb25zLlNxc1N1YnNjcmlwdGlvbih0aGlzLnF1ZXVlKVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGxhbWJkYSBmdW5jdGlvblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgcnVudGltZTogbGFtYmRhUnVudGltZSxcbiAgICAgIGhhbmRsZXI6IFwic3RhY19sb2FkZXIuaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhYy1sb2FkZXIvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIHBsYXRmb3JtOiBcImxpbnV4L2FtZDY0XCIsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgICBQR1NUQUNfVkVSU0lPTjogcHJvcHMucGdzdGFjRGIucGdzdGFjVmVyc2lvbixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyksXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBtYXhDb25jdXJyZW5jeSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUEdTVEFDX1NFQ1JFVF9BUk46IHByb3BzLnBnc3RhY0RiLnBnc3RhY1NlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIC4uLnByb3BzLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBHcmFudCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBkYXRhYmFzZSBzZWNyZXRcbiAgICBwcm9wcy5wZ3N0YWNEYi5wZ3N0YWNTZWNyZXQuZ3JhbnRSZWFkKHRoaXMubGFtYmRhRnVuY3Rpb24pO1xuXG4gICAgLy8gQWRkIFNRUyBldmVudCBzb3VyY2UgdG8gdGhlIGxhbWJkYVxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24uYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgbGFtYmRhRXZlbnRTb3VyY2VzLlNxc0V2ZW50U291cmNlKHRoaXMucXVldWUsIHtcbiAgICAgICAgYmF0Y2hTaXplOiBwcm9wcy5iYXRjaFNpemUgPz8gNTAwLFxuICAgICAgICBtYXhCYXRjaGluZ1dpbmRvdzogRHVyYXRpb24ubWludXRlcyhcbiAgICAgICAgICBwcm9wcy5tYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXMgPz8gMVxuICAgICAgICApLFxuICAgICAgICBtYXhDb25jdXJyZW5jeTogbWF4Q29uY3VycmVuY3ksXG4gICAgICAgIHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzOiB0cnVlLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjTG9hZGVyIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci10b3BpYy1hcm5gLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnF1ZXVlLnF1ZXVlVXJsLFxuICAgICAgZGVzY3JpcHRpb246IFwiVVJMIG9mIHRoZSBTdGFjTG9hZGVyIFNRUyBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkRlYWRMZXR0ZXJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVUkwgb2YgdGhlIFN0YWNMb2FkZXIgRGVhZCBMZXR0ZXIgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1mdW5jdGlvbi1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBTdGFjTG9hZGVyIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY0l0ZW1Mb2FkZXIgZXh0ZW5kcyBTdGFjTG9hZGVyIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBTdGFjSXRlbUxvYWRlciBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIFN0YWNMb2FkZXIgaW5zdGVhZC4gYCArXG4gICAgICAgIGBTdGFjSXRlbUxvYWRlciB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5gXG4gICAgKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG59XG5cbi8vIEFsc28gY3JlYXRlIGEgZGVwcmVjYXRlZCBpbnRlcmZhY2UgYWxpYXMgaWYgeW91IGhhZCBhIHNlcGFyYXRlIGludGVyZmFjZVxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgU3RhY0xvYWRlclByb3BzIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyUHJvcHMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY0l0ZW1Mb2FkZXJQcm9wcyBleHRlbmRzIFN0YWNMb2FkZXJQcm9wcyB7fVxuIl19
@@ -180,29 +180,30 @@ class StactoolsItemGenerator extends constructs_1.Construct {
180
180
  // Note: This will be granted externally since we only have the ARN
181
181
  // The consuming construct should handle this permission
182
182
  // Create outputs
183
+ const exportPrefix = aws_cdk_lib_1.Stack.of(this).stackName;
183
184
  new aws_cdk_lib_1.CfnOutput(this, "TopicArn", {
184
185
  value: this.topic.topicArn,
185
186
  description: "ARN of the StactoolsItemGenerator SNS Topic",
186
- exportName: "stactools-item-generator-topic-arn",
187
+ exportName: `${exportPrefix}-stactools-item-generator-topic-arn`,
187
188
  });
188
189
  new aws_cdk_lib_1.CfnOutput(this, "QueueUrl", {
189
190
  value: this.queue.queueUrl,
190
191
  description: "URL of the StactoolsItemGenerator SQS Queue",
191
- exportName: "stactools-item-generator-queue-url",
192
+ exportName: `${exportPrefix}-stactools-item-generator-queue-url`,
192
193
  });
193
194
  new aws_cdk_lib_1.CfnOutput(this, "DeadLetterQueueUrl", {
194
195
  value: this.deadLetterQueue.queueUrl,
195
196
  description: "URL of the StactoolsItemGenerator Dead Letter Queue",
196
- exportName: "stactools-item-generator-deadletter-queue-url",
197
+ exportName: `${exportPrefix}-stactools-item-generator-deadletter-queue-url`,
197
198
  });
198
199
  new aws_cdk_lib_1.CfnOutput(this, "FunctionName", {
199
200
  value: this.lambdaFunction.functionName,
200
201
  description: "Name of the StactoolsItemGenerator Lambda Function",
201
- exportName: "stactools-item-generator-function-name",
202
+ exportName: `${exportPrefix}-stactools-item-generator-function-name`,
202
203
  });
203
204
  }
204
205
  }
205
206
  exports.StactoolsItemGenerator = StactoolsItemGenerator;
206
207
  _a = JSII_RTTI_SYMBOL_1;
207
- StactoolsItemGenerator[_a] = { fqn: "eoapi-cdk.StactoolsItemGenerator", version: "8.3.1" };
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsK0RBQXNEO0FBQ3RELDZCQUE2QjtBQW1IN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0hHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQW9DbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksR0FBRyxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhFLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUJBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzVELGVBQWUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hDLGlCQUFpQixFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDeEQsVUFBVSxFQUFFLHFCQUFHLENBQUMsZUFBZSxDQUFDLFdBQVc7WUFDM0MsZUFBZSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixLQUFLLEVBQUUs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QztTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5JSCx3REFvSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19zcXMgYXMgc3FzLFxuICBhd3Nfc25zIGFzIHNucyxcbiAgYXdzX3Nuc19zdWJzY3JpcHRpb25zIGFzIHNuc1N1YnNjcmlwdGlvbnMsXG4gIGF3c19sYW1iZGFfZXZlbnRfc291cmNlcyBhcyBsYW1iZGFFdmVudFNvdXJjZXMsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIER1cmF0aW9uLFxuICBDZm5PdXRwdXQsXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGdlbmVyYXRlcyBTVEFDIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgdGhlXG4gKiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGZpcnN0IHBoYXNlIG9mIHRoZSBwaXBlbGluZSAtIHByb2Nlc3NpbmcgbWV0YWRhdGFcbiAqIGFib3V0IGFzc2V0cyBhbmQgdHJhbnNmb3JtaW5nIHRoZW0gaW50byBzdGFuZGFyZGl6ZWQgU1RBQyBpdGVtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZ2VuZXJhdG9yID0gbmV3IFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IodGhpcywgJ0l0ZW1HZW5lcmF0b3InLCB7XG4gKiAgIGl0ZW1Mb2FkVG9waWNBcm46IGxvYWRlci50b3BpYy50b3BpY0FybixcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDEyMCxcbiAqICAgbWF4Q29uY3VycmVuY3k6IDEwMCxcbiAqICAgYmF0Y2hTaXplOiAxMFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBjb250YWluZXJpemVkIHVzaW5nIERvY2tlciBhbmQgY2FuIGFjY29tbW9kYXRlIHZhcmlvdXNcbiAgICogc3RhY3Rvb2xzIHBhY2thZ2VzLiBUaGUgcnVudGltZSB2ZXJzaW9uIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGggdGhlXG4gICAqIHBhY2thZ2VzIHlvdSBwbGFuIHRvIHVzZSBmb3IgU1RBQyBpdGVtIGdlbmVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFSdW50aW1lPzogbGFtYmRhLlJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gbGFtYmRhIGluIHNlY29uZHMuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGFjY29tbW9kYXRlIHRoZSB0aW1lIG5lZWRlZCB0bzpcbiAgICogLSBJbnN0YWxsIHN0YWN0b29scyBwYWNrYWdlcyB1c2luZyB1dnhcbiAgICogLSBEb3dubG9hZCBhbmQgcHJvY2VzcyBzb3VyY2UgZGF0YVxuICAgKiAtIEdlbmVyYXRlIFNUQUMgbWV0YWRhdGFcbiAgICogLSBQdWJsaXNoIHJlc3VsdHMgdG8gU05TXG4gICAqXG4gICAqIFRoZSBTUVMgdmlzaWJpbGl0eSB0aW1lb3V0IHdpbGwgYmUgc2V0IHRvIHRoaXMgdmFsdWUgcGx1cyAxMCBzZWNvbmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMjBcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgc2l6ZSBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbiBpbiBNQi5cbiAgICpcbiAgICogSGlnaGVyIG1lbW9yeSBhbGxvY2F0aW9uIG1heSBiZSBuZWVkZWQgZm9yIHByb2Nlc3NpbmcgbGFyZ2UgZ2Vvc3BhdGlhbFxuICAgKiBkYXRhc2V0cyBvciB3aGVuIHN0YWN0b29scyBwYWNrYWdlcyBoYXZlIGhpZ2ggbWVtb3J5IHJlcXVpcmVtZW50cy5cbiAgICogTW9yZSBtZW1vcnkgYWxzbyBwcm92aWRlcyBwcm9wb3J0aW9uYWxseSBtb3JlIENQVSBwb3dlci5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBleGVjdXRpb25zLlxuICAgKlxuICAgKiBUaGlzIGNvbnRyb2xzIGhvdyBtYW55IGl0ZW0gZ2VuZXJhdGlvbiB0YXNrcyBjYW4gcnVuIHNpbXVsdGFuZW91c2x5LlxuICAgKiBIaWdoZXIgY29uY3VycmVuY3kgZW5hYmxlcyBmYXN0ZXIgcHJvY2Vzc2luZyBvZiBsYXJnZSBiYXRjaGVzIGJ1dFxuICAgKiBtYXkgc3RyYWluIGRvd25zdHJlYW0gc3lzdGVtcyBvciBleHRlcm5hbCBkYXRhIHNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNRUyBiYXRjaCBzaXplIGZvciBsYW1iZGEgZXZlbnQgc291cmNlLlxuICAgKlxuICAgKiBUaGlzIGRldGVybWluZXMgaG93IG1hbnkgZ2VuZXJhdGlvbiByZXF1ZXN0cyBhcmUgcHJvY2Vzc2VkIHRvZ2V0aGVyXG4gICAqIGluIGEgc2luZ2xlIGxhbWJkYSBpbnZvY2F0aW9uLiBVbmxpa2UgdGhlIGxvYWRlciwgZ2VuZXJhdGlvbiB0eXBpY2FsbHlcbiAgICogcHJvY2Vzc2VzIGl0ZW1zIGluZGl2aWR1YWxseSwgc28gc21hbGxlciBiYXRjaCBzaXplcyBhcmUgY29tbW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlc2Ugd2lsbCBiZSBtZXJnZWQgd2l0aCBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcyBpbmNsdWRpbmdcbiAgICogSVRFTV9MT0FEX1RPUElDX0FSTiBhbmQgTE9HX0xFVkVMLiBVc2UgdGhpcyBmb3IgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgICogb3IgdG8gcGFzcyBjcmVkZW50aWFscyBmb3IgZXh0ZXJuYWwgZGF0YSBzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgdGhlIFNOUyB0b3BpYyB0byBwdWJsaXNoIGdlbmVyYXRlZCBpdGVtcyB0by5cbiAgICpcbiAgICogVGhpcyBpcyB0eXBpY2FsbHkgdGhlIHRvcGljIGZyb20gYSBTdGFjTG9hZGVyIGNvbnN0cnVjdC5cbiAgICogR2VuZXJhdGVkIFNUQUMgaXRlbXMgd2lsbCBiZSBwdWJsaXNoZWQgaGVyZSBmb3IgZG93bnN0cmVhbVxuICAgKiBwcm9jZXNzaW5nIGFuZCBkYXRhYmFzZSBpbnNlcnRpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVtTG9hZFRvcGljQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbi8qKlxuICogQVdTIENESyBDb25zdHJ1Y3QgZm9yIFNUQUMgSXRlbSBHZW5lcmF0aW9uIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGdlbmVyYXRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0XG4gKiBpbXBsZW1lbnRzIHRoZSBmaXJzdCBwaGFzZSBvZiBhIHR3by1zdGFnZSBpbmdlc3Rpb24gcGlwZWxpbmUgdGhhdCB0cmFuc2Zvcm1zXG4gKiByYXcgZ2Vvc3BhdGlhbCBkYXRhIGludG8gc3RhbmRhcmRpemVkIFNUQUMgbWV0YWRhdGEuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciB0cmlnZ2VyaW5nIGl0ZW0gZ2VuZXJhdGlvbiB3b3JrZmxvd3NcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBnZW5lcmF0aW9uIHJlcXVlc3RzICgxMjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbWVzc2FnZXMgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzXG4gKiAtICoqTGFtYmRhIEZ1bmN0aW9uKio6IENvbnRhaW5lcml6ZWQgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcyB1c2luZyBzdGFjdG9vbHNcbiAqXG4gKiAjIyBEYXRhIEZsb3dcbiAqXG4gKiAxLiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhlIFNOUyB0b3BpYyB3aXRoIG1ldGFkYXRhIGFib3V0IGFzc2V0c1xuICogMi4gVGhlIFNRUyBxdWV1ZSBidWZmZXJzIHRoZXNlIG1lc3NhZ2VzIGFuZCB0cmlnZ2VycyB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gKiAzLiBUaGUgTGFtYmRhIGZ1bmN0aW9uOlxuICogICAgLSBVc2VzIGB1dnhgIHRvIGluc3RhbGwgdGhlIHJlcXVpcmVkIHN0YWN0b29scyBwYWNrYWdlXG4gKiAgICAtIEV4ZWN1dGVzIHRoZSBgY3JlYXRlLWl0ZW1gIENMSSBjb21tYW5kIHdpdGggcHJvdmlkZWQgYXJndW1lbnRzXG4gKiAgICAtIFB1Ymxpc2hlcyBnZW5lcmF0ZWQgU1RBQyBpdGVtcyB0byB0aGUgSXRlbUxvYWQgdG9waWNcbiAqIDQuIEZhaWxlZCBwcm9jZXNzaW5nIGF0dGVtcHRzIGFyZSBzZW50IHRvIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGggKHVwIHRvIG1heENvbmN1cnJlbmN5KVxuICogLSAqKkZsZXhpYmlsaXR5Kio6IFN1cHBvcnRzIGFueSBzdGFjdG9vbHMgcGFja2FnZSB0aHJvdWdoIGR5bmFtaWMgaW5zdGFsbGF0aW9uXG4gKiAtICoqUmVsaWFiaWxpdHkqKjogRGVhZCBsZXR0ZXIgcXVldWUgY2FwdHVyZXMgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gKipJc29sYXRpb24qKjogRWFjaCBnZW5lcmF0aW9uIHRhc2sgcnVucyBpbiBhIGZyZXNoIGNvbnRhaW5lciBlbnZpcm9ubWVudFxuICogLSAqKk9ic2VydmFiaWxpdHkqKjogQ2xvdWRXYXRjaCBsb2dzIHJldGFpbmVkIGZvciBvbmUgd2Vla1xuICpcbiAqICMjIE1lc3NhZ2UgU2NoZW1hXG4gKlxuICogVGhlIGZ1bmN0aW9uIGV4cGVjdHMgbWVzc2FnZXMgbWF0Y2hpbmcgdGhlIEl0ZW1SZXF1ZXN0IG1vZGVsOlxuICpcbiAqIGBgYGpzb25cbiAqIHtcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL2V4YW1wbGUuY29tL2RhdGEudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH1cbiAqIGBgYFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgaXRlbSBsb2FkZXIgZmlyc3QgKG9yIGdldCBleGlzdGluZyB0b3BpYyBBUk4pXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnSXRlbUxvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgaXRlbSBnZW5lcmF0b3IgdGhhdCBmZWVkcyB0aGUgbG9hZGVyXG4gKiBjb25zdCBnZW5lcmF0b3IgPSBuZXcgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvcih0aGlzLCAnSXRlbUdlbmVyYXRvcicsIHtcbiAqICAgaXRlbUxvYWRUb3BpY0FybjogbG9hZGVyLnRvcGljLnRvcGljQXJuLFxuICogICBsYW1iZGFUaW1lb3V0U2Vjb25kczogMTIwLCAgICAvLyBBbGxvdyB0aW1lIGZvciBwYWNrYWdlIGluc3RhbGxhdGlvblxuICogICBtYXhDb25jdXJyZW5jeTogMTAwLCAgICAgICAgICAvLyBDb250cm9sIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAqICAgYmF0Y2hTaXplOiAxMCAgICAgICAgICAgICAgICAgLy8gUHJvY2VzcyAxMCByZXF1ZXN0cyBwZXIgaW52b2NhdGlvblxuICogfSk7XG4gKlxuICogLy8gR3JhbnQgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGxvYWRlci50b3BpYy5ncmFudFB1Ymxpc2goZ2VuZXJhdG9yLmxhbWJkYUZ1bmN0aW9uKTtcbiAqIGBgYFxuICpcbiAqICMjIFB1Ymxpc2hpbmcgR2VuZXJhdGlvbiBSZXF1ZXN0c1xuICpcbiAqIFNlbmQgbWVzc2FnZXMgdG8gdGhlIGdlbmVyYXRvciB0b3BpYyB0byB0cmlnZ2VyIGl0ZW0gY3JlYXRpb246XG4gKlxuICogYGBgYmFzaFxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRJVEVNX0dFTl9UT1BJQyAtLW1lc3NhZ2UgJ3tcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZWFydGhlbmdpbmVwYXJ0bmVycy1oYW5zZW4vR0ZDLTIwMjMtdjEuMTEvSGFuc2VuX0dGQy0yMDIzLXYxLjExX2dhaW5fNDBOXzA4MFcudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH0nXG4gKiBgYGBcbiAqXG4gKiAjIyBCYXRjaCBQcm9jZXNzaW5nIEV4YW1wbGVcbiAqXG4gKiBGb3IgcHJvY2Vzc2luZyBtYW55IGFzc2V0cywgeW91IGNhbiBsb29wIHRocm91Z2ggVVJMczpcbiAqXG4gKiBgYGBiYXNoXG4gKiB3aGlsZSBJRlM9IHJlYWQgLXIgdXJsOyBkb1xuICogICBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gXCIkSVRFTV9HRU5fVE9QSUNcIiAtLW1lc3NhZ2UgXCJ7XG4gKiAgICAgXFxcInBhY2thZ2VfbmFtZVxcXCI6IFxcXCJzdGFjdG9vbHMtZ2xhZC1nbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJncm91cF9uYW1lXFxcIjogXFxcImdsYWRnbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJjcmVhdGVfaXRlbV9hcmdzXFxcIjogW1xcXCIkdXJsXFxcIl1cbiAqICAgfVwiXG4gKiBkb25lIDwgdXJscy50eHRcbiAqIGBgYFxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSBDaGVjayBkZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gVXNlIENsb3VkV2F0Y2ggbWV0cmljcyB0byB0cmFjayBwcm9jZXNzaW5nIHJhdGVzIGFuZCBlcnJvcnNcbiAqIC0gRmFpbGVkIGl0ZW1zIGNhbiBiZSByZXBsYXllZCBmcm9tIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIFN1cHBvcnRlZCBTdGFjdG9vbHMgUGFja2FnZXNcbiAqXG4gKiBBbnkgcGFja2FnZSBhdmFpbGFibGUgb24gUHlQSSB0aGF0IGZvbGxvd3MgdGhlIHN0YWN0b29scyBwbHVnaW4gcGF0dGVyblxuICogY2FuIGJlIHVzZWQuIEV4YW1wbGVzIGluY2x1ZGU6XG4gKiAtIGBzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZWBcbiAqIC0gYHN0YWN0b29scy1nbGFkLWdsY2x1MjAyMGBcbiAqIC0gYHN0YWN0b29scy1sYW5kc2F0YFxuICogLSBgc3RhY3Rvb2xzLXNlbnRpbmVsMmBcbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RhY3Rvb2xzLXBhY2thZ2VzfSBmb3IgYXZhaWxhYmxlIHN0YWN0b29scyBwYWNrYWdlc1xuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9zdGFjdG9vbHMucmVhZHRoZWRvY3MuaW8vfSBmb3Igc3RhY3Rvb2xzIGRvY3VtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0aGF0IGJ1ZmZlcnMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIHJlY2VpdmVzIG1lc3NhZ2VzIGZyb20gdGhlIFNOUyB0b3BpYyBjb250YWluaW5nIEl0ZW1SZXF1ZXN0XG4gICAqIHBheWxvYWRzLiBJdCdzIGNvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IG1hdGNoZXMgdGhlXG4gICAqIExhbWJkYSB0aW1lb3V0IHBsdXMgYnVmZmVyIHRpbWUgdG8gcHJldmVudCBkdXBsaWNhdGUgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBEZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGl0ZW0gZ2VuZXJhdGlvbiBhdHRlbXB0cy5cbiAgICpcbiAgICogTWVzc2FnZXMgdGhhdCBmYWlsIHByb2Nlc3NpbmcgYWZ0ZXIgNSBhdHRlbXB0cyBhcmUgc2VudCBoZXJlIGZvclxuICAgKiBpbnNwZWN0aW9uIGFuZCBwb3RlbnRpYWwgcmVwbGF5LiBUaGlzIGhlbHBzIHdpdGggZGVidWdnaW5nIHN0YWN0b29sc1xuICAgKiBwYWNrYWdlIGlzc3VlcywgbmV0d29yayBmYWlsdXJlcywgb3IgbWFsZm9ybWVkIHJlcXVlc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRoYXQgcmVjZWl2ZXMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhpcyB0b3BpYyB0byB0cmlnZ2VyXG4gICAqIFNUQUMgaXRlbSBnZW5lcmF0aW9uLiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0b3BpYzogc25zLlRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyaXplZCBMYW1iZGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcy5cbiAgICpcbiAgICogVGhpcyBEb2NrZXItYmFzZWQgZnVuY3Rpb24gZHluYW1pY2FsbHkgaW5zdGFsbHMgc3RhY3Rvb2xzIHBhY2thZ2VzXG4gICAqIHVzaW5nIHV2eCwgcHJvY2Vzc2VzIHNvdXJjZSBkYXRhLCBhbmQgcHVibGlzaGVzIGdlbmVyYXRlZCBTVEFDIGl0ZW1zXG4gICAqIHRvIHRoZSBjb25maWd1cmVkIEl0ZW1Mb2FkIFNOUyB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkRvY2tlckltYWdlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRpbWVvdXRTZWNvbmRzID0gcHJvcHMubGFtYmRhVGltZW91dFNlY29uZHMgPz8gMTIwO1xuICAgIGNvbnN0IGxhbWJkYVJ1bnRpbWUgPSBwcm9wcy5sYW1iZGFSdW50aW1lID8/IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExO1xuXG4gICAgLy8gQ3JlYXRlIGRlYWQgbGV0dGVyIHF1ZXVlXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbiBxdWV1ZVxuICAgIHRoaXMucXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiUXVldWVcIiwge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMgKyAxMCksXG4gICAgICBlbmNyeXB0aW9uOiBzcXMuUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VELFxuICAgICAgZGVhZExldHRlclF1ZXVlOiB7XG4gICAgICAgIG1heFJlY2VpdmVDb3VudDogNSxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTTlMgdG9waWNcbiAgICB0aGlzLnRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCBcIlRvcGljXCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBgJHtpZH0tSXRlbUdlblRvcGljYCxcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0aGUgcXVldWUgdG8gdGhlIHRvcGljXG4gICAgdGhpcy50b3BpYy5hZGRTdWJzY3JpcHRpb24oXG4gICAgICBuZXcgc25zU3Vic2NyaXB0aW9ucy5TcXNTdWJzY3JpcHRpb24odGhpcy5xdWV1ZSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkRvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0uTElOVVhfQU1ENjQsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKHRpbWVvdXRTZWNvbmRzKSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgSVRFTV9MT0FEX1RPUElDX0FSTjogcHJvcHMuaXRlbUxvYWRUb3BpY0FybixcbiAgICAgICAgTE9HX0xFVkVMOiBcIklORk9cIixcbiAgICAgICAgLi4ucHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICB9LFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIC4uLnByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDEwLFxuICAgICAgICByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlczogdHJ1ZSxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDEwMCxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIHRvIHB1Ymxpc2ggdG8gdGhlIGl0ZW0gbG9hZCB0b3BpY1xuICAgIC8vIE5vdGU6IFRoaXMgd2lsbCBiZSBncmFudGVkIGV4dGVybmFsbHkgc2luY2Ugd2Ugb25seSBoYXZlIHRoZSBBUk5cbiAgICAvLyBUaGUgY29uc3VtaW5nIGNvbnN0cnVjdCBzaG91bGQgaGFuZGxlIHRoaXMgcGVybWlzc2lvblxuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiVG9waWNBcm5cIiwge1xuICAgICAgdmFsdWU6IHRoaXMudG9waWMudG9waWNBcm4sXG4gICAgICBkZXNjcmlwdGlvbjogXCJBUk4gb2YgdGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgU05TIFRvcGljXCIsXG4gICAgICBleHBvcnROYW1lOiBcInN0YWN0b29scy1pdGVtLWdlbmVyYXRvci10b3BpYy1hcm5cIixcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBTUVMgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yLXF1ZXVlLXVybFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkRlYWRMZXR0ZXJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVUkwgb2YgdGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgRGVhZCBMZXR0ZXIgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yLWRlYWRsZXR0ZXItcXVldWUtdXJsXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRnVuY3Rpb25OYW1lXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmxhbWJkYUZ1bmN0aW9uLmZ1bmN0aW9uTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgTGFtYmRhIEZ1bmN0aW9uXCIsXG4gICAgICBleHBvcnROYW1lOiBcInN0YWN0b29scy1pdGVtLWdlbmVyYXRvci1mdW5jdGlvbi1uYW1lXCIsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
208
+ StactoolsItemGenerator[_a] = { fqn: "eoapi-cdk.StactoolsItemGenerator", version: "8.3.3" };
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsK0RBQXNEO0FBQ3RELDZCQUE2QjtBQW1IN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0hHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQW9DbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksR0FBRyxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhFLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUJBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzVELGVBQWUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hDLGlCQUFpQixFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDeEQsVUFBVSxFQUFFLHFCQUFHLENBQUMsZUFBZSxDQUFDLFdBQVc7WUFDM0MsZUFBZSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixLQUFLLEVBQUUs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RSxjQUFjLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTtZQUN2QyxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLFVBQVUsRUFBRSxHQUFHLFlBQVkseUNBQXlDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcElILHdEQXFJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NxcyBhcyBzcXMsXG4gIGF3c19zbnMgYXMgc25zLFxuICBhd3Nfc25zX3N1YnNjcmlwdGlvbnMgYXMgc25zU3Vic2NyaXB0aW9ucyxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgRHVyYXRpb24sXG4gIENmbk91dHB1dCxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGdlbmVyYXRlcyBTVEFDIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgdGhlXG4gKiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGZpcnN0IHBoYXNlIG9mIHRoZSBwaXBlbGluZSAtIHByb2Nlc3NpbmcgbWV0YWRhdGFcbiAqIGFib3V0IGFzc2V0cyBhbmQgdHJhbnNmb3JtaW5nIHRoZW0gaW50byBzdGFuZGFyZGl6ZWQgU1RBQyBpdGVtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZ2VuZXJhdG9yID0gbmV3IFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IodGhpcywgJ0l0ZW1HZW5lcmF0b3InLCB7XG4gKiAgIGl0ZW1Mb2FkVG9waWNBcm46IGxvYWRlci50b3BpYy50b3BpY0FybixcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDEyMCxcbiAqICAgbWF4Q29uY3VycmVuY3k6IDEwMCxcbiAqICAgYmF0Y2hTaXplOiAxMFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBjb250YWluZXJpemVkIHVzaW5nIERvY2tlciBhbmQgY2FuIGFjY29tbW9kYXRlIHZhcmlvdXNcbiAgICogc3RhY3Rvb2xzIHBhY2thZ2VzLiBUaGUgcnVudGltZSB2ZXJzaW9uIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGggdGhlXG4gICAqIHBhY2thZ2VzIHlvdSBwbGFuIHRvIHVzZSBmb3IgU1RBQyBpdGVtIGdlbmVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFSdW50aW1lPzogbGFtYmRhLlJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gbGFtYmRhIGluIHNlY29uZHMuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGFjY29tbW9kYXRlIHRoZSB0aW1lIG5lZWRlZCB0bzpcbiAgICogLSBJbnN0YWxsIHN0YWN0b29scyBwYWNrYWdlcyB1c2luZyB1dnhcbiAgICogLSBEb3dubG9hZCBhbmQgcHJvY2VzcyBzb3VyY2UgZGF0YVxuICAgKiAtIEdlbmVyYXRlIFNUQUMgbWV0YWRhdGFcbiAgICogLSBQdWJsaXNoIHJlc3VsdHMgdG8gU05TXG4gICAqXG4gICAqIFRoZSBTUVMgdmlzaWJpbGl0eSB0aW1lb3V0IHdpbGwgYmUgc2V0IHRvIHRoaXMgdmFsdWUgcGx1cyAxMCBzZWNvbmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMjBcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgc2l6ZSBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbiBpbiBNQi5cbiAgICpcbiAgICogSGlnaGVyIG1lbW9yeSBhbGxvY2F0aW9uIG1heSBiZSBuZWVkZWQgZm9yIHByb2Nlc3NpbmcgbGFyZ2UgZ2Vvc3BhdGlhbFxuICAgKiBkYXRhc2V0cyBvciB3aGVuIHN0YWN0b29scyBwYWNrYWdlcyBoYXZlIGhpZ2ggbWVtb3J5IHJlcXVpcmVtZW50cy5cbiAgICogTW9yZSBtZW1vcnkgYWxzbyBwcm92aWRlcyBwcm9wb3J0aW9uYWxseSBtb3JlIENQVSBwb3dlci5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBleGVjdXRpb25zLlxuICAgKlxuICAgKiBUaGlzIGNvbnRyb2xzIGhvdyBtYW55IGl0ZW0gZ2VuZXJhdGlvbiB0YXNrcyBjYW4gcnVuIHNpbXVsdGFuZW91c2x5LlxuICAgKiBIaWdoZXIgY29uY3VycmVuY3kgZW5hYmxlcyBmYXN0ZXIgcHJvY2Vzc2luZyBvZiBsYXJnZSBiYXRjaGVzIGJ1dFxuICAgKiBtYXkgc3RyYWluIGRvd25zdHJlYW0gc3lzdGVtcyBvciBleHRlcm5hbCBkYXRhIHNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNRUyBiYXRjaCBzaXplIGZvciBsYW1iZGEgZXZlbnQgc291cmNlLlxuICAgKlxuICAgKiBUaGlzIGRldGVybWluZXMgaG93IG1hbnkgZ2VuZXJhdGlvbiByZXF1ZXN0cyBhcmUgcHJvY2Vzc2VkIHRvZ2V0aGVyXG4gICAqIGluIGEgc2luZ2xlIGxhbWJkYSBpbnZvY2F0aW9uLiBVbmxpa2UgdGhlIGxvYWRlciwgZ2VuZXJhdGlvbiB0eXBpY2FsbHlcbiAgICogcHJvY2Vzc2VzIGl0ZW1zIGluZGl2aWR1YWxseSwgc28gc21hbGxlciBiYXRjaCBzaXplcyBhcmUgY29tbW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlc2Ugd2lsbCBiZSBtZXJnZWQgd2l0aCBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcyBpbmNsdWRpbmdcbiAgICogSVRFTV9MT0FEX1RPUElDX0FSTiBhbmQgTE9HX0xFVkVMLiBVc2UgdGhpcyBmb3IgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgICogb3IgdG8gcGFzcyBjcmVkZW50aWFscyBmb3IgZXh0ZXJuYWwgZGF0YSBzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgdGhlIFNOUyB0b3BpYyB0byBwdWJsaXNoIGdlbmVyYXRlZCBpdGVtcyB0by5cbiAgICpcbiAgICogVGhpcyBpcyB0eXBpY2FsbHkgdGhlIHRvcGljIGZyb20gYSBTdGFjTG9hZGVyIGNvbnN0cnVjdC5cbiAgICogR2VuZXJhdGVkIFNUQUMgaXRlbXMgd2lsbCBiZSBwdWJsaXNoZWQgaGVyZSBmb3IgZG93bnN0cmVhbVxuICAgKiBwcm9jZXNzaW5nIGFuZCBkYXRhYmFzZSBpbnNlcnRpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVtTG9hZFRvcGljQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbi8qKlxuICogQVdTIENESyBDb25zdHJ1Y3QgZm9yIFNUQUMgSXRlbSBHZW5lcmF0aW9uIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGdlbmVyYXRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0XG4gKiBpbXBsZW1lbnRzIHRoZSBmaXJzdCBwaGFzZSBvZiBhIHR3by1zdGFnZSBpbmdlc3Rpb24gcGlwZWxpbmUgdGhhdCB0cmFuc2Zvcm1zXG4gKiByYXcgZ2Vvc3BhdGlhbCBkYXRhIGludG8gc3RhbmRhcmRpemVkIFNUQUMgbWV0YWRhdGEuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciB0cmlnZ2VyaW5nIGl0ZW0gZ2VuZXJhdGlvbiB3b3JrZmxvd3NcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBnZW5lcmF0aW9uIHJlcXVlc3RzICgxMjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbWVzc2FnZXMgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzXG4gKiAtICoqTGFtYmRhIEZ1bmN0aW9uKio6IENvbnRhaW5lcml6ZWQgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcyB1c2luZyBzdGFjdG9vbHNcbiAqXG4gKiAjIyBEYXRhIEZsb3dcbiAqXG4gKiAxLiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhlIFNOUyB0b3BpYyB3aXRoIG1ldGFkYXRhIGFib3V0IGFzc2V0c1xuICogMi4gVGhlIFNRUyBxdWV1ZSBidWZmZXJzIHRoZXNlIG1lc3NhZ2VzIGFuZCB0cmlnZ2VycyB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gKiAzLiBUaGUgTGFtYmRhIGZ1bmN0aW9uOlxuICogICAgLSBVc2VzIGB1dnhgIHRvIGluc3RhbGwgdGhlIHJlcXVpcmVkIHN0YWN0b29scyBwYWNrYWdlXG4gKiAgICAtIEV4ZWN1dGVzIHRoZSBgY3JlYXRlLWl0ZW1gIENMSSBjb21tYW5kIHdpdGggcHJvdmlkZWQgYXJndW1lbnRzXG4gKiAgICAtIFB1Ymxpc2hlcyBnZW5lcmF0ZWQgU1RBQyBpdGVtcyB0byB0aGUgSXRlbUxvYWQgdG9waWNcbiAqIDQuIEZhaWxlZCBwcm9jZXNzaW5nIGF0dGVtcHRzIGFyZSBzZW50IHRvIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGggKHVwIHRvIG1heENvbmN1cnJlbmN5KVxuICogLSAqKkZsZXhpYmlsaXR5Kio6IFN1cHBvcnRzIGFueSBzdGFjdG9vbHMgcGFja2FnZSB0aHJvdWdoIGR5bmFtaWMgaW5zdGFsbGF0aW9uXG4gKiAtICoqUmVsaWFiaWxpdHkqKjogRGVhZCBsZXR0ZXIgcXVldWUgY2FwdHVyZXMgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gKipJc29sYXRpb24qKjogRWFjaCBnZW5lcmF0aW9uIHRhc2sgcnVucyBpbiBhIGZyZXNoIGNvbnRhaW5lciBlbnZpcm9ubWVudFxuICogLSAqKk9ic2VydmFiaWxpdHkqKjogQ2xvdWRXYXRjaCBsb2dzIHJldGFpbmVkIGZvciBvbmUgd2Vla1xuICpcbiAqICMjIE1lc3NhZ2UgU2NoZW1hXG4gKlxuICogVGhlIGZ1bmN0aW9uIGV4cGVjdHMgbWVzc2FnZXMgbWF0Y2hpbmcgdGhlIEl0ZW1SZXF1ZXN0IG1vZGVsOlxuICpcbiAqIGBgYGpzb25cbiAqIHtcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL2V4YW1wbGUuY29tL2RhdGEudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH1cbiAqIGBgYFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgaXRlbSBsb2FkZXIgZmlyc3QgKG9yIGdldCBleGlzdGluZyB0b3BpYyBBUk4pXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnSXRlbUxvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgaXRlbSBnZW5lcmF0b3IgdGhhdCBmZWVkcyB0aGUgbG9hZGVyXG4gKiBjb25zdCBnZW5lcmF0b3IgPSBuZXcgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvcih0aGlzLCAnSXRlbUdlbmVyYXRvcicsIHtcbiAqICAgaXRlbUxvYWRUb3BpY0FybjogbG9hZGVyLnRvcGljLnRvcGljQXJuLFxuICogICBsYW1iZGFUaW1lb3V0U2Vjb25kczogMTIwLCAgICAvLyBBbGxvdyB0aW1lIGZvciBwYWNrYWdlIGluc3RhbGxhdGlvblxuICogICBtYXhDb25jdXJyZW5jeTogMTAwLCAgICAgICAgICAvLyBDb250cm9sIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAqICAgYmF0Y2hTaXplOiAxMCAgICAgICAgICAgICAgICAgLy8gUHJvY2VzcyAxMCByZXF1ZXN0cyBwZXIgaW52b2NhdGlvblxuICogfSk7XG4gKlxuICogLy8gR3JhbnQgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGxvYWRlci50b3BpYy5ncmFudFB1Ymxpc2goZ2VuZXJhdG9yLmxhbWJkYUZ1bmN0aW9uKTtcbiAqIGBgYFxuICpcbiAqICMjIFB1Ymxpc2hpbmcgR2VuZXJhdGlvbiBSZXF1ZXN0c1xuICpcbiAqIFNlbmQgbWVzc2FnZXMgdG8gdGhlIGdlbmVyYXRvciB0b3BpYyB0byB0cmlnZ2VyIGl0ZW0gY3JlYXRpb246XG4gKlxuICogYGBgYmFzaFxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRJVEVNX0dFTl9UT1BJQyAtLW1lc3NhZ2UgJ3tcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZWFydGhlbmdpbmVwYXJ0bmVycy1oYW5zZW4vR0ZDLTIwMjMtdjEuMTEvSGFuc2VuX0dGQy0yMDIzLXYxLjExX2dhaW5fNDBOXzA4MFcudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH0nXG4gKiBgYGBcbiAqXG4gKiAjIyBCYXRjaCBQcm9jZXNzaW5nIEV4YW1wbGVcbiAqXG4gKiBGb3IgcHJvY2Vzc2luZyBtYW55IGFzc2V0cywgeW91IGNhbiBsb29wIHRocm91Z2ggVVJMczpcbiAqXG4gKiBgYGBiYXNoXG4gKiB3aGlsZSBJRlM9IHJlYWQgLXIgdXJsOyBkb1xuICogICBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gXCIkSVRFTV9HRU5fVE9QSUNcIiAtLW1lc3NhZ2UgXCJ7XG4gKiAgICAgXFxcInBhY2thZ2VfbmFtZVxcXCI6IFxcXCJzdGFjdG9vbHMtZ2xhZC1nbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJncm91cF9uYW1lXFxcIjogXFxcImdsYWRnbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJjcmVhdGVfaXRlbV9hcmdzXFxcIjogW1xcXCIkdXJsXFxcIl1cbiAqICAgfVwiXG4gKiBkb25lIDwgdXJscy50eHRcbiAqIGBgYFxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSBDaGVjayBkZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gVXNlIENsb3VkV2F0Y2ggbWV0cmljcyB0byB0cmFjayBwcm9jZXNzaW5nIHJhdGVzIGFuZCBlcnJvcnNcbiAqIC0gRmFpbGVkIGl0ZW1zIGNhbiBiZSByZXBsYXllZCBmcm9tIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIFN1cHBvcnRlZCBTdGFjdG9vbHMgUGFja2FnZXNcbiAqXG4gKiBBbnkgcGFja2FnZSBhdmFpbGFibGUgb24gUHlQSSB0aGF0IGZvbGxvd3MgdGhlIHN0YWN0b29scyBwbHVnaW4gcGF0dGVyblxuICogY2FuIGJlIHVzZWQuIEV4YW1wbGVzIGluY2x1ZGU6XG4gKiAtIGBzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZWBcbiAqIC0gYHN0YWN0b29scy1nbGFkLWdsY2x1MjAyMGBcbiAqIC0gYHN0YWN0b29scy1sYW5kc2F0YFxuICogLSBgc3RhY3Rvb2xzLXNlbnRpbmVsMmBcbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RhY3Rvb2xzLXBhY2thZ2VzfSBmb3IgYXZhaWxhYmxlIHN0YWN0b29scyBwYWNrYWdlc1xuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9zdGFjdG9vbHMucmVhZHRoZWRvY3MuaW8vfSBmb3Igc3RhY3Rvb2xzIGRvY3VtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0aGF0IGJ1ZmZlcnMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIHJlY2VpdmVzIG1lc3NhZ2VzIGZyb20gdGhlIFNOUyB0b3BpYyBjb250YWluaW5nIEl0ZW1SZXF1ZXN0XG4gICAqIHBheWxvYWRzLiBJdCdzIGNvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IG1hdGNoZXMgdGhlXG4gICAqIExhbWJkYSB0aW1lb3V0IHBsdXMgYnVmZmVyIHRpbWUgdG8gcHJldmVudCBkdXBsaWNhdGUgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBEZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGl0ZW0gZ2VuZXJhdGlvbiBhdHRlbXB0cy5cbiAgICpcbiAgICogTWVzc2FnZXMgdGhhdCBmYWlsIHByb2Nlc3NpbmcgYWZ0ZXIgNSBhdHRlbXB0cyBhcmUgc2VudCBoZXJlIGZvclxuICAgKiBpbnNwZWN0aW9uIGFuZCBwb3RlbnRpYWwgcmVwbGF5LiBUaGlzIGhlbHBzIHdpdGggZGVidWdnaW5nIHN0YWN0b29sc1xuICAgKiBwYWNrYWdlIGlzc3VlcywgbmV0d29yayBmYWlsdXJlcywgb3IgbWFsZm9ybWVkIHJlcXVlc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRoYXQgcmVjZWl2ZXMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhpcyB0b3BpYyB0byB0cmlnZ2VyXG4gICAqIFNUQUMgaXRlbSBnZW5lcmF0aW9uLiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0b3BpYzogc25zLlRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyaXplZCBMYW1iZGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcy5cbiAgICpcbiAgICogVGhpcyBEb2NrZXItYmFzZWQgZnVuY3Rpb24gZHluYW1pY2FsbHkgaW5zdGFsbHMgc3RhY3Rvb2xzIHBhY2thZ2VzXG4gICAqIHVzaW5nIHV2eCwgcHJvY2Vzc2VzIHNvdXJjZSBkYXRhLCBhbmQgcHVibGlzaGVzIGdlbmVyYXRlZCBTVEFDIGl0ZW1zXG4gICAqIHRvIHRoZSBjb25maWd1cmVkIEl0ZW1Mb2FkIFNOUyB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkRvY2tlckltYWdlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRpbWVvdXRTZWNvbmRzID0gcHJvcHMubGFtYmRhVGltZW91dFNlY29uZHMgPz8gMTIwO1xuICAgIGNvbnN0IGxhbWJkYVJ1bnRpbWUgPSBwcm9wcy5sYW1iZGFSdW50aW1lID8/IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExO1xuXG4gICAgLy8gQ3JlYXRlIGRlYWQgbGV0dGVyIHF1ZXVlXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbiBxdWV1ZVxuICAgIHRoaXMucXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiUXVldWVcIiwge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMgKyAxMCksXG4gICAgICBlbmNyeXB0aW9uOiBzcXMuUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VELFxuICAgICAgZGVhZExldHRlclF1ZXVlOiB7XG4gICAgICAgIG1heFJlY2VpdmVDb3VudDogNSxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTTlMgdG9waWNcbiAgICB0aGlzLnRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCBcIlRvcGljXCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBgJHtpZH0tSXRlbUdlblRvcGljYCxcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0aGUgcXVldWUgdG8gdGhlIHRvcGljXG4gICAgdGhpcy50b3BpYy5hZGRTdWJzY3JpcHRpb24oXG4gICAgICBuZXcgc25zU3Vic2NyaXB0aW9ucy5TcXNTdWJzY3JpcHRpb24odGhpcy5xdWV1ZSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkRvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0uTElOVVhfQU1ENjQsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKHRpbWVvdXRTZWNvbmRzKSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgSVRFTV9MT0FEX1RPUElDX0FSTjogcHJvcHMuaXRlbUxvYWRUb3BpY0FybixcbiAgICAgICAgTE9HX0xFVkVMOiBcIklORk9cIixcbiAgICAgICAgLi4ucHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICB9LFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIC4uLnByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDEwLFxuICAgICAgICByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlczogdHJ1ZSxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDEwMCxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIHRvIHB1Ymxpc2ggdG8gdGhlIGl0ZW0gbG9hZCB0b3BpY1xuICAgIC8vIE5vdGU6IFRoaXMgd2lsbCBiZSBncmFudGVkIGV4dGVybmFsbHkgc2luY2Ugd2Ugb25seSBoYXZlIHRoZSBBUk5cbiAgICAvLyBUaGUgY29uc3VtaW5nIGNvbnN0cnVjdCBzaG91bGQgaGFuZGxlIHRoaXMgcGVybWlzc2lvblxuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItdG9waWMtYXJuYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBTUVMgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yLXF1ZXVlLXVybGAsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRGVhZExldHRlclF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmRlYWRMZXR0ZXJRdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBEZWFkIExldHRlciBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZnVuY3Rpb24tbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,8 @@ WORKDIR ${LAMBDA_TASK_ROOT}
13
13
  COPY stactools-item-generator/runtime/pyproject.toml pyproject.toml
14
14
  COPY stactools-item-generator/runtime/src/stactools_item_generator/ ${LAMBDA_TASK_ROOT}/stactools_item_generator/
15
15
 
16
- RUN uv export --no-dev --no-editable -o requirements.txt && \
16
+ RUN yum install -y git && yum clean all && rm -rf /var/cache/yum && \
17
+ uv export --no-dev --no-editable -o requirements.txt && \
17
18
  uv pip install --target ${LAMBDA_TASK_ROOT} -r requirements.txt && \
18
19
  uv tool install --with "numpy<2.3.0",requests stactools;
19
20
 
@@ -49,7 +49,7 @@ def create_stac_item(request: ItemRequest) -> Item:
49
49
  command = [
50
50
  "uvx",
51
51
  "--with",
52
- f"requests,{request.package_name}",
52
+ f"requests,numpy<2.3.0,{request.package_name}",
53
53
  "--from",
54
54
  "stactools",
55
55
  "stac",
@@ -57,5 +57,5 @@ class TiPgApiLambda extends constructs_1.Construct {
57
57
  }
58
58
  exports.TiPgApiLambda = TiPgApiLambda;
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- TiPgApiLambda[_a] = { fqn: "eoapi-cdk.TiPgApiLambda", version: "8.3.1" };
60
+ TiPgApiLambda[_a] = { fqn: "eoapi-cdk.TiPgApiLambda", version: "8.3.3" };
61
61
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBRTNCLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBSTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzVELFdBQVc7WUFDWCxPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxzQkFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRO1lBQ3pDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxFQUFFLHdCQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDNUQsSUFBSSxFQUFFLDZCQUE2QjtnQkFDbkMsU0FBUyxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRTthQUN0QyxDQUFDO1lBQ0YsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ2pDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsV0FBVyxFQUFFO2dCQUNYLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDM0MsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsR0FBRyxLQUFLLENBQUMsTUFBTTthQUNoQjtZQUNELGlFQUFpRTtZQUNqRSxHQUFHLEtBQUssQ0FBQyxxQkFBcUI7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFbEQsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUM7WUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLHFCQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhCQUFZLENBQUMsT0FBTyxDQUN0QyxJQUFJLEVBQ0osR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLFdBQVcsRUFDdEM7WUFDRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2dCQUMzQyxDQUFDLENBQUM7b0JBQ0UsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUI7aUJBQ3BDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2Isa0JBQWtCLEVBQ2hCLElBQUksMkNBQXlCLENBQUMscUJBQXFCLENBQ2pELGFBQWEsRUFDYixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQ3JCLENBQUMsQ0FBQztvQkFDRSxnQkFBZ0IsRUFDZCxJQUFJLDhCQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQ2pELE1BQU0sRUFDTiw4QkFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzlCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQzdCLENBQ0Y7aUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FDZDtTQUNKLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUksQ0FBQztRQUV4QixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3JDLFVBQVUsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsVUFBVTtZQUNqRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF2RUgsc0NBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU3RhY2ssXG4gIGF3c19hcGlnYXRld2F5djIgYXMgYXBpZ2F0ZXdheXYyLFxuICBhd3NfYXBpZ2F0ZXdheXYyX2ludGVncmF0aW9ucyBhcyBhcGlnYXRld2F5djJfaW50ZWdyYXRpb25zLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19yZHMgYXMgcmRzLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIENmbk91dHB1dCxcbiAgRHVyYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbiAgZXhwb3J0IGNsYXNzIFRpUGdBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICAgIHB1YmxpYyB0aVBnTGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUaVBnQXBpTGFtYmRhUHJvcHMpIHtcbiAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgIHRoaXMudGlQZ0xhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAgIC8vIGRlZmF1bHRzXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgICBoYW5kbGVyOiBcImhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgICBtZW1vcnlTaXplOiAxMDI0LFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nKSwge1xuICAgICAgICAgIGZpbGU6IFwidGlwZy1hcGkvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgICAgYnVpbGRBcmdzOiB7IFBZVEhPTl9WRVJTSU9OOiAnMy4xMScgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIFBHU1RBQ19TRUNSRVRfQVJOOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgICAgREJfTUlOX0NPTk5fU0laRTogXCIxXCIsXG4gICAgICAgICAgREJfTUFYX0NPTk5fU0laRTogXCIxXCIsXG4gICAgICAgICAgLi4ucHJvcHMuYXBpRW52LFxuICAgICAgICB9LFxuICAgICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnNcbiAgICAgIH0pO1xuXG4gICAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy50aVBnTGFtYmRhRnVuY3Rpb24pO1xuXG4gICAgICBpZiAocHJvcHMudnBjKXtcbiAgICAgICAgdGhpcy50aVBnTGFtYmRhRnVuY3Rpb24uY29ubmVjdGlvbnMuYWxsb3dUbyhwcm9wcy5kYiwgZWMyLlBvcnQudGNwKDU0MzIpLCBcImFsbG93IGNvbm5lY3Rpb25zIGZyb20gdGlwZ1wiKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGlwZ0FwaSA9IG5ldyBhcGlnYXRld2F5djIuSHR0cEFwaShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXBnLWFwaWAsXG4gICAgICAgIHtcbiAgICAgICAgICBkZWZhdWx0RG9tYWluTWFwcGluZzogcHJvcHMudGlwZ0FwaURvbWFpbk5hbWVcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLnRpcGdBcGlEb21haW5OYW1lLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBkZWZhdWx0SW50ZWdyYXRpb246XG4gICAgICAgICAgICBuZXcgYXBpZ2F0ZXdheXYyX2ludGVncmF0aW9ucy5IdHRwTGFtYmRhSW50ZWdyYXRpb24oXG4gICAgICAgICAgICAgIFwiaW50ZWdyYXRpb25cIixcbiAgICAgICAgICAgICAgdGhpcy50aVBnTGFtYmRhRnVuY3Rpb24sXG4gICAgICAgICAgICAgIHByb3BzLnRpcGdBcGlEb21haW5OYW1lXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlck1hcHBpbmc6XG4gICAgICAgICAgICAgICAgICAgICAgbmV3IGFwaWdhdGV3YXl2Mi5QYXJhbWV0ZXJNYXBwaW5nKCkub3ZlcndyaXRlSGVhZGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJob3N0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcGlnYXRld2F5djIuTWFwcGluZ1ZhbHVlLmN1c3RvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudGlwZ0FwaURvbWFpbk5hbWUubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICksXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHRoaXMudXJsID0gdGlwZ0FwaS51cmwhO1xuXG4gICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwidGlwZy1hcGktb3V0cHV0XCIsIHtcbiAgICAgICAgZXhwb3J0TmFtZTogYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXAtdXJsYCxcbiAgICAgICAgdmFsdWU6IHRoaXMudXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBUaVBnQXBpTGFtYmRhUHJvcHMge1xuICAgIC8qKlxuICAgICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gICAgLyoqXG4gICAgICogUkRTIEluc3RhbmNlIHdpdGggaW5zdGFsbGVkIHBnU1RBQyBvciBwZ2JvdW5jZXIgc2VydmVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRiOiByZHMuSURhdGFiYXNlSW5zdGFuY2UgfCBlYzIuSUluc3RhbmNlO1xuXG4gICAgLyoqXG4gICAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFNlY3JldCBjb250YWluaW5nIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZm9yIHBnU1RBQyBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNlbmQgdG8gdGl0aWxlci1wZ3N0YWMgcnVudGltZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIERvbWFpbiBOYW1lIGZvciB0aXBnIEFQSS4gSWYgZGVmaW5lZCwgd2lsbCBjcmVhdGUgdGhlXG4gICAgICogZG9tYWluIG5hbWUgYW5kIGludGVncmF0ZSBpdCB3aXRoIHRoZSB0aXBnIEFQSS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGlwZ0FwaURvbWFpbk5hbWU/OiBhcGlnYXRld2F5djIuSURvbWFpbk5hbWU7XG5cbiAgICAvKipcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG4gIH1cbiJdfQ==
@@ -77,5 +77,5 @@ class TitilerPgstacApiLambda extends constructs_1.Construct {
77
77
  }
78
78
  exports.TitilerPgstacApiLambda = TitilerPgstacApiLambda;
79
79
  _a = JSII_RTTI_SYMBOL_1;
80
- TitilerPgstacApiLambda[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "8.3.1" };
80
+ TitilerPgstacApiLambda[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "8.3.3" };
81
81
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVlxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBRTNCLDRFQUE0RTtBQUM1RSxJQUFJLHVCQUF1QixHQUEyQjtJQUNwRCxrQ0FBa0MsRUFBRSxpQkFBaUI7SUFDckQsZUFBZSxFQUFFLEtBQUs7SUFDdEIsOEJBQThCLEVBQUUsV0FBVztJQUMzQyw2QkFBNkIsRUFBRSxPQUFPO0lBQ3RDLG9DQUFvQyxFQUFFLEtBQUs7SUFDM0MscUJBQXFCLEVBQUUsS0FBSztJQUM1QixtQkFBbUIsRUFBRSxHQUFHO0lBQ3hCLGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixrQkFBa0IsRUFBRSxHQUFHO0lBQ3ZCLGtCQUFrQixFQUFFLEdBQUc7Q0FDeEIsQ0FBQTtBQUVELE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUFJbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFrQztRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLHdCQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDckUsV0FBVztZQUNYLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFLHNCQUFRLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDN0MsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLEVBQUUsd0JBQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUM1RCxJQUFJLEVBQUUsdUNBQXVDO2dCQUM3QyxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFO2FBQ3RDLENBQUM7WUFDRixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDakMsaUJBQWlCLEVBQUUsSUFBSTtZQUN2Qix3RUFBd0U7WUFDeEUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyx1QkFBdUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1lBQ3BKLGlFQUFpRTtZQUNqRSxHQUFHLEtBQUssQ0FBQyxxQkFBcUI7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsZ0RBQWdEO1FBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsMkJBQTJCLENBQUMsZUFBZSxDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3ZFLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDekIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLE1BQU0sSUFBSSxDQUFDO2lCQUN4QyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTNELElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUN2SCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSw4QkFBWSxDQUFDLE9BQU8sQ0FDdEMsSUFBSSxFQUNKLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxxQkFBcUIsRUFDaEQ7WUFDRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsMEJBQTBCO2dCQUNwRCxDQUFDLENBQUM7b0JBQ0UsVUFBVSxFQUFFLEtBQUssQ0FBQywwQkFBMEI7aUJBQzdDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2Isa0JBQWtCLEVBQ2hCLElBQUksMkNBQXlCLENBQUMscUJBQXFCLENBQ2pELGFBQWEsRUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQ2hDLEtBQUssQ0FBQywwQkFBMEI7Z0JBQzlCLENBQUMsQ0FBQztvQkFDRSxnQkFBZ0IsRUFDZCxJQUFJLDhCQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQ2pELE1BQU0sRUFDTiw4QkFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzlCLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQ3RDLENBQ0Y7aUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FDZDtTQUNKLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUksQ0FBQztRQUV4QixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFO1lBQy9DLFVBQVUsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMscUJBQXFCO1lBQzVELEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTdFSCx3REE4RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX2FwaWdhdGV3YXl2MiBhcyBhcGlnYXRld2F5djIsXG4gIGF3c19hcGlnYXRld2F5djJfaW50ZWdyYXRpb25zIGFzIGFwaWdhdGV3YXl2Ml9pbnRlZ3JhdGlvbnMsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIENmbk91dHB1dCxcbiAgRHVyYXRpb24sXG4gIGF3c19sb2dzLFxufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4gIC8vIGRlZmF1bHQgc2V0dGluZ3MgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgdXNlci1wcm92aWRlZCBlbnZpcm9ubWVudC5cbiAgbGV0IGRlZmF1bHRUaXRpbGVyUGdzdGFjRW52IDp7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgIFwiQ1BMX1ZTSUxfQ1VSTF9BTExPV0VEX0VYVEVOU0lPTlNcIjogXCIudGlmLC5USUYsLnRpZmZcIixcbiAgICBcIkdEQUxfQ0FDSEVNQVhcIjogXCIyMDBcIixcbiAgICBcIkdEQUxfRElTQUJMRV9SRUFERElSX09OX09QRU5cIjogXCJFTVBUWV9ESVJcIixcbiAgICBcIkdEQUxfSU5HRVNURURfQllURVNfQVRfT1BFTlwiOiBcIjMyNzY4XCIsXG4gICAgXCJHREFMX0hUVFBfTUVSR0VfQ09OU0VDVVRJVkVfUkFOR0VTXCI6IFwiWUVTXCIsXG4gICAgXCJHREFMX0hUVFBfTVVMVElQTEVYXCI6IFwiWUVTXCIsXG4gICAgXCJHREFMX0hUVFBfVkVSU0lPTlwiOiBcIjJcIixcbiAgICBcIlBZVEhPTldBUk5JTkdTXCI6IFwiaWdub3JlXCIsXG4gICAgXCJWU0lfQ0FDSEVcIjogXCJUUlVFXCIsXG4gICAgXCJWU0lfQ0FDSEVfU0laRVwiOiBcIjUwMDAwMDBcIixcbiAgICBcIkRCX01JTl9DT05OX1NJWkVcIjogXCIxXCIsXG4gICAgXCJEQl9NQVhfQ09OTl9TSVpFXCI6IFwiMVwiXG4gIH1cblxuICBleHBvcnQgY2xhc3MgVGl0aWxlclBnc3RhY0FwaUxhbWJkYSBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGlsZXJQZ3N0YWNMYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRpdGlsZXJQZ1N0YWNBcGlMYW1iZGFQcm9wcykge1xuICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgdGhpcy50aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwibGFtYmRhXCIsIHtcbiAgICAgICAgLy8gZGVmYXVsdHNcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTEsXG4gICAgICAgIGhhbmRsZXI6IFwiaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICAgIG1lbW9yeVNpemU6IDMwMDgsXG4gICAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nKSwge1xuICAgICAgICAgIGZpbGU6IFwidGl0aWxlci1wZ3N0YWMtYXBpL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICAgIGJ1aWxkQXJnczogeyBQWVRIT05fVkVSU0lPTjogJzMuMTEnIH1cbiAgICAgICAgfSksXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgICAvLyBpZiB1c2VyIHByb3ZpZGVkIGVudmlyb25tZW50IHZhcmlhYmxlcywgbWVyZ2UgdGhlbSB3aXRoIHRoZSBkZWZhdWx0cy5cbiAgICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmFwaUVudiA/IHsgLi4uZGVmYXVsdFRpdGlsZXJQZ3N0YWNFbnYsIC4uLnByb3BzLmFwaUVudiwgXCJQR1NUQUNfU0VDUkVUX0FSTlwiOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4gfSA6IGRlZmF1bHRUaXRpbGVyUGdzdGFjRW52LFxuICAgICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgICB9KTtcblxuICAgICAgLy8gZ3JhbnQgYWNjZXNzIHRvIGJ1Y2tldHMgdXNpbmcgYWRkVG9Sb2xlUG9saWN5XG4gICAgICBpZiAocHJvcHMuYnVja2V0cykge1xuICAgICAgICBwcm9wcy5idWNrZXRzLmZvckVhY2goYnVja2V0ID0+IHtcbiAgICAgICAgICB0aGlzLnRpdGlsZXJQZ3N0YWNMYW1iZGFGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wiczM6R2V0T2JqZWN0XCJdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6czM6Ojoke2J1Y2tldH0vKmBdLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHByb3BzLmRiU2VjcmV0LmdyYW50UmVhZCh0aGlzLnRpdGlsZXJQZ3N0YWNMYW1iZGFGdW5jdGlvbik7XG5cbiAgICAgIGlmIChwcm9wcy52cGMpIHtcbiAgICAgICAgdGhpcy50aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb24uY29ubmVjdGlvbnMuYWxsb3dUbyhwcm9wcy5kYiwgZWMyLlBvcnQudGNwKDU0MzIpLCBcImFsbG93IGNvbm5lY3Rpb25zIGZyb20gdGl0aWxlclwiKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhY0FwaSA9IG5ldyBhcGlnYXRld2F5djIuSHR0cEFwaShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXRpbGVyLXBnc3RhYy1hcGlgLFxuICAgICAgICB7XG4gICAgICAgICAgZGVmYXVsdERvbWFpbk1hcHBpbmc6IHByb3BzLnRpdGlsZXJQZ3N0YWNBcGlEb21haW5OYW1lXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBkb21haW5OYW1lOiBwcm9wcy50aXRpbGVyUGdzdGFjQXBpRG9tYWluTmFtZSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgZGVmYXVsdEludGVncmF0aW9uOlxuICAgICAgICAgICAgbmV3IGFwaWdhdGV3YXl2Ml9pbnRlZ3JhdGlvbnMuSHR0cExhbWJkYUludGVncmF0aW9uKFxuICAgICAgICAgICAgICBcImludGVncmF0aW9uXCIsXG4gICAgICAgICAgICAgIHRoaXMudGl0aWxlclBnc3RhY0xhbWJkYUZ1bmN0aW9uLFxuICAgICAgICAgICAgICBwcm9wcy50aXRpbGVyUGdzdGFjQXBpRG9tYWluTmFtZVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJNYXBwaW5nOlxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBhcGlnYXRld2F5djIuUGFyYW1ldGVyTWFwcGluZygpLm92ZXJ3cml0ZUhlYWRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaG9zdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBpZ2F0ZXdheXYyLk1hcHBpbmdWYWx1ZS5jdXN0b20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnRpdGlsZXJQZ3N0YWNBcGlEb21haW5OYW1lLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICApLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICB0aGlzLnVybCA9IHN0YWNBcGkudXJsITtcblxuICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCBcInRpdGlsZXItcGdzdGFjLWFwaS1vdXRwdXRcIiwge1xuICAgICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXRpdGlsZXItcGdzdGFjLXVybGAsXG4gICAgICAgIHZhbHVlOiB0aGlzLnVybCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGl0aWxlclBnU3RhY0FwaUxhbWJkYVByb3BzIHtcbiAgICAvKipcbiAgICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcblxuICAgIC8qKlxuICAgICAqIFJEUyBJbnN0YW5jZSB3aXRoIGluc3RhbGxlZCBwZ1NUQUMgb3IgcGdib3VuY2VyIHNlcnZlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlIHwgZWMyLklJbnN0YW5jZTtcblxuICAgIC8qKlxuICAgICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemVkIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZW5kIHRvIHRpdGlsZXItcGdzdGFjIHJ1bnRpbWUuIFRoZXNlIHdpbGwgYmUgbWVyZ2VkIHdpdGggYGRlZmF1bHRUaXRpbGVyUGdzdGFjRW52YC5cbiAgICAgKiBUaGUgZGF0YWJhc2Ugc2VjcmV0IGFybiBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXQgZGVwbG95bWVudC5cbiAgICAvKi9cbiAgICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogbGlzdCBvZiBidWNrZXRzIHRoZSBsYW1iZGEgd2lsbCBiZSBncmFudGVkIGFjY2VzcyB0by5cbiAgICAgKi9cbiAgICByZWFkb25seSBidWNrZXRzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gRG9tYWluIE5hbWUgT3B0aW9ucyBmb3IgVGl0aWxlciBQZ3N0YWMgQVBJLFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGl0aWxlclBnc3RhY0FwaURvbWFpbk5hbWU/OiBhcGlnYXRld2F5djIuSURvbWFpbk5hbWU7XG5cbiAgICAvKipcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG4gIH1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoapi-cdk",
3
- "version": "8.3.1",
3
+ "version": "8.3.3",
4
4
  "description": "A set of constructs deploying pgSTAC with CDK",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",