@gemeentenijmegen/webapp 1.1.5 → 1.1.6
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 +12 -12
- package/lib/webapp/Criticality.js +1 -1
- package/lib/webapp/Webapp.js +1 -1
- package/lib/webapp/Webpage.js +1 -1
- package/lib/webapp/util/Files.js +1 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/endpoint/endpointResolver.js +10 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/endpoint/ruleset.js +3 -3
- package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/index.js +449 -310
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/DynamoDBClient.js +2 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/BatchGetItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/BatchWriteItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateBackupCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateGlobalTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteBackupCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteResourcePolicyCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeBackupCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeContinuousBackupsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeContributorInsightsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeExportCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeGlobalTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeGlobalTableSettingsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeImportCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeKinesisStreamingDestinationCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTableReplicaAutoScalingCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTimeToLiveCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DisableKinesisStreamingDestinationCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/EnableKinesisStreamingDestinationCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ExportTableToPointInTimeCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/GetItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/GetResourcePolicyCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ImportTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListBackupsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListContributorInsightsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListExportsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListImportsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListTagsOfResourceCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/PutItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/PutResourcePolicyCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/QueryCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/RestoreTableFromBackupCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/RestoreTableToPointInTimeCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ScanCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/TagResourceCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/TransactGetItemsCommand.js +7 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UntagResourceCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateContinuousBackupsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateContributorInsightsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateGlobalTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateGlobalTableSettingsCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateItemCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateKinesisStreamingDestinationCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTableCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTableReplicaAutoScalingCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTimeToLiveCommand.js +4 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/endpointResolver.js +10 -1
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/ruleset.js +3 -3
- package/node_modules/@aws-sdk/client-dynamodb/dist-es/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchExecuteStatementCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchGetItemCommand.d.ts +27 -27
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchWriteItemCommand.d.ts +32 -29
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateBackupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateGlobalTableCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateTableCommand.d.ts +1 -70
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteBackupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteItemCommand.d.ts +12 -12
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteResourcePolicyCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteTableCommand.d.ts +13 -13
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeBackupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeContinuousBackupsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeContributorInsightsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeEndpointsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeExportCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeGlobalTableCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeGlobalTableSettingsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeImportCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeKinesisStreamingDestinationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeLimitsCommand.d.ts +8 -8
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTableCommand.d.ts +1 -47
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTableReplicaAutoScalingCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTimeToLiveCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DisableKinesisStreamingDestinationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/EnableKinesisStreamingDestinationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExecuteStatementCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExecuteTransactionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExportTableToPointInTimeCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/GetItemCommand.d.ts +16 -16
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/GetResourcePolicyCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ImportTableCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListBackupsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListContributorInsightsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListExportsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListGlobalTablesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListImportsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListTablesCommand.d.ts +5 -5
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListTagsOfResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/PutItemCommand.d.ts +15 -15
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/PutResourcePolicyCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/QueryCommand.d.ts +15 -15
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableFromBackupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableToPointInTimeCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ScanCommand.d.ts +24 -24
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TagResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TransactGetItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TransactWriteItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UntagResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateContinuousBackupsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateContributorInsightsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateGlobalTableCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateGlobalTableSettingsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateItemCommand.d.ts +28 -28
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateKinesisStreamingDestinationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTableCommand.d.ts +1 -52
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTableReplicaAutoScalingCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTimeToLiveCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/endpoint/EndpointParameters.d.ts +2 -0
- package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +2 -0
- package/node_modules/@aws-sdk/client-dynamodb/package.json +35 -35
- package/node_modules/@aws-sdk/client-s3/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/ruleset.js +3 -3
- package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +58 -77
- package/node_modules/@aws-sdk/client-s3/dist-es/S3Client.js +2 -1
- package/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/ruleset.js +3 -3
- package/node_modules/@aws-sdk/client-s3/dist-es/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +9 -6
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +16 -16
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +9 -9
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +15 -16
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +8 -8
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCorsCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketReplicationCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +18 -13
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -12
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +30 -31
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAclCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketCorsCommand.d.ts +9 -9
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketEncryptionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +11 -11
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLocationCommand.d.ts +5 -5
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLoggingCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataTableConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +5 -5
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketReplicationCommand.d.ts +12 -12
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +5 -5
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +9 -9
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketVersioningCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketWebsiteCommand.d.ts +8 -8
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAclCommand.d.ts +29 -29
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +45 -31
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLegalHoldCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +19 -20
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTorrentCommand.d.ts +18 -5
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetPublicAccessBlockCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +7 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +12 -12
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketsCommand.d.ts +14 -14
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +62 -63
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +26 -26
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +23 -23
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +22 -22
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +22 -22
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +9 -6
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +19 -16
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +18 -15
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +16 -13
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +11 -8
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +8 -5
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +15 -12
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +9 -6
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +13 -10
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +10 -7
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +13 -10
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +11 -8
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +68 -74
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +12 -12
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +17 -16
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +9 -9
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +21 -22
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +47 -48
- package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +13 -14
- package/node_modules/@aws-sdk/client-s3/package.json +50 -50
- package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/index.js +47 -48
- package/node_modules/@aws-sdk/client-secrets-manager/dist-es/SecretsManagerClient.js +2 -1
- package/node_modules/@aws-sdk/client-secrets-manager/dist-es/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-secrets-manager/dist-es/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/BatchGetSecretValueCommand.d.ts +24 -24
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CancelRotateSecretCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CreateSecretCommand.d.ts +10 -10
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteResourcePolicyCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteSecretCommand.d.ts +1 -19
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DescribeSecretCommand.d.ts +1 -48
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetRandomPasswordCommand.d.ts +7 -7
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetResourcePolicyCommand.d.ts +17 -7
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetSecretValueCommand.d.ts +14 -10
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretVersionIdsCommand.d.ts +16 -16
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretsCommand.d.ts +17 -17
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutResourcePolicyCommand.d.ts +17 -7
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutSecretValueCommand.d.ts +10 -10
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RemoveRegionsFromReplicationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ReplicateSecretToRegionsCommand.d.ts +12 -12
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RestoreSecretCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RotateSecretCommand.d.ts +16 -17
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/StopReplicationToReplicaCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/TagResourceCommand.d.ts +12 -9
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UntagResourceCommand.d.ts +8 -5
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretCommand.d.ts +25 -27
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretVersionStageCommand.d.ts +21 -23
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ValidateResourcePolicyCommand.d.ts +17 -7
- package/node_modules/@aws-sdk/client-secrets-manager/package.json +33 -33
- package/node_modules/@aws-sdk/client-ssm/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +225 -220
- package/node_modules/@aws-sdk/client-ssm/dist-es/SSMClient.js +2 -1
- package/node_modules/@aws-sdk/client-ssm/dist-es/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-ssm/dist-es/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/client-ssm/dist-es/models/models_0.js +5 -0
- package/node_modules/@aws-sdk/client-ssm/dist-es/protocols/Aws_json1_1.js +4 -0
- package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AddTagsToResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AssociateOpsItemRelatedItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelCommandCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelMaintenanceWindowExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateActivationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationBatchCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateDocumentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreatePatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateResourceDataSyncCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteActivationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteAssociationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteDocumentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteInventoryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParameterCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParametersCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeletePatchBaselineCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourceDataSyncCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourcePolicyCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterManagedInstanceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterPatchBaselineForPatchGroupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTargetFromMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTaskFromMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeActivationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionTargetsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationExecutionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationStepExecutionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAvailablePatchesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentPermissionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectiveInstanceAssociationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectivePatchesForPatchBaselineCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceAssociationsStatusCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceInformationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesForPatchGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchesCommand.d.ts +2 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePropertiesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInventoryDeletionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTasksCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowScheduleCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTargetsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTasksCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsForTargetCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeOpsItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeParametersCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchBaselinesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchPropertiesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeSessionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DisassociateOpsItemRelatedItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAutomationExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCalendarStateCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCommandInvocationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetConnectionStatusCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDefaultPatchBaselineCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDeployablePatchSnapshotForInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDocumentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetExecutionPreviewCommand.d.ts +1 -29
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventoryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventorySchemaCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskInvocationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowTaskCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsSummaryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterHistoryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersByPathCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineForPatchGroupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetResourcePoliciesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetServiceSettingCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/LabelParameterVersionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationVersionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandInvocationsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceSummariesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentMetadataHistoryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentVersionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListInventoryEntriesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesCommand.d.ts +1 -52
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesSummaryCommand.d.ts +19 -19
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemEventsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemRelatedItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceComplianceSummariesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceDataSyncCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListTagsForResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ModifyDocumentPermissionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutComplianceItemsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutInventoryCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutParameterCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutResourcePolicyCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterDefaultPatchBaselineCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterPatchBaselineForPatchGroupCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTargetWithMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTaskWithMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RemoveTagsFromResourceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResetServiceSettingCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResumeSessionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendAutomationSignalCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendCommandCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAssociationsOnceCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAutomationExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartChangeRequestExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartExecutionPreviewCommand.d.ts +5 -5
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartSessionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StopAutomationExecutionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/TerminateSessionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UnlabelParameterVersionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationStatusCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentDefaultVersionCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTargetCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTaskCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateManagedInstanceRoleCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsItemCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsMetadataCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdatePatchBaselineCommand.d.ts +3 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateResourceDataSyncCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateServiceSettingCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_0.d.ts +34 -22
- package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_1.d.ts +60 -69
- package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_2.d.ts +83 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ResetServiceSettingCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_0.d.ts +9 -5
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_1.d.ts +9 -4
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_2.d.ts +6 -0
- package/node_modules/@aws-sdk/client-ssm/package.json +34 -34
- package/node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-sso/dist-cjs/index.js +22 -23
- package/node_modules/@aws-sdk/client-sso/dist-es/SSOClient.js +2 -1
- package/node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/client-sso/dist-es/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/client-sso/dist-es/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/GetRoleCredentialsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountRolesCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/LogoutCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/package.json +32 -32
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +13 -15
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +3 -3
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +82 -33
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +4 -4
- package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.js +4 -4
- package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js +70 -27
- package/node_modules/@aws-sdk/core/dist-types/api-extractor-type-index.d.ts +5 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +0 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +9 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +2 -1
- package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +25 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +9 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/parseXmlBody.d.ts +9 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +5 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +11 -1
- package/node_modules/@aws-sdk/core/package.json +22 -22
- package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +9 -9
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
- package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
- package/node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/index.js +14 -18
- package/node_modules/@aws-sdk/middleware-bucket-endpoint/dist-es/configurations.js +2 -3
- package/node_modules/@aws-sdk/middleware-bucket-endpoint/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-cjs/index.js +23 -22
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-es/resolveEndpointDiscoveryConfig.js +11 -9
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/configurations.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/getEndpointDiscoveryPlugin.d.ts +11 -0
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/resolveEndpointDiscoveryConfig.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-endpoint-discovery/package.json +6 -5
- package/node_modules/@aws-sdk/middleware-expect-continue/dist-cjs/index.js +5 -5
- package/node_modules/@aws-sdk/middleware-expect-continue/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +18 -21
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js +8 -6
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/constants.d.ts +16 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/crc64-nvme-crt-container.d.ts +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsInputMiddleware.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsMiddleware.d.ts +6 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsResponseMiddleware.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getFlexibleChecksumsPlugin.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/resolveFlexibleChecksumsConfig.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +10 -9
- package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +7 -9
- package/node_modules/@aws-sdk/middleware-host-header/dist-types/index.d.ts +15 -0
- package/node_modules/@aws-sdk/middleware-host-header/package.json +5 -4
- package/node_modules/@aws-sdk/middleware-location-constraint/dist-cjs/index.js +5 -5
- package/node_modules/@aws-sdk/middleware-location-constraint/dist-es/configuration.js +1 -1
- package/node_modules/@aws-sdk/middleware-location-constraint/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +5 -5
- package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +10 -6
- package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js +6 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +39 -32
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +9 -9
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +6 -4
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +11 -11
- package/node_modules/@aws-sdk/middleware-ssec/dist-cjs/index.js +6 -7
- package/node_modules/@aws-sdk/middleware-ssec/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +11 -11
- package/node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js +4 -4
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +23 -24
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js +2 -5
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +6 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +1 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +2 -5
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js +2 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +46 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +47 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +34 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +36 -36
- package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +15 -26
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js +2 -12
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/resolveRegionConfig.js +2 -3
- package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
- package/node_modules/@aws-sdk/s3-request-presigner/dist-cjs/index.js +4 -4
- package/node_modules/@aws-sdk/s3-request-presigner/package.json +10 -10
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +4 -5
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +6 -6
- package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/token-providers/package.json +6 -6
- package/node_modules/@aws-sdk/types/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/types/dist-es/function.js +1 -0
- package/node_modules/@aws-sdk/types/dist-es/index.js +1 -0
- package/node_modules/@aws-sdk/types/dist-types/function.d.ts +7 -0
- package/node_modules/@aws-sdk/types/dist-types/index.d.ts +1 -0
- package/node_modules/@aws-sdk/types/dist-types/ts3.4/function.d.ts +7 -0
- package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +1 -0
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +5 -7
- package/node_modules/@aws-sdk/util-endpoints/package.json +4 -4
- package/node_modules/@aws-sdk/util-format-url/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/util-format-url/package.json +4 -4
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +5 -5
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +3 -3
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/.jsii +45 -45
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/README.md +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/lib/index.js +7 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/.jsii +464 -138
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/alb-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-defaults.d.ts +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-defaults.js +11 -11
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-helper.d.ts +10 -5
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-helper.js +59 -45
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudfront-distribution-helper.d.ts +30 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudfront-distribution-helper.js +87 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudwatch-log-group-helper.js +2 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-helper.js +3 -5
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-defaults.d.ts +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-defaults.js +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-helper.js +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/elasticsearch-helper.js +5 -5
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/eventbridge-helper.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/events-rule-defaults.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/events-rule-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/fargate-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-database-defaults.js +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-job-helper.js +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-table-defaults.js +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/iot-topic-rule-defaults.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/iot-topic-rule-defaults.js +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-helper.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-helper.js +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-helper.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-firehose-s3-defaults.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-firehose-s3-defaults.js +7 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-helper.js +2 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/lambda-event-source-mapping-defaults.d.ts +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/lambda-event-source-mapping-defaults.js +16 -16
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/mediastore-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/opensearch-helper.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/override-warning-service.js +9 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/s3-bucket-helper.js +7 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sagemaker-helper.d.ts +5 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sagemaker-helper.js +10 -9
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-defaults.d.ts +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-defaults.js +4 -4
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-helper.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sqs-defaults.js +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sqs-helper.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-defaults.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-defaults.js +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.d.ts +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.js +14 -12
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/vpc-helper.js +1 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/waf-helper.js +2 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/websocket-api-helper.js +1 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/nohoist.sh +11 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/package.json +7 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/apigateway-helper.test.js +84 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/cloudfront-distribution-api-gateway-helper.test.js +11 -11
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/cloudfront-distribution-s3-helper.test.js +467 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/dynamo-table.test.js +9 -9
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/glue-job-helper.test.js +7 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/glue-table-helper.test.js +5 -5
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/kinesis-analytics.test.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/kinesis-streams-defaults.test.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/lambda-event-source.test.js +10 -10
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/openapi/apiDefinition.json +57 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/override-warning-service.test.js +25 -26
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/pipes-helper.test.js +2 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/step-function-helper.test.js +5 -5
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/utils.test.js +11 -12
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/package.json +8 -8
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js +1 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.assets.json +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.template.json +25 -19
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddbaddsecondaryindexIntegDefaultTestDeployAssert3193B4D9.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/manifest.json +197 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/tree.json +1 -415
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.assets.json +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.template.json +35 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/manifest.json +476 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/tree.json +1 -1386
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.assets.json +3 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.template.json +33 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/manifest.json +404 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/tree.json +1 -968
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js +1 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.assets.json +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.template.json +25 -19
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddbnoargumentsIntegDefaultTestDeployAssert248B75D0.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/manifest.json +183 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/tree.json +1 -386
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js +1 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.assets.json +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.template.json +25 -19
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddbsetbillingmodeIntegDefaultTestDeployAssertDAE32272.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/manifest.json +185 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/tree.json +1 -389
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js +1 -2
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/cdk.out +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/integ.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.assets.json +6 -6
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.template.json +25 -19
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddbuseexistingfuncIntegDefaultTestDeployAssert48D284DD.assets.json +1 -1
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/manifest.json +183 -3
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/tree.json +1 -386
- package/node_modules/@gemeentenijmegen/apiclient/node_modules/@gemeentenijmegen/utils/package.json +7 -7
- package/node_modules/@gemeentenijmegen/apiclient/package.json +10 -10
- package/node_modules/@gemeentenijmegen/apigateway-http/package.json +5 -5
- package/node_modules/@gemeentenijmegen/session/package.json +4 -4
- package/node_modules/@gemeentenijmegen/utils/package.json +7 -7
- package/node_modules/@smithy/abort-controller/package.json +5 -5
- package/node_modules/@smithy/config-resolver/dist-cjs/index.js +11 -14
- package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js +5 -6
- package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js +4 -5
- package/node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js +2 -3
- package/node_modules/@smithy/config-resolver/package.json +7 -7
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +41 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js +9 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/value/NumericValue.d.ts +31 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/value/NumericValue.d.ts +31 -0
- package/node_modules/@smithy/core/package.json +17 -8
- package/node_modules/@smithy/core/serde.d.ts +7 -0
- package/node_modules/@smithy/core/serde.js +6 -0
- package/node_modules/@smithy/credential-provider-imds/package.json +8 -8
- package/node_modules/@smithy/eventstream-codec/package.json +5 -5
- package/node_modules/@smithy/eventstream-serde-browser/package.json +6 -6
- package/node_modules/@smithy/eventstream-serde-config-resolver/dist-cjs/index.js +1 -2
- package/node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js +1 -2
- package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +5 -5
- package/node_modules/@smithy/eventstream-serde-node/package.json +6 -6
- package/node_modules/@smithy/eventstream-serde-universal/package.json +6 -6
- package/node_modules/@smithy/fetch-http-handler/package.json +8 -8
- package/node_modules/@smithy/hash-blob-browser/package.json +5 -5
- package/node_modules/@smithy/hash-node/package.json +5 -5
- package/node_modules/@smithy/hash-stream-node/package.json +5 -5
- package/node_modules/@smithy/invalid-dependency/package.json +5 -5
- package/node_modules/@smithy/md5-js/package.json +5 -5
- package/node_modules/@smithy/middleware-content-length/package.json +6 -6
- package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +5 -6
- package/node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js +5 -6
- package/node_modules/@smithy/middleware-endpoint/package.json +10 -10
- package/node_modules/@smithy/middleware-retry/README.md +1 -1
- package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +5 -6
- package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +5 -6
- package/node_modules/@smithy/middleware-retry/package.json +10 -10
- package/node_modules/@smithy/middleware-serde/package.json +4 -4
- package/node_modules/@smithy/middleware-stack/package.json +5 -5
- package/node_modules/@smithy/node-config-provider/package.json +7 -7
- package/node_modules/@smithy/node-http-handler/package.json +7 -7
- package/node_modules/@smithy/property-provider/package.json +5 -5
- package/node_modules/@smithy/protocol-http/dist-cjs/index.js +4 -5
- package/node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js +4 -5
- package/node_modules/@smithy/protocol-http/package.json +5 -5
- package/node_modules/@smithy/querystring-builder/package.json +5 -5
- package/node_modules/@smithy/querystring-parser/package.json +5 -5
- package/node_modules/@smithy/service-error-classification/package.json +5 -5
- package/node_modules/@smithy/shared-ini-file-loader/package.json +5 -5
- package/node_modules/@smithy/signature-v4/package.json +7 -7
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +6 -14
- package/node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js +2 -3
- package/node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js +2 -8
- package/node_modules/@smithy/smithy-client/dist-es/extensions/retry.js +2 -3
- package/node_modules/@smithy/smithy-client/dist-types/client.d.ts +8 -0
- package/node_modules/@smithy/smithy-client/dist-types/extensions/checksum.d.ts +0 -1
- package/node_modules/@smithy/smithy-client/dist-types/extensions/defaultExtensionConfiguration.d.ts +6 -6
- package/node_modules/@smithy/smithy-client/dist-types/ts3.4/client.d.ts +8 -0
- package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extensions/checksum.d.ts +0 -1
- package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +6 -6
- package/node_modules/@smithy/smithy-client/package.json +9 -9
- package/node_modules/@smithy/types/dist-cjs/index.js +4 -9
- package/node_modules/@smithy/types/dist-es/extensions/checksum.js +2 -3
- package/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +2 -6
- package/node_modules/@smithy/types/package.json +4 -4
- package/node_modules/@smithy/url-parser/package.json +6 -6
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +6 -6
- package/node_modules/@smithy/util-defaults-mode-node/package.json +9 -9
- package/node_modules/@smithy/util-endpoints/package.json +6 -6
- package/node_modules/@smithy/util-middleware/package.json +5 -5
- package/node_modules/@smithy/util-retry/README.md +1 -1
- package/node_modules/@smithy/util-retry/package.json +6 -6
- package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js +1 -1
- package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js +3 -3
- package/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js +1 -1
- package/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js +3 -3
- package/node_modules/@smithy/util-stream/dist-types/createBufferedReadableStream.d.ts +3 -2
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadableStream.d.ts +3 -2
- package/node_modules/@smithy/util-stream/package.json +6 -6
- package/node_modules/@smithy/util-waiter/package.json +6 -6
- package/node_modules/@types/aws-lambda/README.md +1 -1
- package/node_modules/@types/aws-lambda/package.json +2 -2
- package/node_modules/@types/aws-lambda/trigger/guard-duty-event-notification.d.ts +1 -1
- package/node_modules/axios/CHANGELOG.md +36 -0
- package/node_modules/axios/README.md +8 -2
- package/node_modules/axios/dist/axios.js +4 -4
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +2 -2
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +4 -4
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +4 -4
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +5 -5
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +1 -0
- package/node_modules/axios/index.d.ts +1 -0
- package/node_modules/axios/lib/adapters/http.js +1 -1
- package/node_modules/axios/lib/core/buildFullPath.js +1 -1
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/resolveConfig.js +1 -1
- package/node_modules/axios/package.json +4 -4
- package/package.json +19 -19
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/.eslintignore +0 -7
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/.eslintignore +0 -9
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
- package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/license +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/readme.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/LICENSE +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/LICENSE.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-base.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-group.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-stream.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/LICENSE +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/bin.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/browser.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/LICENSE +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/LICENSE-MIT.txt +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/es2015/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/es2015/text.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/text.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/LICENSE.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/base-theme.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/error.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/has-color.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/plumbing.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/process.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/progress-bar.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/render-template.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/set-immediate.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/set-interval.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/spin.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/template-item.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/theme-set.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/themes.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/wide-truncate.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/LICENSE.txt +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.js.map +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/LICENSE +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/license +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/readme.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/LICENSE.txt +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/license +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/readme.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/index.d.ts +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/index.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/license +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/package.json +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/readme.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/LICENSE +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/README.md +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/align.js +0 -0
- /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/package.json +0 -0
|
@@ -432,6 +432,472 @@ test('Is logCloudFrontAccessLog observed', () => {
|
|
|
432
432
|
template.resourceCountIs("AWS::S3::Bucket", 3);
|
|
433
433
|
});
|
|
434
434
|
// ---------------------------
|
|
435
|
+
// Duplicate tests for createCloudFrontOaiDistributinForS3
|
|
436
|
+
// ---------------------------
|
|
437
|
+
test('check bucket policy metadata - oai', () => {
|
|
438
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
439
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
440
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
441
|
+
sourceBucket: buildS3BucketResponse.bucket
|
|
442
|
+
});
|
|
443
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
444
|
+
template.hasResource('AWS::S3::BucketPolicy', {
|
|
445
|
+
Metadata: {
|
|
446
|
+
cfn_nag: {
|
|
447
|
+
rules_to_suppress: [
|
|
448
|
+
{
|
|
449
|
+
id: "F16",
|
|
450
|
+
reason: "Public website bucket policy requires a wildcard principal"
|
|
451
|
+
}
|
|
452
|
+
]
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
});
|
|
457
|
+
test('check createCloudFrontOaiDistributionForS3 response', () => {
|
|
458
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
459
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
460
|
+
const response = (0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
461
|
+
sourceBucket: buildS3BucketResponse.bucket
|
|
462
|
+
});
|
|
463
|
+
expect(response.originAccessIdentity).toBeDefined();
|
|
464
|
+
expect(response.distribution).toBeDefined();
|
|
465
|
+
expect(response.loggingBucket).toBeDefined();
|
|
466
|
+
expect(response.cloudfrontFunction).toBeDefined();
|
|
467
|
+
expect(response.loggingBucketS3AccesssLogBucket).toBeDefined();
|
|
468
|
+
});
|
|
469
|
+
test('test cloudfront check bucket policy - oai', () => {
|
|
470
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
471
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
472
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
473
|
+
sourceBucket: buildS3BucketResponse.bucket
|
|
474
|
+
});
|
|
475
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
476
|
+
template.hasResourceProperties("AWS::S3::BucketPolicy", {
|
|
477
|
+
PolicyDocument: {
|
|
478
|
+
Statement: [
|
|
479
|
+
{
|
|
480
|
+
Action: "s3:*",
|
|
481
|
+
Condition: {
|
|
482
|
+
Bool: {
|
|
483
|
+
"aws:SecureTransport": "false"
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
Effect: "Deny",
|
|
487
|
+
Principal: {
|
|
488
|
+
AWS: "*"
|
|
489
|
+
},
|
|
490
|
+
Resource: [
|
|
491
|
+
{
|
|
492
|
+
"Fn::GetAtt": [
|
|
493
|
+
"S3Bucket07682993",
|
|
494
|
+
"Arn"
|
|
495
|
+
]
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"Fn::Join": [
|
|
499
|
+
"",
|
|
500
|
+
[
|
|
501
|
+
{
|
|
502
|
+
"Fn::GetAtt": [
|
|
503
|
+
"S3Bucket07682993",
|
|
504
|
+
"Arn"
|
|
505
|
+
]
|
|
506
|
+
},
|
|
507
|
+
"/*"
|
|
508
|
+
]
|
|
509
|
+
]
|
|
510
|
+
}
|
|
511
|
+
]
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
Action: "s3:GetObject",
|
|
515
|
+
Effect: "Allow",
|
|
516
|
+
Principal: {
|
|
517
|
+
CanonicalUser: {
|
|
518
|
+
"Fn::GetAtt": [
|
|
519
|
+
"constructsGeneratedOai6A430BBF",
|
|
520
|
+
"S3CanonicalUserId"
|
|
521
|
+
]
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
Resource: {
|
|
525
|
+
"Fn::Join": [
|
|
526
|
+
"",
|
|
527
|
+
[
|
|
528
|
+
{
|
|
529
|
+
"Fn::GetAtt": [
|
|
530
|
+
"S3Bucket07682993",
|
|
531
|
+
"Arn"
|
|
532
|
+
]
|
|
533
|
+
},
|
|
534
|
+
"/*"
|
|
535
|
+
]
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
],
|
|
540
|
+
Version: "2012-10-17"
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
});
|
|
544
|
+
test('test cloudfront with no security headers - oai', () => {
|
|
545
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
546
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
547
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
548
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
549
|
+
cloudFrontDistributionProps: {},
|
|
550
|
+
httpSecurityHeaders: false
|
|
551
|
+
});
|
|
552
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
553
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
554
|
+
DistributionConfig: {
|
|
555
|
+
DefaultCacheBehavior: {
|
|
556
|
+
CachePolicyId: "658327ea-f89d-4fab-a63d-7e88639e58f6",
|
|
557
|
+
Compress: true,
|
|
558
|
+
TargetOriginId: "CloudFrontDistributionOrigin176EC3A12",
|
|
559
|
+
ViewerProtocolPolicy: "redirect-to-https"
|
|
560
|
+
},
|
|
561
|
+
DefaultRootObject: "index.html",
|
|
562
|
+
Enabled: true,
|
|
563
|
+
HttpVersion: "http2",
|
|
564
|
+
IPV6Enabled: true,
|
|
565
|
+
Logging: {
|
|
566
|
+
Bucket: {
|
|
567
|
+
"Fn::GetAtt": [
|
|
568
|
+
"CloudfrontLoggingBucket3C3EFAA7",
|
|
569
|
+
"RegionalDomainName"
|
|
570
|
+
]
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
});
|
|
576
|
+
test('test cloudfront override cloudfront logging bucket - oai', () => {
|
|
577
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
578
|
+
const contentBucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {}, 'content-bucket');
|
|
579
|
+
const logBucket = new aws_s3_1.Bucket(stack, 'cloudfront-log-bucket');
|
|
580
|
+
const myprops = {
|
|
581
|
+
enableLogging: true,
|
|
582
|
+
logBucket
|
|
583
|
+
};
|
|
584
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
585
|
+
sourceBucket: contentBucketResponse.bucket,
|
|
586
|
+
cloudFrontDistributionProps: myprops
|
|
587
|
+
});
|
|
588
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
589
|
+
// Should be content bucket and it's associated S3 logging bucket, plus simple CloudFront log bucket
|
|
590
|
+
template.resourceCountIs("AWS::S3::Bucket", 3);
|
|
591
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
592
|
+
DistributionConfig: {
|
|
593
|
+
Logging: {
|
|
594
|
+
Bucket: {
|
|
595
|
+
"Fn::GetAtt": [
|
|
596
|
+
"cloudfrontlogbucketDF7058FB",
|
|
597
|
+
"RegionalDomainName"
|
|
598
|
+
]
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
});
|
|
604
|
+
test('test cloudfront with logging disabled - oai', () => {
|
|
605
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
606
|
+
const contentBucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
607
|
+
const cfDistroProps = {
|
|
608
|
+
enableLogging: false,
|
|
609
|
+
};
|
|
610
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
611
|
+
sourceBucket: contentBucketResponse.bucket,
|
|
612
|
+
cloudFrontDistributionProps: cfDistroProps
|
|
613
|
+
});
|
|
614
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
615
|
+
// Should only be content bucket and it's associated S3 logging bucket
|
|
616
|
+
template.resourceCountIs("AWS::S3::Bucket", 2);
|
|
617
|
+
// There should be no logging of distribution
|
|
618
|
+
template.resourcePropertiesCountIs("AWS::CloudFront::Distribution", {
|
|
619
|
+
DistributionConfig: {
|
|
620
|
+
DefaultCacheBehavior: {
|
|
621
|
+
Logging: assertions_1.Match.anyValue()
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}, 0);
|
|
625
|
+
});
|
|
626
|
+
test('test cloudfront override properties - oai', () => {
|
|
627
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
628
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
629
|
+
const props = {
|
|
630
|
+
defaultBehavior: {
|
|
631
|
+
origin: new origins.S3Origin(buildS3BucketResponse.bucket, { originPath: '/testPath' }),
|
|
632
|
+
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
633
|
+
allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,
|
|
634
|
+
cachedMethods: cloudfront.CachedMethods.CACHE_GET_HEAD_OPTIONS
|
|
635
|
+
},
|
|
636
|
+
};
|
|
637
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
638
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
639
|
+
cloudFrontDistributionProps: props
|
|
640
|
+
});
|
|
641
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
642
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
643
|
+
DistributionConfig: {
|
|
644
|
+
DefaultCacheBehavior: {
|
|
645
|
+
AllowedMethods: [
|
|
646
|
+
"GET",
|
|
647
|
+
"HEAD",
|
|
648
|
+
"OPTIONS",
|
|
649
|
+
"PUT",
|
|
650
|
+
"PATCH",
|
|
651
|
+
"POST",
|
|
652
|
+
"DELETE"
|
|
653
|
+
],
|
|
654
|
+
CachePolicyId: "658327ea-f89d-4fab-a63d-7e88639e58f6",
|
|
655
|
+
CachedMethods: [
|
|
656
|
+
"GET",
|
|
657
|
+
"HEAD",
|
|
658
|
+
"OPTIONS"
|
|
659
|
+
],
|
|
660
|
+
Compress: true,
|
|
661
|
+
FunctionAssociations: [
|
|
662
|
+
{
|
|
663
|
+
EventType: "viewer-response",
|
|
664
|
+
FunctionARN: {
|
|
665
|
+
"Fn::GetAtt": [
|
|
666
|
+
"SetHttpSecurityHeadersEE936115",
|
|
667
|
+
"FunctionARN"
|
|
668
|
+
]
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
],
|
|
672
|
+
TargetOriginId: "CloudFrontDistributionOrigin176EC3A12",
|
|
673
|
+
ViewerProtocolPolicy: "redirect-to-https"
|
|
674
|
+
},
|
|
675
|
+
DefaultRootObject: "index.html",
|
|
676
|
+
Enabled: true,
|
|
677
|
+
HttpVersion: "http2",
|
|
678
|
+
IPV6Enabled: true,
|
|
679
|
+
Logging: {
|
|
680
|
+
Bucket: {
|
|
681
|
+
"Fn::GetAtt": [
|
|
682
|
+
"CloudfrontLoggingBucket3C3EFAA7",
|
|
683
|
+
"RegionalDomainName"
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
Origins: [
|
|
688
|
+
{
|
|
689
|
+
DomainName: {
|
|
690
|
+
"Fn::GetAtt": [
|
|
691
|
+
"S3Bucket07682993",
|
|
692
|
+
"RegionalDomainName"
|
|
693
|
+
]
|
|
694
|
+
},
|
|
695
|
+
Id: "CloudFrontDistributionOrigin176EC3A12",
|
|
696
|
+
OriginPath: '/testPath',
|
|
697
|
+
S3OriginConfig: {
|
|
698
|
+
OriginAccessIdentity: {
|
|
699
|
+
"Fn::Join": [
|
|
700
|
+
"",
|
|
701
|
+
[
|
|
702
|
+
"origin-access-identity/cloudfront/",
|
|
703
|
+
{
|
|
704
|
+
Ref: "CloudFrontDistributionOrigin1S3Origin3D9CA0E9"
|
|
705
|
+
}
|
|
706
|
+
]
|
|
707
|
+
]
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
]
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
});
|
|
715
|
+
test('test override cloudfront with custom cloudfront function - oai', () => {
|
|
716
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
717
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
718
|
+
// custom cloudfront function
|
|
719
|
+
const cloudfrontFunction = new cloudfront.Function(stack, "MyFunction", {
|
|
720
|
+
code: cloudfront.FunctionCode.fromInline("exports.handler = (event, context, callback) => {}")
|
|
721
|
+
});
|
|
722
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
723
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
724
|
+
cloudFrontDistributionProps: {
|
|
725
|
+
defaultBehavior: {
|
|
726
|
+
functionAssociations: [
|
|
727
|
+
{
|
|
728
|
+
eventType: cloudfront.FunctionEventType.VIEWER_RESPONSE,
|
|
729
|
+
function: cloudfrontFunction
|
|
730
|
+
}
|
|
731
|
+
],
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
});
|
|
735
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
736
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
737
|
+
DistributionConfig: {
|
|
738
|
+
DefaultCacheBehavior: {
|
|
739
|
+
CachePolicyId: "658327ea-f89d-4fab-a63d-7e88639e58f6",
|
|
740
|
+
Compress: true,
|
|
741
|
+
FunctionAssociations: [
|
|
742
|
+
{
|
|
743
|
+
EventType: "viewer-response",
|
|
744
|
+
FunctionARN: {
|
|
745
|
+
"Fn::GetAtt": [
|
|
746
|
+
"MyFunction3BAA72D1",
|
|
747
|
+
"FunctionARN"
|
|
748
|
+
]
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
],
|
|
752
|
+
TargetOriginId: "CloudFrontDistributionOrigin176EC3A12",
|
|
753
|
+
ViewerProtocolPolicy: "redirect-to-https"
|
|
754
|
+
},
|
|
755
|
+
DefaultRootObject: "index.html",
|
|
756
|
+
Enabled: true,
|
|
757
|
+
HttpVersion: "http2",
|
|
758
|
+
IPV6Enabled: true,
|
|
759
|
+
Logging: {
|
|
760
|
+
Bucket: {
|
|
761
|
+
"Fn::GetAtt": [
|
|
762
|
+
"CloudfrontLoggingBucket3C3EFAA7",
|
|
763
|
+
"RegionalDomainName"
|
|
764
|
+
]
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
});
|
|
770
|
+
test('test override cloudfront replace custom lambda@edge - oai', () => {
|
|
771
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
772
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
773
|
+
// custom lambda@edg function
|
|
774
|
+
const handler = new lambda.Function(stack, 'SomeHandler', {
|
|
775
|
+
functionName: 'SomeHandler',
|
|
776
|
+
runtime: defaults.COMMERCIAL_REGION_LAMBDA_NODE_RUNTIME,
|
|
777
|
+
handler: 'index.handler',
|
|
778
|
+
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
|
|
779
|
+
});
|
|
780
|
+
const handlerVersion = new lambda.Version(stack, 'SomeHandlerVersion', {
|
|
781
|
+
lambda: handler,
|
|
782
|
+
});
|
|
783
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
784
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
785
|
+
cloudFrontDistributionProps: {
|
|
786
|
+
defaultBehavior: {
|
|
787
|
+
edgeLambdas: [
|
|
788
|
+
{
|
|
789
|
+
eventType: aws_cloudfront_1.LambdaEdgeEventType.VIEWER_REQUEST,
|
|
790
|
+
includeBody: false,
|
|
791
|
+
functionVersion: handlerVersion,
|
|
792
|
+
}
|
|
793
|
+
]
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
httpSecurityHeaders: false
|
|
797
|
+
});
|
|
798
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
799
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
800
|
+
DistributionConfig: {
|
|
801
|
+
DefaultCacheBehavior: {
|
|
802
|
+
CachePolicyId: "658327ea-f89d-4fab-a63d-7e88639e58f6",
|
|
803
|
+
Compress: true,
|
|
804
|
+
LambdaFunctionAssociations: [
|
|
805
|
+
{
|
|
806
|
+
EventType: "viewer-request",
|
|
807
|
+
IncludeBody: false,
|
|
808
|
+
LambdaFunctionARN: {
|
|
809
|
+
Ref: "SomeHandlerVersionDA986E41"
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
],
|
|
813
|
+
TargetOriginId: "CloudFrontDistributionOrigin176EC3A12",
|
|
814
|
+
ViewerProtocolPolicy: "redirect-to-https"
|
|
815
|
+
},
|
|
816
|
+
DefaultRootObject: "index.html",
|
|
817
|
+
Enabled: true,
|
|
818
|
+
HttpVersion: "http2",
|
|
819
|
+
IPV6Enabled: true,
|
|
820
|
+
Logging: {
|
|
821
|
+
Bucket: {
|
|
822
|
+
"Fn::GetAtt": [
|
|
823
|
+
"CloudfrontLoggingBucket3C3EFAA7",
|
|
824
|
+
"RegionalDomainName"
|
|
825
|
+
]
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
});
|
|
830
|
+
});
|
|
831
|
+
test('test cloudfront override cloudfront custom domain names - oai', () => {
|
|
832
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
833
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
834
|
+
const certificate = acm.Certificate.fromCertificateArn(stack, 'Cert', 'arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012');
|
|
835
|
+
const myprops = {
|
|
836
|
+
domainNames: ['mydomains'],
|
|
837
|
+
certificate
|
|
838
|
+
};
|
|
839
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
840
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
841
|
+
cloudFrontDistributionProps: myprops
|
|
842
|
+
});
|
|
843
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
844
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {
|
|
845
|
+
DistributionConfig: {
|
|
846
|
+
Aliases: [
|
|
847
|
+
"mydomains"
|
|
848
|
+
],
|
|
849
|
+
}
|
|
850
|
+
});
|
|
851
|
+
});
|
|
852
|
+
test('Are cloudfront log bucket access log bucket properties used - oai', () => {
|
|
853
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
854
|
+
const contentBucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
855
|
+
const testName = 'random-name-avcb';
|
|
856
|
+
const response = (0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
857
|
+
sourceBucket: contentBucketResponse.bucket,
|
|
858
|
+
cloudFrontLoggingBucketS3AccessLogBucketProps: { bucketName: testName }
|
|
859
|
+
});
|
|
860
|
+
expect(response.loggingBucket).toBeDefined();
|
|
861
|
+
expect(response.loggingBucketS3AccesssLogBucket).toBeDefined();
|
|
862
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
863
|
+
// Content Bucket, Content Bucket Access Log, CloudFront Log, CloudFront Log Access Log
|
|
864
|
+
template.resourceCountIs("AWS::S3::Bucket", 4);
|
|
865
|
+
template.hasResourceProperties("AWS::S3::Bucket", {
|
|
866
|
+
BucketName: testName
|
|
867
|
+
});
|
|
868
|
+
});
|
|
869
|
+
test('Is logCloudFrontAccessLog observed - oai', () => {
|
|
870
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
871
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {});
|
|
872
|
+
const response = (0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
873
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
874
|
+
logCloudFrontAccessLog: false,
|
|
875
|
+
cloudFrontDistributionProps: {},
|
|
876
|
+
});
|
|
877
|
+
expect(response.loggingBucket).toBeDefined();
|
|
878
|
+
expect(response.loggingBucketS3AccesssLogBucket).not.toBeDefined();
|
|
879
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
880
|
+
// Content Bucket, Content Bucket Access Log, CloudFront Log, NO CloudFront Log Access Log
|
|
881
|
+
template.resourceCountIs("AWS::S3::Bucket", 3);
|
|
882
|
+
});
|
|
883
|
+
test('Test that web site enabled buckets throw an error - oai', () => {
|
|
884
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
885
|
+
const buildS3BucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(stack, {
|
|
886
|
+
bucketProps: {
|
|
887
|
+
websiteIndexDocument: "index.html"
|
|
888
|
+
}
|
|
889
|
+
});
|
|
890
|
+
const app = () => {
|
|
891
|
+
(0, cloudfront_distribution_helper_1.createCloudFrontOaiDistributionForS3)(stack, {
|
|
892
|
+
sourceBucket: buildS3BucketResponse.bucket,
|
|
893
|
+
logCloudFrontAccessLog: false,
|
|
894
|
+
cloudFrontDistributionProps: {},
|
|
895
|
+
});
|
|
896
|
+
};
|
|
897
|
+
// Assertion
|
|
898
|
+
expect(app).toThrowError();
|
|
899
|
+
});
|
|
900
|
+
// ---------------------------
|
|
435
901
|
// Prop Tests
|
|
436
902
|
// ---------------------------
|
|
437
903
|
test('Test CloudFront insertHttpHeaders bad props', () => {
|
|
@@ -447,4 +913,4 @@ test('Test CloudFront insertHttpHeaders bad props', () => {
|
|
|
447
913
|
// Assertion
|
|
448
914
|
expect(app).toThrowError('responseHeadersPolicyProps.securityHeadersBehavior can only be passed if httpSecurityHeaders is set to `false`.');
|
|
449
915
|
});
|
|
450
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24tczMtaGVscGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1zMy1oZWxwZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsdURBQXlEO0FBQ3pELDZDQUFvQztBQUNwQyx5REFBeUQ7QUFDekQsaURBQWlEO0FBQ2pELDBGQUEwRjtBQUMxRiw4REFBd0Q7QUFDeEQsK0NBQTRDO0FBQzVDLDhEQUE4RDtBQUM5RCwrREFBaUU7QUFDakUsMERBQTBEO0FBQzFELGdDQUFnQztBQUVoQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBQSxnQ0FBYSxFQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFBLGtFQUFpQyxFQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtRQUMzRCxZQUFZLEVBQUUscUJBQXFCLENBQUMsTUFBTTtLQUMzQyxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsV0FBVyxDQUFDLHVCQUF1QixFQUFFO1FBQzVDLFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxpQkFBaUIsRUFBRTtvQkFDakI7d0JBQ0UsRUFBRSxFQUFFLEtBQUs7d0JBQ1QsTUFBTSxFQUFFLDREQUE0RDtxQkFDckU7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFO0lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBQzFCLE1B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biAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBNYXRjaCwgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMgfSBmcm9tICcuLi9saWIvY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyJztcbmltcG9ydCB7IGJ1aWxkUzNCdWNrZXQgfSBmcm9tICcuLi9saWIvczMtYnVja2V0LWhlbHBlcic7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB7IExhbWJkYUVkZ2VFdmVudFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICcuLi8nO1xuXG50ZXN0KCdjaGVjayBidWNrZXQgcG9saWN5IG1ldGFkYXRhJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0XG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlKCdBV1M6OlMzOjpCdWNrZXRQb2xpY3knLCB7XG4gICAgTWV0YWRhdGE6IHtcbiAgICAgIGNmbl9uYWc6IHtcbiAgICAgICAgcnVsZXNfdG9fc3VwcHJlc3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogXCJGMTZcIixcbiAgICAgICAgICAgIHJlYXNvbjogXCJQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCBjaGVjayBidWNrZXQgcG9saWN5JywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0XG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpTMzo6QnVja2V0UG9saWN5XCIsIHtcbiAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBY3Rpb246IFwiczM6KlwiLFxuICAgICAgICAgIENvbmRpdGlvbjoge1xuICAgICAgICAgICAgQm9vbDoge1xuICAgICAgICAgICAgICBcImF3czpTZWN1cmVUcmFuc3BvcnRcIjogXCJmYWxzZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBFZmZlY3Q6IFwiRGVueVwiLFxuICAgICAgICAgIFByaW5jaXBhbDoge1xuICAgICAgICAgICAgQVdTOiBcIipcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcIlMzQnVja2V0MDc2ODI5OTNcIixcbiAgICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiRm46OkpvaW5cIjogW1xuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIFwiUzNCdWNrZXQwNzY4Mjk5M1wiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwiLypcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgd2l0aCBubyBzZWN1cml0eSBoZWFkZXJzICcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczoge30sXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVyczogZmFsc2VcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBDYWNoZVBvbGljeUlkOiBcIjY1ODMyN2VhLWY4OWQtNGZhYi1hNjNkLTdlODg2MzllNThmNlwiLFxuICAgICAgICBDb21wcmVzczogdHJ1ZSxcbiAgICAgICAgVGFyZ2V0T3JpZ2luSWQ6IFwiQ2xvdWRGcm9udERpc3RyaWJ1dGlvbk9yaWdpbjE3NkVDM0ExMlwiLFxuICAgICAgICBWaWV3ZXJQcm90b2NvbFBvbGljeTogXCJyZWRpcmVjdC10by1odHRwc1wiXG4gICAgICB9LFxuICAgICAgRGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgRW5hYmxlZDogdHJ1ZSxcbiAgICAgIEh0dHBWZXJzaW9uOiBcImh0dHAyXCIsXG4gICAgICBJUFY2RW5hYmxlZDogdHJ1ZSxcbiAgICAgIExvZ2dpbmc6IHtcbiAgICAgICAgQnVja2V0OiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQzQzNFRkFBN1wiLFxuICAgICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIlxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBjbG91ZGZyb250IG92ZXJyaWRlIGNsb3VkZnJvbnQgbG9nZ2luZyBidWNrZXQgJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjb250ZW50QnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSwgJ2NvbnRlbnQtYnVja2V0Jyk7XG4gIGNvbnN0IGxvZ0J1Y2tldCA9IG5ldyBCdWNrZXQoc3RhY2ssICdjbG91ZGZyb250LWxvZy1idWNrZXQnKTtcblxuICBjb25zdCBteXByb3BzID0ge1xuICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgbG9nQnVja2V0XG4gIH07XG5cbiAgY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCAnc2FtcGxlLWNmLWRpc3RybycsIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGNvbnRlbnRCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBteXByb3BzXG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgLy8gU2hvdWxkIGJlIGNvbnRlbnQgYnVja2V0IGFuZCBpdCdzIGFzc29jaWF0ZWQgUzMgbG9nZ2luZyBidWNrZXQsIHBsdXMgc2ltcGxlIENsb3VkRnJvbnQgbG9nIGJ1Y2tldFxuICB0ZW1wbGF0ZS5yZXNvdXJjZUNvdW50SXMoXCJBV1M6OlMzOjpCdWNrZXRcIiwgMyk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIExvZ2dpbmc6IHtcbiAgICAgICAgQnVja2V0OiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiY2xvdWRmcm9udGxvZ2J1Y2tldERGNzA1OEZCXCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgd2l0aCBsb2dnaW5nIGRpc2FibGVkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjb250ZW50QnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgY29uc3QgY2ZEaXN0cm9Qcm9wcyA9IHtcbiAgICBlbmFibGVMb2dnaW5nOiBmYWxzZSxcbiAgfTtcblxuICBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogY29udGVudEJ1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IGNmRGlzdHJvUHJvcHNcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICAvLyBTaG91bGQgb25seSBiZSBjb250ZW50IGJ1Y2tldCBhbmQgaXQncyBhc3NvY2lhdGVkIFMzIGxvZ2dpbmcgYnVja2V0XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCAyKTtcbiAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIGxvZ2dpbmcgb2YgZGlzdHJpYnV0aW9uXG4gIHRlbXBsYXRlLnJlc291cmNlUHJvcGVydGllc0NvdW50SXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBMb2dnaW5nOiBNYXRjaC5hbnlWYWx1ZSgpXG4gICAgICB9XG4gICAgfVxuICB9LCAwKTtcbn0pO1xudGVzdCgndGVzdCBjbG91ZGZyb250IG92ZXJyaWRlIHByb3BlcnRpZXMnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGJ1aWxkUzNCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9KTtcbiAgY29uc3QgcHJvcHM6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgPSB7XG4gICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICBvcmlnaW46IG5ldyBvcmlnaW5zLlMzT3JpZ2luKGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsIHsgb3JpZ2luUGF0aDogJy90ZXN0UGF0aCcgfSksXG4gICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgIGFsbG93ZWRNZXRob2RzOiBjbG91ZGZyb250LkFsbG93ZWRNZXRob2RzLkFMTE9XX0FMTCxcbiAgICAgIGNhY2hlZE1ldGhvZHM6IGNsb3VkZnJvbnQuQ2FjaGVkTWV0aG9kcy5DQUNIRV9HRVRfSEVBRF9PUFRJT05TXG4gICAgfSxcbiAgfTtcblxuICBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHByb3BzXG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgRGVmYXVsdENhY2hlQmVoYXZpb3I6IHtcbiAgICAgICAgQWxsb3dlZE1ldGhvZHM6IFtcbiAgICAgICAgICBcIkdFVFwiLFxuICAgICAgICAgIFwiSEVBRFwiLFxuICAgICAgICAgIFwiT1BUSU9OU1wiLFxuICAgICAgICAgIFwiUFVUXCIsXG4gICAgICAgICAgXCJQQVRDSFwiLFxuICAgICAgICAgIFwiUE9TVFwiLFxuICAgICAgICAgIFwiREVMRVRFXCJcbiAgICAgICAgXSxcbiAgICAgICAgQ2FjaGVQb2xpY3lJZDogXCI2NTgzMjdlYS1mODlkLTRmYWItYTYzZC03ZTg4NjM5ZTU4ZjZcIixcbiAgICAgICAgQ2FjaGVkTWV0aG9kczogW1xuICAgICAgICAgIFwiR0VUXCIsXG4gICAgICAgICAgXCJIRUFEXCIsXG4gICAgICAgICAgXCJPUFRJT05TXCJcbiAgICAgICAgXSxcbiAgICAgICAgQ29tcHJlc3M6IHRydWUsXG4gICAgICAgIEZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXZlbnRUeXBlOiBcInZpZXdlci1yZXNwb25zZVwiLFxuICAgICAgICAgICAgRnVuY3Rpb25BUk46IHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNFRTkzNjExNVwiLFxuICAgICAgICAgICAgICAgIFwiRnVuY3Rpb25BUk5cIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgT3JpZ2luczogW1xuICAgICAgICB7XG4gICAgICAgICAgRG9tYWluTmFtZToge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJTM0J1Y2tldDA3NjgyOTkzXCIsXG4gICAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIElkOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xNzZFQzNBMTJcIixcbiAgICAgICAgICBPcmlnaW5QYXRoOiAnL3Rlc3RQYXRoJyxcbiAgICAgICAgICBTM09yaWdpbkNvbmZpZzoge1xuICAgICAgICAgICAgT3JpZ2luQWNjZXNzSWRlbnRpdHk6IHtcbiAgICAgICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBcIm9yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC9cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgUmVmOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xUzNPcmlnaW4zRDlDQTBFOVwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IG92ZXJyaWRlIGNsb3VkZnJvbnQgd2l0aCBjdXN0b20gY2xvdWRmcm9udCBmdW5jdGlvbicsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIC8vIGN1c3RvbSBjbG91ZGZyb250IGZ1bmN0aW9uXG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHN0YWNrLCBcIk15RnVuY3Rpb25cIiwge1xuICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUoXCJleHBvcnRzLmhhbmRsZXIgPSAoZXZlbnQsIGNvbnRleHQsIGNhbGxiYWNrKSA9PiB7fVwiKVxuICB9KTtcblxuICBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGV2ZW50VHlwZTogY2xvdWRmcm9udC5GdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVTUE9OU0UsXG4gICAgICAgICAgICBmdW5jdGlvbjogY2xvdWRmcm9udEZ1bmN0aW9uXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBDYWNoZVBvbGljeUlkOiBcIjY1ODMyN2VhLWY4OWQtNGZhYi1hNjNkLTdlODg2MzllNThmNlwiLFxuICAgICAgICBDb21wcmVzczogdHJ1ZSxcbiAgICAgICAgRnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBFdmVudFR5cGU6IFwidmlld2VyLXJlc3BvbnNlXCIsXG4gICAgICAgICAgICBGdW5jdGlvbkFSTjoge1xuICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgIFwiTXlGdW5jdGlvbjNCQUE3MkQxXCIsXG4gICAgICAgICAgICAgICAgXCJGdW5jdGlvbkFSTlwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIFRhcmdldE9yaWdpbklkOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xNzZFQzNBMTJcIixcbiAgICAgICAgVmlld2VyUHJvdG9jb2xQb2xpY3k6IFwicmVkaXJlY3QtdG8taHR0cHNcIlxuICAgICAgfSxcbiAgICAgIERlZmF1bHRSb290T2JqZWN0OiBcImluZGV4Lmh0bWxcIixcbiAgICAgIEVuYWJsZWQ6IHRydWUsXG4gICAgICBIdHRwVmVyc2lvbjogXCJodHRwMlwiLFxuICAgICAgSVBWNkVuYWJsZWQ6IHRydWUsXG4gICAgICBMb2dnaW5nOiB7XG4gICAgICAgIEJ1Y2tldDoge1xuICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBcIkNsb3VkZnJvbnRMb2dnaW5nQnVja2V0M0MzRUZBQTdcIixcbiAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3Qgb3ZlcnJpZGUgY2xvdWRmcm9udCByZXBsYWNlIGN1c3RvbSBsYW1iZGFAZWRnZScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIC8vIGN1c3RvbSBsYW1iZGFAZWRnIGZ1bmN0aW9uXG4gIGNvbnN0IGhhbmRsZXIgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHN0YWNrLCAnU29tZUhhbmRsZXInLCB7XG4gICAgZnVuY3Rpb25OYW1lOiAnU29tZUhhbmRsZXInLFxuICAgIHJ1bnRpbWU6IGRlZmF1bHRzLkNPTU1FUkNJQUxfUkVHSU9OX0xBTUJEQV9OT0RFX1JVTlRJTUUsXG4gICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVyVmVyc2lvbiA9IG5ldyBsYW1iZGEuVmVyc2lvbihzdGFjaywgJ1NvbWVIYW5kbGVyVmVyc2lvbicsIHtcbiAgICBsYW1iZGE6IGhhbmRsZXIsXG4gIH0pO1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczoge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIGVkZ2VMYW1iZGFzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZXZlbnRUeXBlOiBMYW1iZGFFZGdlRXZlbnRUeXBlLlZJRVdFUl9SRVFVRVNULFxuICAgICAgICAgICAgaW5jbHVkZUJvZHk6IGZhbHNlLFxuICAgICAgICAgICAgZnVuY3Rpb25WZXJzaW9uOiBoYW5kbGVyVmVyc2lvbixcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnM6IGZhbHNlXG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgRGVmYXVsdENhY2hlQmVoYXZpb3I6IHtcbiAgICAgICAgQ2FjaGVQb2xpY3lJZDogXCI2NTgzMjdlYS1mODlkLTRmYWItYTYzZC03ZTg4NjM5ZTU4ZjZcIixcbiAgICAgICAgQ29tcHJlc3M6IHRydWUsXG4gICAgICAgIExhbWJkYUZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXZlbnRUeXBlOiBcInZpZXdlci1yZXF1ZXN0XCIsXG4gICAgICAgICAgICBJbmNsdWRlQm9keTogZmFsc2UsXG4gICAgICAgICAgICBMYW1iZGFGdW5jdGlvbkFSTjoge1xuICAgICAgICAgICAgICBSZWY6IFwiU29tZUhhbmRsZXJWZXJzaW9uREE5ODZFNDFcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgVGFyZ2V0T3JpZ2luSWQ6IFwiQ2xvdWRGcm9udERpc3RyaWJ1dGlvbk9yaWdpbjE3NkVDM0ExMlwiLFxuICAgICAgICBWaWV3ZXJQcm90b2NvbFBvbGljeTogXCJyZWRpcmVjdC10by1odHRwc1wiXG4gICAgICB9LFxuICAgICAgRGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgRW5hYmxlZDogdHJ1ZSxcbiAgICAgIEh0dHBWZXJzaW9uOiBcImh0dHAyXCIsXG4gICAgICBJUFY2RW5hYmxlZDogdHJ1ZSxcbiAgICAgIExvZ2dpbmc6IHtcbiAgICAgICAgQnVja2V0OiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQzQzNFRkFBN1wiLFxuICAgICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIlxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBjbG91ZGZyb250IG92ZXJyaWRlIGNsb3VkZnJvbnQgY3VzdG9tIGRvbWFpbiBuYW1lcyAnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGJ1aWxkUzNCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9KTtcbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKHN0YWNrLCAnQ2VydCcsICdhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMicpO1xuXG4gIGNvbnN0IG15cHJvcHMgPSB7XG4gICAgZG9tYWluTmFtZXM6IFsnbXlkb21haW5zJ10sXG4gICAgY2VydGlmaWNhdGVcbiAgfTtcblxuICBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IG15cHJvcHNcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBBbGlhc2VzOiBbXG4gICAgICAgIFwibXlkb21haW5zXCJcbiAgICAgIF0sXG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCdBcmUgY2xvdWRmcm9udCBsb2cgYnVja2V0IGFjY2VzcyBsb2cgYnVja2V0IHByb3BlcnRpZXMgdXNlZCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgY29udGVudEJ1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuICBjb25zdCB0ZXN0TmFtZSA9ICdyYW5kb20tbmFtZS1hdmNiJztcblxuICBjb25zdCByZXNwb25zZSA9IGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBjb250ZW50QnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wczogeyBidWNrZXROYW1lOiB0ZXN0TmFtZSB9XG4gIH0pO1xuXG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0KS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QocmVzcG9uc2UubG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldCkudG9CZURlZmluZWQoKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgLy8gQ29udGVudCBCdWNrZXQsIENvbnRlbnQgQnVja2V0IEFjY2VzcyBMb2csIENsb3VkRnJvbnQgTG9nLCBDbG91ZEZyb250IExvZyBBY2Nlc3MgTG9nXG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCA0KTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OlMzOjpCdWNrZXRcIiwge1xuICAgIEJ1Y2tldE5hbWU6IHRlc3ROYW1lXG4gIH0pO1xufSk7XG50ZXN0KCdJcyBsb2dDbG91ZEZyb250QWNjZXNzTG9nIG9ic2VydmVkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBsb2dDbG91ZEZyb250QWNjZXNzTG9nOiBmYWxzZSxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHt9LFxuICB9KTtcblxuICBleHBlY3QocmVzcG9uc2UubG9nZ2luZ0J1Y2tldCkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KHJlc3BvbnNlLmxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQpLm5vdC50b0JlRGVmaW5lZCgpO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICAvLyBDb250ZW50IEJ1Y2tldCwgQ29udGVudCBCdWNrZXQgQWNjZXNzIExvZywgQ2xvdWRGcm9udCBMb2csIE5PIENsb3VkRnJvbnQgTG9nIEFjY2VzcyBMb2dcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTMzo6QnVja2V0XCIsIDMpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvcCBUZXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KCdUZXN0IENsb3VkRnJvbnQgaW5zZXJ0SHR0cEhlYWRlcnMgYmFkIHByb3BzJywgKCkgPT4ge1xuXG4gIGNvbnN0IHByb3BzOiBkZWZhdWx0cy5DbG91ZEZyb250UHJvcHMgPSB7XG4gICAgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVyczogdHJ1ZSxcbiAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wczoge1xuICAgICAgc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I6IHt9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0Nsb3VkRnJvbnRQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgLy8gQXNzZXJ0aW9uXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcigncmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMuc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgY2FuIG9ubHkgYmUgcGFzc2VkIGlmIGh0dHBTZWN1cml0eUhlYWRlcnMgaXMgc2V0IHRvIGBmYWxzZWAuJyk7XG59KTtcbiJdfQ==
|
|
916
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24tczMtaGVscGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1zMy1oZWxwZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsdURBQXlEO0FBQ3pELDZDQUFvQztBQUNwQyx5REFBeUQ7QUFDekQsaURBQWlEO0FBQ2pELDBGQUFnSTtBQUNoSSw4REFBd0Q7QUFDeEQsK0NBQTRDO0FBQzVDLDhEQUE4RDtBQUM5RCwrREFBaUU7QUFDakUsMERBQTBEO0FBQzFELGdDQUFnQztBQUVoQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBQSxnQ0FBYSxFQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFBLGtFQUFpQyxFQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtRQUMzRCxZQUFZLEVBQUUscUJBQXFCLENBQUMsTUFBTTtLQUMzQyxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsV0FBVyxDQUFDLHVCQUF1QixFQUFFO1FBQzVDLFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxpQkFBaUIsRUFBRTtvQkFDakI7d0JBQ0UsRUFBRSxFQUFFLEtBQUs7d0JBQ1QsTUFBTSxFQUFFLDREQUE0RDtxQkFDckU7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFO0lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBQzFCLE1B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QUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixZQUFZO0lBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTdCLENBQUMsQ0FBQyxDQUFDO0FBRUgsOEJBQThCO0FBQzlCLGFBQWE7QUFDYiw4QkFBOEI7QUFDOUIsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLEdBQUcsRUFBRTtJQUV2RCxNQUFNLEtBQUssR0FBNkI7UUFDdEMseUJBQXlCLEVBQUUsSUFBSTtRQUMvQiwwQkFBMEIsRUFBRTtZQUMxQix1QkFBdUIsRUFBRSxFQUFFO1NBQzVCO0tBQ0YsQ0FBQztJQUVGLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRTtRQUNmLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7SUFFRixZQUFZO0lBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpSEFBaUgsQ0FBQyxDQUFDO0FBQzlJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTWF0Y2gsIFRlbXBsYXRlIH0gZnJvbSAnYXdzLWNkay1saWIvYXNzZXJ0aW9ucyc7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzLCBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMgfSBmcm9tICcuLi9saWIvY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyJztcbmltcG9ydCB7IGJ1aWxkUzNCdWNrZXQgfSBmcm9tICcuLi9saWIvczMtYnVja2V0LWhlbHBlcic7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB7IExhbWJkYUVkZ2VFdmVudFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICcuLi8nO1xuXG50ZXN0KCdjaGVjayBidWNrZXQgcG9saWN5IG1ldGFkYXRhJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0XG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlKCdBV1M6OlMzOjpCdWNrZXRQb2xpY3knLCB7XG4gICAgTWV0YWRhdGE6IHtcbiAgICAgIGNmbl9uYWc6IHtcbiAgICAgICAgcnVsZXNfdG9fc3VwcHJlc3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogXCJGMTZcIixcbiAgICAgICAgICAgIHJlYXNvbjogXCJQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCBjaGVjayBidWNrZXQgcG9saWN5JywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0XG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OlMzOjpCdWNrZXRQb2xpY3lcIiwge1xuICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogXCJzMzoqXCIsXG4gICAgICAgICAgQ29uZGl0aW9uOiB7XG4gICAgICAgICAgICBCb29sOiB7XG4gICAgICAgICAgICAgIFwiYXdzOlNlY3VyZVRyYW5zcG9ydFwiOiBcImZhbHNlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIEVmZmVjdDogXCJEZW55XCIsXG4gICAgICAgICAgUHJpbmNpcGFsOiB7XG4gICAgICAgICAgICBBV1M6IFwiKlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgIFwiUzNCdWNrZXQwNzY4Mjk5M1wiLFxuICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgXCJTM0J1Y2tldDA3NjgyOTkzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXCIvKlwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCJcbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCB3aXRoIG5vIHNlY3VyaXR5IGhlYWRlcnMgJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCAnc2FtcGxlLWNmLWRpc3RybycsIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7fSxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzOiBmYWxzZVxuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIERlZmF1bHRDYWNoZUJlaGF2aW9yOiB7XG4gICAgICAgIENhY2hlUG9saWN5SWQ6IFwiNjU4MzI3ZWEtZjg5ZC00ZmFiLWE2M2QtN2U4ODYzOWU1OGY2XCIsXG4gICAgICAgIENvbXByZXNzOiB0cnVlLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgb3ZlcnJpZGUgY2xvdWRmcm9udCBsb2dnaW5nIGJ1Y2tldCAnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGNvbnRlbnRCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9LCAnY29udGVudC1idWNrZXQnKTtcbiAgY29uc3QgbG9nQnVja2V0ID0gbmV3IEJ1Y2tldChzdGFjaywgJ2Nsb3VkZnJvbnQtbG9nLWJ1Y2tldCcpO1xuXG4gIGNvbnN0IG15cHJvcHMgPSB7XG4gICAgZW5hYmxlTG9nZ2luZzogdHJ1ZSxcbiAgICBsb2dCdWNrZXRcbiAgfTtcblxuICBjcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssICdzYW1wbGUtY2YtZGlzdHJvJywge1xuICAgIHNvdXJjZUJ1Y2tldDogY29udGVudEJ1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IG15cHJvcHNcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICAvLyBTaG91bGQgYmUgY29udGVudCBidWNrZXQgYW5kIGl0J3MgYXNzb2NpYXRlZCBTMyBsb2dnaW5nIGJ1Y2tldCwgcGx1cyBzaW1wbGUgQ2xvdWRGcm9udCBsb2cgYnVja2V0XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCAzKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJjbG91ZGZyb250bG9nYnVja2V0REY3MDU4RkJcIixcbiAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCB3aXRoIGxvZ2dpbmcgZGlzYWJsZWQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGNvbnRlbnRCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9KTtcblxuICBjb25zdCBjZkRpc3Ryb1Byb3BzID0ge1xuICAgIGVuYWJsZUxvZ2dpbmc6IGZhbHNlLFxuICB9O1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBjb250ZW50QnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogY2ZEaXN0cm9Qcm9wc1xuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIC8vIFNob3VsZCBvbmx5IGJlIGNvbnRlbnQgYnVja2V0IGFuZCBpdCdzIGFzc29jaWF0ZWQgUzMgbG9nZ2luZyBidWNrZXRcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTMzo6QnVja2V0XCIsIDIpO1xuICAvLyBUaGVyZSBzaG91bGQgYmUgbm8gbG9nZ2luZyBvZiBkaXN0cmlidXRpb25cbiAgdGVtcGxhdGUucmVzb3VyY2VQcm9wZXJ0aWVzQ291bnRJcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIERlZmF1bHRDYWNoZUJlaGF2aW9yOiB7XG4gICAgICAgIExvZ2dpbmc6IE1hdGNoLmFueVZhbHVlKClcbiAgICAgIH1cbiAgICB9XG4gIH0sIDApO1xufSk7XG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgb3ZlcnJpZGUgcHJvcGVydGllcycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuICBjb25zdCBwcm9wczogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyA9IHtcbiAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCwgeyBvcmlnaW5QYXRoOiAnL3Rlc3RQYXRoJyB9KSxcbiAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgICAgYWxsb3dlZE1ldGhvZHM6IGNsb3VkZnJvbnQuQWxsb3dlZE1ldGhvZHMuQUxMT1dfQUxMLFxuICAgICAgY2FjaGVkTWV0aG9kczogY2xvdWRmcm9udC5DYWNoZWRNZXRob2RzLkNBQ0hFX0dFVF9IRUFEX09QVElPTlNcbiAgICB9LFxuICB9O1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogcHJvcHNcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBBbGxvd2VkTWV0aG9kczogW1xuICAgICAgICAgIFwiR0VUXCIsXG4gICAgICAgICAgXCJIRUFEXCIsXG4gICAgICAgICAgXCJPUFRJT05TXCIsXG4gICAgICAgICAgXCJQVVRcIixcbiAgICAgICAgICBcIlBBVENIXCIsXG4gICAgICAgICAgXCJQT1NUXCIsXG4gICAgICAgICAgXCJERUxFVEVcIlxuICAgICAgICBdLFxuICAgICAgICBDYWNoZVBvbGljeUlkOiBcIjY1ODMyN2VhLWY4OWQtNGZhYi1hNjNkLTdlODg2MzllNThmNlwiLFxuICAgICAgICBDYWNoZWRNZXRob2RzOiBbXG4gICAgICAgICAgXCJHRVRcIixcbiAgICAgICAgICBcIkhFQURcIixcbiAgICAgICAgICBcIk9QVElPTlNcIlxuICAgICAgICBdLFxuICAgICAgICBDb21wcmVzczogdHJ1ZSxcbiAgICAgICAgRnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBFdmVudFR5cGU6IFwidmlld2VyLXJlc3BvbnNlXCIsXG4gICAgICAgICAgICBGdW5jdGlvbkFSTjoge1xuICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgIFwiU2V0SHR0cFNlY3VyaXR5SGVhZGVyc0VFOTM2MTE1XCIsXG4gICAgICAgICAgICAgICAgXCJGdW5jdGlvbkFSTlwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIFRhcmdldE9yaWdpbklkOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xNzZFQzNBMTJcIixcbiAgICAgICAgVmlld2VyUHJvdG9jb2xQb2xpY3k6IFwicmVkaXJlY3QtdG8taHR0cHNcIlxuICAgICAgfSxcbiAgICAgIERlZmF1bHRSb290T2JqZWN0OiBcImluZGV4Lmh0bWxcIixcbiAgICAgIEVuYWJsZWQ6IHRydWUsXG4gICAgICBIdHRwVmVyc2lvbjogXCJodHRwMlwiLFxuICAgICAgSVBWNkVuYWJsZWQ6IHRydWUsXG4gICAgICBMb2dnaW5nOiB7XG4gICAgICAgIEJ1Y2tldDoge1xuICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBcIkNsb3VkZnJvbnRMb2dnaW5nQnVja2V0M0MzRUZBQTdcIixcbiAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBPcmlnaW5zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBEb21haW5OYW1lOiB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcIlMzQnVja2V0MDc2ODI5OTNcIixcbiAgICAgICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgSWQ6IFwiQ2xvdWRGcm9udERpc3RyaWJ1dGlvbk9yaWdpbjE3NkVDM0ExMlwiLFxuICAgICAgICAgIE9yaWdpblBhdGg6ICcvdGVzdFBhdGgnLFxuICAgICAgICAgIFMzT3JpZ2luQ29uZmlnOiB7XG4gICAgICAgICAgICBPcmlnaW5BY2Nlc3NJZGVudGl0eToge1xuICAgICAgICAgICAgICBcIkZuOjpKb2luXCI6IFtcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIFwib3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L1wiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBSZWY6IFwiQ2xvdWRGcm9udERpc3RyaWJ1dGlvbk9yaWdpbjFTM09yaWdpbjNEOUNBMEU5XCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3Qgb3ZlcnJpZGUgY2xvdWRmcm9udCB3aXRoIGN1c3RvbSBjbG91ZGZyb250IGZ1bmN0aW9uJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgLy8gY3VzdG9tIGNsb3VkZnJvbnQgZnVuY3Rpb25cbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gbmV3IGNsb3VkZnJvbnQuRnVuY3Rpb24oc3RhY2ssIFwiTXlGdW5jdGlvblwiLCB7XG4gICAgY29kZTogY2xvdWRmcm9udC5GdW5jdGlvbkNvZGUuZnJvbUlubGluZShcImV4cG9ydHMuaGFuZGxlciA9IChldmVudCwgY29udGV4dCwgY2FsbGJhY2spID0+IHt9XCIpXG4gIH0pO1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczoge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIGZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZXZlbnRUeXBlOiBjbG91ZGZyb250LkZ1bmN0aW9uRXZlbnRUeXBlLlZJRVdFUl9SRVNQT05TRSxcbiAgICAgICAgICAgIGZ1bmN0aW9uOiBjbG91ZGZyb250RnVuY3Rpb25cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIERlZmF1bHRDYWNoZUJlaGF2aW9yOiB7XG4gICAgICAgIENhY2hlUG9saWN5SWQ6IFwiNjU4MzI3ZWEtZjg5ZC00ZmFiLWE2M2QtN2U4ODYzOWU1OGY2XCIsXG4gICAgICAgIENvbXByZXNzOiB0cnVlLFxuICAgICAgICBGdW5jdGlvbkFzc29jaWF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIEV2ZW50VHlwZTogXCJ2aWV3ZXItcmVzcG9uc2VcIixcbiAgICAgICAgICAgIEZ1bmN0aW9uQVJOOiB7XG4gICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgXCJNeUZ1bmN0aW9uM0JBQTcyRDFcIixcbiAgICAgICAgICAgICAgICBcIkZ1bmN0aW9uQVJOXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgVGFyZ2V0T3JpZ2luSWQ6IFwiQ2xvdWRGcm9udERpc3RyaWJ1dGlvbk9yaWdpbjE3NkVDM0ExMlwiLFxuICAgICAgICBWaWV3ZXJQcm90b2NvbFBvbGljeTogXCJyZWRpcmVjdC10by1odHRwc1wiXG4gICAgICB9LFxuICAgICAgRGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgRW5hYmxlZDogdHJ1ZSxcbiAgICAgIEh0dHBWZXJzaW9uOiBcImh0dHAyXCIsXG4gICAgICBJUFY2RW5hYmxlZDogdHJ1ZSxcbiAgICAgIExvZ2dpbmc6IHtcbiAgICAgICAgQnVja2V0OiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQzQzNFRkFBN1wiLFxuICAgICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIlxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBvdmVycmlkZSBjbG91ZGZyb250IHJlcGxhY2UgY3VzdG9tIGxhbWJkYUBlZGdlJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgLy8gY3VzdG9tIGxhbWJkYUBlZGcgZnVuY3Rpb25cbiAgY29uc3QgaGFuZGxlciA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssICdTb21lSGFuZGxlcicsIHtcbiAgICBmdW5jdGlvbk5hbWU6ICdTb21lSGFuZGxlcicsXG4gICAgcnVudGltZTogZGVmYXVsdHMuQ09NTUVSQ0lBTF9SRUdJT05fTEFNQkRBX05PREVfUlVOVElNRSxcbiAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KGAke19fZGlybmFtZX0vbGFtYmRhYCksXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZXJWZXJzaW9uID0gbmV3IGxhbWJkYS5WZXJzaW9uKHN0YWNrLCAnU29tZUhhbmRsZXJWZXJzaW9uJywge1xuICAgIGxhbWJkYTogaGFuZGxlcixcbiAgfSk7XG5cbiAgY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCAnc2FtcGxlLWNmLWRpc3RybycsIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgZWRnZUxhbWJkYXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBldmVudFR5cGU6IExhbWJkYUVkZ2VFdmVudFR5cGUuVklFV0VSX1JFUVVFU1QsXG4gICAgICAgICAgICBpbmNsdWRlQm9keTogZmFsc2UsXG4gICAgICAgICAgICBmdW5jdGlvblZlcnNpb246IGhhbmRsZXJWZXJzaW9uLFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVyczogZmFsc2VcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBDYWNoZVBvbGljeUlkOiBcIjY1ODMyN2VhLWY4OWQtNGZhYi1hNjNkLTdlODg2MzllNThmNlwiLFxuICAgICAgICBDb21wcmVzczogdHJ1ZSxcbiAgICAgICAgTGFtYmRhRnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBFdmVudFR5cGU6IFwidmlld2VyLXJlcXVlc3RcIixcbiAgICAgICAgICAgIEluY2x1ZGVCb2R5OiBmYWxzZSxcbiAgICAgICAgICAgIExhbWJkYUZ1bmN0aW9uQVJOOiB7XG4gICAgICAgICAgICAgIFJlZjogXCJTb21lSGFuZGxlclZlcnNpb25EQTk4NkU0MVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgb3ZlcnJpZGUgY2xvdWRmcm9udCBjdXN0b20gZG9tYWluIG5hbWVzICcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oc3RhY2ssICdDZXJ0JywgJ2Fybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyJyk7XG5cbiAgY29uc3QgbXlwcm9wcyA9IHtcbiAgICBkb21haW5OYW1lczogWydteWRvbWFpbnMnXSxcbiAgICBjZXJ0aWZpY2F0ZVxuICB9O1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogbXlwcm9wc1xuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIEFsaWFzZXM6IFtcbiAgICAgICAgXCJteWRvbWFpbnNcIlxuICAgICAgXSxcbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ0FyZSBjbG91ZGZyb250IGxvZyBidWNrZXQgYWNjZXNzIGxvZyBidWNrZXQgcHJvcGVydGllcyB1c2VkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjb250ZW50QnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNvbnN0IHRlc3ROYW1lID0gJ3JhbmRvbS1uYW1lLWF2Y2InO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCAnc2FtcGxlLWNmLWRpc3RybycsIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGNvbnRlbnRCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzOiB7IGJ1Y2tldE5hbWU6IHRlc3ROYW1lIH1cbiAgfSk7XG5cbiAgZXhwZWN0KHJlc3BvbnNlLmxvZ2dpbmdCdWNrZXQpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0KS50b0JlRGVmaW5lZCgpO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICAvLyBDb250ZW50IEJ1Y2tldCwgQ29udGVudCBCdWNrZXQgQWNjZXNzIExvZywgQ2xvdWRGcm9udCBMb2csIENsb3VkRnJvbnQgTG9nIEFjY2VzcyBMb2dcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTMzo6QnVja2V0XCIsIDQpO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCB7XG4gICAgQnVja2V0TmFtZTogdGVzdE5hbWVcbiAgfSk7XG59KTtcbnRlc3QoJ0lzIGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgb2JzZXJ2ZWQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGJ1aWxkUzNCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9KTtcblxuICBjb25zdCByZXNwb25zZSA9IGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhzdGFjaywgJ3NhbXBsZS1jZi1kaXN0cm8nLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2c6IGZhbHNlLFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczoge30sXG4gIH0pO1xuXG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0KS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QocmVzcG9uc2UubG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldCkubm90LnRvQmVEZWZpbmVkKCk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIC8vIENvbnRlbnQgQnVja2V0LCBDb250ZW50IEJ1Y2tldCBBY2Nlc3MgTG9nLCBDbG91ZEZyb250IExvZywgTk8gQ2xvdWRGcm9udCBMb2cgQWNjZXNzIExvZ1xuICB0ZW1wbGF0ZS5yZXNvdXJjZUNvdW50SXMoXCJBV1M6OlMzOjpCdWNrZXRcIiwgMyk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEdXBsaWNhdGUgdGVzdHMgZm9yIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpbkZvclMzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnY2hlY2sgYnVja2V0IHBvbGljeSBtZXRhZGF0YSAtIG9haScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuICBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXRcbiAgfSk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2UoJ0FXUzo6UzM6OkJ1Y2tldFBvbGljeScsIHtcbiAgICBNZXRhZGF0YToge1xuICAgICAgY2ZuX25hZzoge1xuICAgICAgICBydWxlc190b19zdXBwcmVzczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBcIkYxNlwiLFxuICAgICAgICAgICAgcmVhc29uOiBcIlB1YmxpYyB3ZWJzaXRlIGJ1Y2tldCBwb2xpY3kgcmVxdWlyZXMgYSB3aWxkY2FyZCBwcmluY2lwYWxcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgnY2hlY2sgY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzIHJlc3BvbnNlJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNvbnN0IHJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0XG4gIH0pO1xuXG4gIGV4cGVjdChyZXNwb25zZS5vcmlnaW5BY2Nlc3NJZGVudGl0eSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KHJlc3BvbnNlLmRpc3RyaWJ1dGlvbikudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KHJlc3BvbnNlLmxvZ2dpbmdCdWNrZXQpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChyZXNwb25zZS5jbG91ZGZyb250RnVuY3Rpb24pLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0KS50b0JlRGVmaW5lZCgpO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCBjaGVjayBidWNrZXQgcG9saWN5IC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhzdGFjaywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldFxuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpTMzo6QnVja2V0UG9saWN5XCIsIHtcbiAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBY3Rpb246IFwiczM6KlwiLFxuICAgICAgICAgIENvbmRpdGlvbjoge1xuICAgICAgICAgICAgQm9vbDoge1xuICAgICAgICAgICAgICBcImF3czpTZWN1cmVUcmFuc3BvcnRcIjogXCJmYWxzZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBFZmZlY3Q6IFwiRGVueVwiLFxuICAgICAgICAgIFByaW5jaXBhbDoge1xuICAgICAgICAgICAgQVdTOiBcIipcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcIlMzQnVja2V0MDc2ODI5OTNcIixcbiAgICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiRm46OkpvaW5cIjogW1xuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIFwiUzNCdWNrZXQwNzY4Mjk5M1wiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwiLypcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogXCJzMzpHZXRPYmplY3RcIixcbiAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICBQcmluY2lwYWw6IHtcbiAgICAgICAgICAgIENhbm9uaWNhbFVzZXI6IHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcImNvbnN0cnVjdHNHZW5lcmF0ZWRPYWk2QTQzMEJCRlwiLFxuICAgICAgICAgICAgICAgIFwiUzNDYW5vbmljYWxVc2VySWRcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBSZXNvdXJjZToge1xuICAgICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIlMzQnVja2V0MDc2ODI5OTNcIixcbiAgICAgICAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCIvKlwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBjbG91ZGZyb250IHdpdGggbm8gc2VjdXJpdHkgaGVhZGVycyAtIG9haScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhzdGFjaywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHt9LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnM6IGZhbHNlXG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgRGVmYXVsdENhY2hlQmVoYXZpb3I6IHtcbiAgICAgICAgQ2FjaGVQb2xpY3lJZDogXCI2NTgzMjdlYS1mODlkLTRmYWItYTYzZC03ZTg4NjM5ZTU4ZjZcIixcbiAgICAgICAgQ29tcHJlc3M6IHRydWUsXG4gICAgICAgIFRhcmdldE9yaWdpbklkOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xNzZFQzNBMTJcIixcbiAgICAgICAgVmlld2VyUHJvdG9jb2xQb2xpY3k6IFwicmVkaXJlY3QtdG8taHR0cHNcIlxuICAgICAgfSxcbiAgICAgIERlZmF1bHRSb290T2JqZWN0OiBcImluZGV4Lmh0bWxcIixcbiAgICAgIEVuYWJsZWQ6IHRydWUsXG4gICAgICBIdHRwVmVyc2lvbjogXCJodHRwMlwiLFxuICAgICAgSVBWNkVuYWJsZWQ6IHRydWUsXG4gICAgICBMb2dnaW5nOiB7XG4gICAgICAgIEJ1Y2tldDoge1xuICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBcIkNsb3VkZnJvbnRMb2dnaW5nQnVja2V0M0MzRUZBQTdcIixcbiAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3Rlc3QgY2xvdWRmcm9udCBvdmVycmlkZSBjbG91ZGZyb250IGxvZ2dpbmcgYnVja2V0IC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjb250ZW50QnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSwgJ2NvbnRlbnQtYnVja2V0Jyk7XG4gIGNvbnN0IGxvZ0J1Y2tldCA9IG5ldyBCdWNrZXQoc3RhY2ssICdjbG91ZGZyb250LWxvZy1idWNrZXQnKTtcblxuICBjb25zdCBteXByb3BzID0ge1xuICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgbG9nQnVja2V0XG4gIH07XG5cbiAgY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCB7XG4gICAgc291cmNlQnVja2V0OiBjb250ZW50QnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogbXlwcm9wc1xuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIC8vIFNob3VsZCBiZSBjb250ZW50IGJ1Y2tldCBhbmQgaXQncyBhc3NvY2lhdGVkIFMzIGxvZ2dpbmcgYnVja2V0LCBwbHVzIHNpbXBsZSBDbG91ZEZyb250IGxvZyBidWNrZXRcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTMzo6QnVja2V0XCIsIDMpO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBMb2dnaW5nOiB7XG4gICAgICAgIEJ1Y2tldDoge1xuICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBcImNsb3VkZnJvbnRsb2didWNrZXRERjcwNThGQlwiLFxuICAgICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIlxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBjbG91ZGZyb250IHdpdGggbG9nZ2luZyBkaXNhYmxlZCAtIG9haScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgY29udGVudEJ1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIGNvbnN0IGNmRGlzdHJvUHJvcHMgPSB7XG4gICAgZW5hYmxlTG9nZ2luZzogZmFsc2UsXG4gIH07XG5cbiAgY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCB7XG4gICAgc291cmNlQnVja2V0OiBjb250ZW50QnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogY2ZEaXN0cm9Qcm9wc1xuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIC8vIFNob3VsZCBvbmx5IGJlIGNvbnRlbnQgYnVja2V0IGFuZCBpdCdzIGFzc29jaWF0ZWQgUzMgbG9nZ2luZyBidWNrZXRcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTMzo6QnVja2V0XCIsIDIpO1xuICAvLyBUaGVyZSBzaG91bGQgYmUgbm8gbG9nZ2luZyBvZiBkaXN0cmlidXRpb25cbiAgdGVtcGxhdGUucmVzb3VyY2VQcm9wZXJ0aWVzQ291bnRJcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIERlZmF1bHRDYWNoZUJlaGF2aW9yOiB7XG4gICAgICAgIExvZ2dpbmc6IE1hdGNoLmFueVZhbHVlKClcbiAgICAgIH1cbiAgICB9XG4gIH0sIDApO1xufSk7XG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgb3ZlcnJpZGUgcHJvcGVydGllcyAtIG9haScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuICBjb25zdCBwcm9wczogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyA9IHtcbiAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCwgeyBvcmlnaW5QYXRoOiAnL3Rlc3RQYXRoJyB9KSxcbiAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgICAgYWxsb3dlZE1ldGhvZHM6IGNsb3VkZnJvbnQuQWxsb3dlZE1ldGhvZHMuQUxMT1dfQUxMLFxuICAgICAgY2FjaGVkTWV0aG9kczogY2xvdWRmcm9udC5DYWNoZWRNZXRob2RzLkNBQ0hFX0dFVF9IRUFEX09QVElPTlNcbiAgICB9LFxuICB9O1xuXG4gIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhzdGFjaywge1xuICAgIHNvdXJjZUJ1Y2tldDogYnVpbGRTM0J1Y2tldFJlc3BvbnNlLmJ1Y2tldCxcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHByb3BzXG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgRGVmYXVsdENhY2hlQmVoYXZpb3I6IHtcbiAgICAgICAgQWxsb3dlZE1ldGhvZHM6IFtcbiAgICAgICAgICBcIkdFVFwiLFxuICAgICAgICAgIFwiSEVBRFwiLFxuICAgICAgICAgIFwiT1BUSU9OU1wiLFxuICAgICAgICAgIFwiUFVUXCIsXG4gICAgICAgICAgXCJQQVRDSFwiLFxuICAgICAgICAgIFwiUE9TVFwiLFxuICAgICAgICAgIFwiREVMRVRFXCJcbiAgICAgICAgXSxcbiAgICAgICAgQ2FjaGVQb2xpY3lJZDogXCI2NTgzMjdlYS1mODlkLTRmYWItYTYzZC03ZTg4NjM5ZTU4ZjZcIixcbiAgICAgICAgQ2FjaGVkTWV0aG9kczogW1xuICAgICAgICAgIFwiR0VUXCIsXG4gICAgICAgICAgXCJIRUFEXCIsXG4gICAgICAgICAgXCJPUFRJT05TXCJcbiAgICAgICAgXSxcbiAgICAgICAgQ29tcHJlc3M6IHRydWUsXG4gICAgICAgIEZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXZlbnRUeXBlOiBcInZpZXdlci1yZXNwb25zZVwiLFxuICAgICAgICAgICAgRnVuY3Rpb25BUk46IHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNFRTkzNjExNVwiLFxuICAgICAgICAgICAgICAgIFwiRnVuY3Rpb25BUk5cIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgT3JpZ2luczogW1xuICAgICAgICB7XG4gICAgICAgICAgRG9tYWluTmFtZToge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJTM0J1Y2tldDA3NjgyOTkzXCIsXG4gICAgICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIElkOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xNzZFQzNBMTJcIixcbiAgICAgICAgICBPcmlnaW5QYXRoOiAnL3Rlc3RQYXRoJyxcbiAgICAgICAgICBTM09yaWdpbkNvbmZpZzoge1xuICAgICAgICAgICAgT3JpZ2luQWNjZXNzSWRlbnRpdHk6IHtcbiAgICAgICAgICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBcIm9yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC9cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgUmVmOiBcIkNsb3VkRnJvbnREaXN0cmlidXRpb25PcmlnaW4xUzNPcmlnaW4zRDlDQTBFOVwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IG92ZXJyaWRlIGNsb3VkZnJvbnQgd2l0aCBjdXN0b20gY2xvdWRmcm9udCBmdW5jdGlvbiAtIG9haScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgYnVpbGRTM0J1Y2tldFJlc3BvbnNlID0gYnVpbGRTM0J1Y2tldChzdGFjaywge30pO1xuXG4gIC8vIGN1c3RvbSBjbG91ZGZyb250IGZ1bmN0aW9uXG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHN0YWNrLCBcIk15RnVuY3Rpb25cIiwge1xuICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUoXCJleHBvcnRzLmhhbmRsZXIgPSAoZXZlbnQsIGNvbnRleHQsIGNhbGxiYWNrKSA9PiB7fVwiKVxuICB9KTtcblxuICBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBldmVudFR5cGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25FdmVudFR5cGUuVklFV0VSX1JFU1BPTlNFLFxuICAgICAgICAgICAgZnVuY3Rpb246IGNsb3VkZnJvbnRGdW5jdGlvblxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge1xuICAgIERpc3RyaWJ1dGlvbkNvbmZpZzoge1xuICAgICAgRGVmYXVsdENhY2hlQmVoYXZpb3I6IHtcbiAgICAgICAgQ2FjaGVQb2xpY3lJZDogXCI2NTgzMjdlYS1mODlkLTRmYWItYTYzZC03ZTg4NjM5ZTU4ZjZcIixcbiAgICAgICAgQ29tcHJlc3M6IHRydWUsXG4gICAgICAgIEZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXZlbnRUeXBlOiBcInZpZXdlci1yZXNwb25zZVwiLFxuICAgICAgICAgICAgRnVuY3Rpb25BUk46IHtcbiAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICBcIk15RnVuY3Rpb24zQkFBNzJEMVwiLFxuICAgICAgICAgICAgICAgIFwiRnVuY3Rpb25BUk5cIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IG92ZXJyaWRlIGNsb3VkZnJvbnQgcmVwbGFjZSBjdXN0b20gbGFtYmRhQGVkZ2UgLSBvYWknLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGJ1aWxkUzNCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc3RhY2ssIHt9KTtcblxuICAvLyBjdXN0b20gbGFtYmRhQGVkZyBmdW5jdGlvblxuICBjb25zdCBoYW5kbGVyID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgJ1NvbWVIYW5kbGVyJywge1xuICAgIGZ1bmN0aW9uTmFtZTogJ1NvbWVIYW5kbGVyJyxcbiAgICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlclZlcnNpb24gPSBuZXcgbGFtYmRhLlZlcnNpb24oc3RhY2ssICdTb21lSGFuZGxlclZlcnNpb24nLCB7XG4gICAgbGFtYmRhOiBoYW5kbGVyLFxuICB9KTtcblxuICBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgZWRnZUxhbWJkYXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBldmVudFR5cGU6IExhbWJkYUVkZ2VFdmVudFR5cGUuVklFV0VSX1JFUVVFU1QsXG4gICAgICAgICAgICBpbmNsdWRlQm9keTogZmFsc2UsXG4gICAgICAgICAgICBmdW5jdGlvblZlcnNpb246IGhhbmRsZXJWZXJzaW9uLFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVyczogZmFsc2VcbiAgfSk7XG5cbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgRGlzdHJpYnV0aW9uQ29uZmlnOiB7XG4gICAgICBEZWZhdWx0Q2FjaGVCZWhhdmlvcjoge1xuICAgICAgICBDYWNoZVBvbGljeUlkOiBcIjY1ODMyN2VhLWY4OWQtNGZhYi1hNjNkLTdlODg2MzllNThmNlwiLFxuICAgICAgICBDb21wcmVzczogdHJ1ZSxcbiAgICAgICAgTGFtYmRhRnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBFdmVudFR5cGU6IFwidmlld2VyLXJlcXVlc3RcIixcbiAgICAgICAgICAgIEluY2x1ZGVCb2R5OiBmYWxzZSxcbiAgICAgICAgICAgIExhbWJkYUZ1bmN0aW9uQVJOOiB7XG4gICAgICAgICAgICAgIFJlZjogXCJTb21lSGFuZGxlclZlcnNpb25EQTk4NkU0MVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBUYXJnZXRPcmlnaW5JZDogXCJDbG91ZEZyb250RGlzdHJpYnV0aW9uT3JpZ2luMTc2RUMzQTEyXCIsXG4gICAgICAgIFZpZXdlclByb3RvY29sUG9saWN5OiBcInJlZGlyZWN0LXRvLWh0dHBzXCJcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBFbmFibGVkOiB0cnVlLFxuICAgICAgSHR0cFZlcnNpb246IFwiaHR0cDJcIixcbiAgICAgIElQVjZFbmFibGVkOiB0cnVlLFxuICAgICAgTG9nZ2luZzoge1xuICAgICAgICBCdWNrZXQ6IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJDbG91ZGZyb250TG9nZ2luZ0J1Y2tldDNDM0VGQUE3XCIsXG4gICAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IGNsb3VkZnJvbnQgb3ZlcnJpZGUgY2xvdWRmcm9udCBjdXN0b20gZG9tYWluIG5hbWVzIC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNvbnN0IGNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybihzdGFjaywgJ0NlcnQnLCAnYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTInKTtcblxuICBjb25zdCBteXByb3BzID0ge1xuICAgIGRvbWFpbk5hbWVzOiBbJ215ZG9tYWlucyddLFxuICAgIGNlcnRpZmljYXRlXG4gIH07XG5cbiAgY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCB7XG4gICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogbXlwcm9wc1xuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6Q2xvdWRGcm9udDo6RGlzdHJpYnV0aW9uXCIsIHtcbiAgICBEaXN0cmlidXRpb25Db25maWc6IHtcbiAgICAgIEFsaWFzZXM6IFtcbiAgICAgICAgXCJteWRvbWFpbnNcIlxuICAgICAgXSxcbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ0FyZSBjbG91ZGZyb250IGxvZyBidWNrZXQgYWNjZXNzIGxvZyBidWNrZXQgcHJvcGVydGllcyB1c2VkIC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBjb250ZW50QnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG4gIGNvbnN0IHRlc3ROYW1lID0gJ3JhbmRvbS1uYW1lLWF2Y2InO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzKHN0YWNrLCB7XG4gICAgc291cmNlQnVja2V0OiBjb250ZW50QnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wczogeyBidWNrZXROYW1lOiB0ZXN0TmFtZSB9XG4gIH0pO1xuXG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0KS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QocmVzcG9uc2UubG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldCkudG9CZURlZmluZWQoKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgLy8gQ29udGVudCBCdWNrZXQsIENvbnRlbnQgQnVja2V0IEFjY2VzcyBMb2csIENsb3VkRnJvbnQgTG9nLCBDbG91ZEZyb250IExvZyBBY2Nlc3MgTG9nXG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCA0KTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OlMzOjpCdWNrZXRcIiwge1xuICAgIEJ1Y2tldE5hbWU6IHRlc3ROYW1lXG4gIH0pO1xufSk7XG50ZXN0KCdJcyBsb2dDbG91ZEZyb250QWNjZXNzTG9nIG9ic2VydmVkIC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7fSk7XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMoc3RhY2ssIHtcbiAgICBzb3VyY2VCdWNrZXQ6IGJ1aWxkUzNCdWNrZXRSZXNwb25zZS5idWNrZXQsXG4gICAgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZzogZmFsc2UsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7fSxcbiAgfSk7XG5cbiAgZXhwZWN0KHJlc3BvbnNlLmxvZ2dpbmdCdWNrZXQpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChyZXNwb25zZS5sb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0KS5ub3QudG9CZURlZmluZWQoKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgLy8gQ29udGVudCBCdWNrZXQsIENvbnRlbnQgQnVja2V0IEFjY2VzcyBMb2csIENsb3VkRnJvbnQgTG9nLCBOTyBDbG91ZEZyb250IExvZyBBY2Nlc3MgTG9nXG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6UzM6OkJ1Y2tldFwiLCAzKTtcbn0pO1xuXG50ZXN0KCdUZXN0IHRoYXQgd2ViIHNpdGUgZW5hYmxlZCBidWNrZXRzIHRocm93IGFuIGVycm9yIC0gb2FpJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBidWlsZFMzQnVja2V0UmVzcG9uc2UgPSBidWlsZFMzQnVja2V0KHN0YWNrLCB7XG4gICAgYnVja2V0UHJvcHM6IHtcbiAgICAgIHdlYnNpdGVJbmRleERvY3VtZW50OiBcImluZGV4Lmh0bWxcIlxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhzdGFjaywge1xuICAgICAgc291cmNlQnVja2V0OiBidWlsZFMzQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgICAgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZzogZmFsc2UsXG4gICAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHt9LFxuICAgIH0pO1xuICB9O1xuXG4gIC8vIEFzc2VydGlvblxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoKTtcblxufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvcCBUZXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KCdUZXN0IENsb3VkRnJvbnQgaW5zZXJ0SHR0cEhlYWRlcnMgYmFkIHByb3BzJywgKCkgPT4ge1xuXG4gIGNvbnN0IHByb3BzOiBkZWZhdWx0cy5DbG91ZEZyb250UHJvcHMgPSB7XG4gICAgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVyczogdHJ1ZSxcbiAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wczoge1xuICAgICAgc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I6IHt9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGFwcCA9ICgpID0+IHtcbiAgICBkZWZhdWx0cy5DaGVja0Nsb3VkRnJvbnRQcm9wcyhwcm9wcyk7XG4gIH07XG5cbiAgLy8gQXNzZXJ0aW9uXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcigncmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMuc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgY2FuIG9ubHkgYmUgcGFzc2VkIGlmIGh0dHBTZWN1cml0eUhlYWRlcnMgaXMgc2V0IHRvIGBmYWxzZWAuJyk7XG59KTtcbiJdfQ==
|