@aws-amplify/graphql-api-construct 1.18.8-gen2-migration-0205.0 → 1.19.0
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 +85 -44
- package/API.md +1 -1
- package/CHANGELOG.md +10 -2
- package/lib/amplify-dynamodb-table-wrapper.js +1 -1
- package/lib/amplify-graphql-api.js +4 -2
- package/lib/amplify-graphql-definition.js +1 -1
- package/lib/sql-model-datasource-strategy.js +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.d.ts +13 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.js +17 -4
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.js +89 -71
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.d.ts +1 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.js +1 -1
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/README.md +9 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/backend_entry_point_locator.d.ts +14 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/backend_entry_point_locator.js +37 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/backend_identifier_conversions.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/backend_identifier_conversions.js +90 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/caller_directory_extractor.d.ts +14 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/caller_directory_extractor.js +70 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk/enum_converters.d.ts +18 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk/enum_converters.js +116 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk/index.d.ts +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk/index.js +7 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +12 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +16 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/config/local_configuration_controller.d.ts +45 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/config/local_configuration_controller.js +125 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/config/local_configuration_controller_factory.d.ts +23 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/config/local_configuration_controller_factory.js +29 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_error.d.ts +64 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_error.js +267 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_library_fault.d.ts +21 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_library_fault.js +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_user_error.d.ts +21 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/amplify_user_error.js +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/index.d.ts +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/errors/index.js +20 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/extract_file_path_from_stack_trace_line.d.ts +13 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/extract_file_path_from_stack_trace_line.js +61 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/index.d.ts +15 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/index.internal.d.ts +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/index.internal.js +35 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/index.js +35 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/naming_convention_conversions.d.ts +13 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/naming_convention_conversions.js +23 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/object_accumulator.d.ts +45 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/object_accumulator.js +99 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/package_json_reader.d.ts +33 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/package_json_reader.js +56 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/parameter_path_conversions.d.ts +19 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/parameter_path_conversions.js +79 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/tag_name.d.ts +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/tag_name.js +8 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/account_id_fetcher.d.ts +14 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/account_id_fetcher.js +38 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/constants.d.ts +13 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/constants.js +16 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/get_installation_id.d.ts +5 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/get_installation_id.js +15 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/get_usage_data_url.d.ts +6 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/get_usage_data_url.js +24 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/noop_usage_data_emitter.d.ts +15 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/noop_usage_data_emitter.js +24 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/serializable_error.d.ts +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/serializable_error.js +70 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data.d.ts +29 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data_emitter.d.ts +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data_emitter.js +146 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data_emitter_factory.d.ts +16 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/usage-data/usage_data_emitter_factory.js +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/package.json +45 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/README.md +9 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/amplify_resource_group_name.d.ts +7 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/amplify_resource_group_name.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +106 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/aws_client_provider.d.ts +5 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/aws_client_provider.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_identifier.d.ts +56 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_identifier.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +35 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +24 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/deep_partial.d.ts +17 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/deep_partial.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/deployment_type.d.ts +8 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/deployment_type.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +8 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/index.js +43 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/log_level.d.ts +2 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/log_level.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/log_retention.d.ts +2 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/log_retention.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/package_manager_controller.d.ts +30 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/package_manager_controller.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_access_acceptor.d.ts +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_access_acceptor.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_name_validator.d.ts +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_name_validator.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/ssm_environment_entries_generator.d.ts +5 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/ssm_environment_entries_generator.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/stable_backend_identifiers.d.ts +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/stable_backend_identifiers.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/stack_provider.d.ts +5 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/lib/stack_provider.js +3 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/plugin-types/package.json +21 -0
- package/node_modules/@aws-amplify/ai-constructs/package.json +5 -5
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.js +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +13 -13
- package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +12 -12
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-directives/API.md +3 -0
- package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +6 -0
- package/node_modules/@aws-amplify/graphql-directives/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/index.js +3 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/validate.d.ts +3 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/validate.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/validate.js +30 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/validate.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/index.js +1 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/package.json +3 -2
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +8 -0
- package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +8 -7
- package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +10 -0
- package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/grapqhl-generation-transformer.js +2 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/grapqhl-generation-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +8 -7
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +8 -0
- package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +8 -7
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +11 -11
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +8 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +4 -3
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +4 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +8 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +8 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +2 -0
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +20 -19
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +3 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +11 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js +4 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +6 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@aws-amplify/graphql-validate-transformer/API.md +27 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/CHANGELOG.md +10 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/jest.config.js +5 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/graphql-validate-transformer.d.ts +11 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/graphql-validate-transformer.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/graphql-validate-transformer.js +96 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/graphql-validate-transformer.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/index.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/index.js +6 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/types.d.ts +25 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/types.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/types.js +7 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/types.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/validators.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/validators.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/validators.js +83 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/validators.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/vtl-generator.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/vtl-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/vtl-generator.js +57 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/lib/vtl-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-validate-transformer/package.json +46 -0
- package/node_modules/lodash.snakecase/LICENSE +47 -0
- package/node_modules/lodash.snakecase/README.md +18 -0
- package/node_modules/lodash.snakecase/index.js +435 -0
- package/node_modules/lodash.snakecase/package.json +17 -0
- package/package.json +27 -23
- package/src/amplify-graphql-api.ts +7 -1
- package/src/types.ts +1 -1
@@ -0,0 +1,267 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AmplifyError = void 0;
|
4
|
+
const _1 = require(".");
|
5
|
+
/**
|
6
|
+
* Base class for all Amplify errors or faults
|
7
|
+
*/
|
8
|
+
class AmplifyError extends Error {
|
9
|
+
name;
|
10
|
+
classification;
|
11
|
+
options;
|
12
|
+
cause;
|
13
|
+
serializedError;
|
14
|
+
message;
|
15
|
+
resolution;
|
16
|
+
details;
|
17
|
+
link;
|
18
|
+
code;
|
19
|
+
/**
|
20
|
+
* You should use AmplifyUserError or AmplifyLibraryFault to throw an error.
|
21
|
+
* @param name - a user friendly name for the exception
|
22
|
+
* @param classification - LibraryFault or UserError
|
23
|
+
* @param options - error stack, resolution steps, details, or help links
|
24
|
+
* @param cause If you are throwing this exception from within a catch block,
|
25
|
+
* you must provide the exception that was caught.
|
26
|
+
* @example
|
27
|
+
* try {
|
28
|
+
* ...
|
29
|
+
* } catch (error){
|
30
|
+
* throw new AmplifyError(...,...,error);
|
31
|
+
* }
|
32
|
+
*/
|
33
|
+
constructor(name, classification, options, cause) {
|
34
|
+
// If an AmplifyError was already thrown, we must allow it to reach the user.
|
35
|
+
// This ensures that resolution steps, and the original error are bubbled up.
|
36
|
+
super(options.message, { cause });
|
37
|
+
this.name = name;
|
38
|
+
this.classification = classification;
|
39
|
+
this.options = options;
|
40
|
+
this.cause = cause;
|
41
|
+
// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
42
|
+
Object.setPrototypeOf(this, AmplifyError.prototype);
|
43
|
+
this.message = options.message;
|
44
|
+
this.details = options.details;
|
45
|
+
this.resolution = options.resolution;
|
46
|
+
this.code = options.code;
|
47
|
+
this.link = options.link;
|
48
|
+
if (cause && AmplifyError.isAmplifyError(cause)) {
|
49
|
+
cause.serializedError = undefined;
|
50
|
+
}
|
51
|
+
this.serializedError = Buffer.from(JSON.stringify({
|
52
|
+
name,
|
53
|
+
classification,
|
54
|
+
options,
|
55
|
+
cause,
|
56
|
+
}, errorSerializer)).toString('base64');
|
57
|
+
}
|
58
|
+
static fromStderr = (_stderr) => {
|
59
|
+
try {
|
60
|
+
const serializedString = tryFindSerializedErrorJSONString(_stderr);
|
61
|
+
if (!serializedString) {
|
62
|
+
return undefined;
|
63
|
+
}
|
64
|
+
const { name, classification, options, cause } = JSON.parse(serializedString);
|
65
|
+
let serializedCause = cause;
|
66
|
+
if (cause && ErrorSerializerDeserializer.isSerializedErrorType(cause)) {
|
67
|
+
serializedCause = ErrorSerializerDeserializer.deserialize(cause);
|
68
|
+
}
|
69
|
+
return classification === 'ERROR'
|
70
|
+
? new _1.AmplifyUserError(name, options, serializedCause)
|
71
|
+
: new _1.AmplifyFault(name, options, serializedCause);
|
72
|
+
}
|
73
|
+
catch (error) {
|
74
|
+
// cannot deserialize
|
75
|
+
return undefined;
|
76
|
+
}
|
77
|
+
};
|
78
|
+
/**
|
79
|
+
* This function is a type predicate for AmplifyError.
|
80
|
+
* See https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates.
|
81
|
+
*
|
82
|
+
* Checks if error is an AmplifyError by inspecting if required properties are set.
|
83
|
+
* This is recommended instead of instanceof operator.
|
84
|
+
* The instance of operator does not work as expected if AmplifyError class is loaded
|
85
|
+
* from multiple sources, for example when package manager decides to not de-duplicate dependencies.
|
86
|
+
* See https://github.com/nodejs/node/issues/17943.
|
87
|
+
*/
|
88
|
+
static isAmplifyError = (error) => {
|
89
|
+
return (error instanceof Error &&
|
90
|
+
'classification' in error &&
|
91
|
+
(error.classification === 'ERROR' || error.classification === 'FAULT') &&
|
92
|
+
typeof error.name === 'string' &&
|
93
|
+
typeof error.message === 'string');
|
94
|
+
};
|
95
|
+
static fromError = (error) => {
|
96
|
+
if (AmplifyError.isAmplifyError(error)) {
|
97
|
+
return error;
|
98
|
+
}
|
99
|
+
const errorMessage = error instanceof Error
|
100
|
+
? `${error.name}: ${error.message}`
|
101
|
+
: 'An unknown error happened. Check downstream error';
|
102
|
+
if (error instanceof Error && isCredentialsError(error)) {
|
103
|
+
return new _1.AmplifyUserError('CredentialsError', {
|
104
|
+
message: errorMessage,
|
105
|
+
resolution: 'Ensure your AWS credentials are correctly set and refreshed.',
|
106
|
+
}, error);
|
107
|
+
}
|
108
|
+
if (error instanceof Error && isYargsValidationError(error)) {
|
109
|
+
return new _1.AmplifyUserError('InvalidCommandInputError', {
|
110
|
+
message: errorMessage,
|
111
|
+
resolution: 'Please see the underlying error message for resolution.',
|
112
|
+
}, error);
|
113
|
+
}
|
114
|
+
if (error instanceof Error && isENotFoundError(error)) {
|
115
|
+
return new _1.AmplifyUserError('DomainNotFoundError', {
|
116
|
+
message: 'Unable to establish a connection to a domain',
|
117
|
+
resolution: 'Ensure domain name is correct and network connection is stable.',
|
118
|
+
}, error);
|
119
|
+
}
|
120
|
+
/**
|
121
|
+
* catches SyntaxErrors that were somehow not instances of AmplifyError
|
122
|
+
* this can be removed once we can properly identify where AmplifyError is being stripped off
|
123
|
+
*/
|
124
|
+
if (error instanceof Error && isSyntaxError(error)) {
|
125
|
+
return new _1.AmplifyUserError('SyntaxError', {
|
126
|
+
message: error.message,
|
127
|
+
resolution: 'Check your backend definition in the `amplify` folder for syntax and type errors.',
|
128
|
+
}, error);
|
129
|
+
}
|
130
|
+
if (error instanceof Error && isInsufficientDiskSpaceError(error)) {
|
131
|
+
return new _1.AmplifyUserError('InsufficientDiskSpaceError', {
|
132
|
+
message: error.message,
|
133
|
+
resolution: 'There appears to be insufficient space on your system to finish. Clear up some disk space and try again.',
|
134
|
+
}, error);
|
135
|
+
}
|
136
|
+
if (error instanceof Error && isOutOfMemoryError(error)) {
|
137
|
+
return new _1.AmplifyUserError('InsufficientMemorySpaceError', {
|
138
|
+
message: error.message,
|
139
|
+
resolution: 'There appears to be insufficient memory on your system to finish. Close other applications or restart your system and try again.',
|
140
|
+
}, error);
|
141
|
+
}
|
142
|
+
return new _1.AmplifyFault('UnknownFault', {
|
143
|
+
message: errorMessage,
|
144
|
+
}, error instanceof Error ? error : new Error(String(error)));
|
145
|
+
};
|
146
|
+
}
|
147
|
+
exports.AmplifyError = AmplifyError;
|
148
|
+
const tryFindSerializedErrorJSONString = (_stderr) => {
|
149
|
+
let errorJSONString = tryFindSerializedErrorJSONStringV2(_stderr);
|
150
|
+
if (!errorJSONString) {
|
151
|
+
errorJSONString = tryFindSerializedErrorJSONStringV1(_stderr);
|
152
|
+
}
|
153
|
+
return errorJSONString;
|
154
|
+
};
|
155
|
+
/**
|
156
|
+
* Tries to find serialized string assuming that it is in a form of serialized JSON encoded with base64.
|
157
|
+
*/
|
158
|
+
const tryFindSerializedErrorJSONStringV2 = (_stderr) => {
|
159
|
+
/**
|
160
|
+
* `["']?serializedError["']?:[ ]?` captures the start of the serialized error. The quotes depend on which OS is being used
|
161
|
+
* `(?:`([a-zA-Z0-9+/=]+?)`|'([a-zA-Z0-9+/=]+?)'|"([a-zA-Z0-9+/=]+?)")` captures the rest of the serialized string enclosed in either single quote,
|
162
|
+
* double quotes or back-ticks.
|
163
|
+
*/
|
164
|
+
const extractionRegex = /["']?serializedError["']?:[ ]?(?:`([a-zA-Z0-9+/=]+?)`|'([a-zA-Z0-9+/=]+?)'|"([a-zA-Z0-9+/=]+?)")/;
|
165
|
+
const serialized = _stderr.match(extractionRegex);
|
166
|
+
if (serialized && serialized.length === 4) {
|
167
|
+
// 4 because 1 match and 3 capturing groups
|
168
|
+
const base64SerializedString = serialized
|
169
|
+
.slice(1)
|
170
|
+
.find((item) => item && item.length > 0);
|
171
|
+
if (base64SerializedString) {
|
172
|
+
return Buffer.from(base64SerializedString, 'base64').toString('utf-8');
|
173
|
+
}
|
174
|
+
}
|
175
|
+
return undefined;
|
176
|
+
};
|
177
|
+
/**
|
178
|
+
* Tries to find serialized string assuming that it is in a form of serialized JSON.
|
179
|
+
* @deprecated This is old format left for backwards compatibility in case that synth-time components are using older version of platform-core.
|
180
|
+
*/
|
181
|
+
const tryFindSerializedErrorJSONStringV1 = (_stderr) => {
|
182
|
+
/**
|
183
|
+
* `["']?serializedError["']?:[ ]?` captures the start of the serialized error. The quotes depend on which OS is being used
|
184
|
+
* `(?:`(.+?)`|'(.+?)'|"((?:\\"|[^"])*?)")` captures the rest of the serialized string enclosed in either single quote,
|
185
|
+
* double quotes or back-ticks.
|
186
|
+
*/
|
187
|
+
const extractionRegex = /["']?serializedError["']?:[ ]?(?:`(.+?)`|'(.+?)'|"((?:\\"|[^"])*?)")/;
|
188
|
+
const serialized = _stderr.match(extractionRegex);
|
189
|
+
if (serialized && serialized.length === 4) {
|
190
|
+
// 4 because 1 match and 3 capturing groups
|
191
|
+
return serialized
|
192
|
+
.slice(1)
|
193
|
+
.find((item) => item && item.length > 0)
|
194
|
+
?.replaceAll('\\"', '"')
|
195
|
+
.replaceAll("\\'", "'");
|
196
|
+
}
|
197
|
+
return undefined;
|
198
|
+
};
|
199
|
+
const isCredentialsError = (err) => {
|
200
|
+
return (!!err &&
|
201
|
+
[
|
202
|
+
'ExpiredToken',
|
203
|
+
'ExpiredTokenException',
|
204
|
+
'CredentialsProviderError',
|
205
|
+
'InvalidClientTokenId',
|
206
|
+
'CredentialsError',
|
207
|
+
].includes(err.name));
|
208
|
+
};
|
209
|
+
// These validation messages are taken from https://github.com/yargs/yargs/blob/0c95f9c79e1810cf9c8964fbf7d139009412f7e7/lib/validation.ts
|
210
|
+
const isYargsValidationError = (err) => {
|
211
|
+
return (!!err &&
|
212
|
+
([
|
213
|
+
'Unknown command',
|
214
|
+
'Unknown argument',
|
215
|
+
'Did you mean',
|
216
|
+
'Not enough non-option arguments',
|
217
|
+
'Too many non-option arguments',
|
218
|
+
'Missing required argument',
|
219
|
+
'Invalid values:',
|
220
|
+
'Missing dependent arguments',
|
221
|
+
'Implications failed',
|
222
|
+
].some((message) => err.message.startsWith(message)) ||
|
223
|
+
err.message.endsWith('are mutually exclusive')));
|
224
|
+
};
|
225
|
+
const isENotFoundError = (err) => {
|
226
|
+
return !!err && err.message.includes('getaddrinfo ENOTFOUND');
|
227
|
+
};
|
228
|
+
const isSyntaxError = (err) => {
|
229
|
+
return !!err && err.name === 'SyntaxError';
|
230
|
+
};
|
231
|
+
const isInsufficientDiskSpaceError = (err) => {
|
232
|
+
return (!!err &&
|
233
|
+
['ENOSPC: no space left on device', 'code ENOSPC'].some((message) => err.message.includes(message)));
|
234
|
+
};
|
235
|
+
const isOutOfMemoryError = (err) => {
|
236
|
+
return (!!err &&
|
237
|
+
(err.message.includes('process out of memory') ||
|
238
|
+
err.message.includes('connect ENOMEM')));
|
239
|
+
};
|
240
|
+
const errorSerializer = (_, value) => {
|
241
|
+
if (value instanceof Error) {
|
242
|
+
return ErrorSerializerDeserializer.serialize(value);
|
243
|
+
}
|
244
|
+
return value;
|
245
|
+
};
|
246
|
+
class ErrorSerializerDeserializer {
|
247
|
+
static serialize = (error) => {
|
248
|
+
const serializedError = {
|
249
|
+
name: error.name,
|
250
|
+
message: error.message,
|
251
|
+
};
|
252
|
+
return serializedError;
|
253
|
+
};
|
254
|
+
static deserialize = (deserialized) => {
|
255
|
+
const error = new Error(deserialized.message);
|
256
|
+
error.name = deserialized.name;
|
257
|
+
return error;
|
258
|
+
};
|
259
|
+
static isSerializedErrorType = (obj) => {
|
260
|
+
if (obj &&
|
261
|
+
obj.name &&
|
262
|
+
obj.message)
|
263
|
+
return true;
|
264
|
+
return false;
|
265
|
+
};
|
266
|
+
}
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeV9lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvYW1wbGlmeV9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3QkFBbUQ7QUFFbkQ7O0dBRUc7QUFDSCxNQUFzQixZQUF3QyxTQUFRLEtBQUs7SUF1QnZEO0lBQ0E7SUFDQztJQUNEO0lBekJYLGVBQWUsQ0FBVTtJQUNoQixPQUFPLENBQVM7SUFDaEIsVUFBVSxDQUFVO0lBQ3BCLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVU7SUFDZCxJQUFJLENBQVU7SUFFOUI7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILFlBQ2tCLElBQU8sRUFDUCxjQUEwQyxFQUN6QyxPQUE0QixFQUM3QixLQUFhO1FBRTdCLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBUGxCLFNBQUksR0FBSixJQUFJLENBQUc7UUFDUCxtQkFBYyxHQUFkLGNBQWMsQ0FBNEI7UUFDekMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQU03Qiw2SUFBNkk7UUFDN0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFFekIsSUFBSSxLQUFLLElBQUksWUFBWSxDQUFDLGNB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QUMzQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUM7UUFDRixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsWUFBaUMsRUFBRSxFQUFFO1FBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxHQUFZLEVBQThCLEVBQUU7UUFDMUUsSUFDRSxHQUFHO1lBQ0YsR0FBMkIsQ0FBQyxJQUFJO1lBQ2hDLEdBQTJCLENBQUMsT0FBTztZQUVwQyxPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW1wbGlmeUZhdWx0LCBBbXBsaWZ5VXNlckVycm9yIH0gZnJvbSAnLic7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIEFtcGxpZnkgZXJyb3JzIG9yIGZhdWx0c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQW1wbGlmeUVycm9yPFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgc2VyaWFsaXplZEVycm9yPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRldGFpbHM/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsaW5rPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZT86IHN0cmluZztcblxuICAvKipcbiAgICogWW91IHNob3VsZCB1c2UgQW1wbGlmeVVzZXJFcnJvciBvciBBbXBsaWZ5TGlicmFyeUZhdWx0IHRvIHRocm93IGFuIGVycm9yLlxuICAgKiBAcGFyYW0gbmFtZSAtIGEgdXNlciBmcmllbmRseSBuYW1lIGZvciB0aGUgZXhjZXB0aW9uXG4gICAqIEBwYXJhbSBjbGFzc2lmaWNhdGlvbiAtIExpYnJhcnlGYXVsdCBvciBVc2VyRXJyb3JcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBlcnJvciBzdGFjaywgcmVzb2x1dGlvbiBzdGVwcywgZGV0YWlscywgb3IgaGVscCBsaW5rc1xuICAgKiBAcGFyYW0gY2F1c2UgSWYgeW91IGFyZSB0aHJvd2luZyB0aGlzIGV4Y2VwdGlvbiBmcm9tIHdpdGhpbiBhIGNhdGNoIGJsb2NrLFxuICAgKiB5b3UgbXVzdCBwcm92aWRlIHRoZSBleGNlcHRpb24gdGhhdCB3YXMgY2F1Z2h0LlxuICAgKiBAZXhhbXBsZVxuICAgKiB0cnkge1xuICAgKiAgLi4uXG4gICAqIH0gY2F0Y2ggKGVycm9yKXtcbiAgICogICAgdGhyb3cgbmV3IEFtcGxpZnlFcnJvciguLi4sLi4uLGVycm9yKTtcbiAgICogfVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGNsYXNzaWZpY2F0aW9uOiBBbXBsaWZ5RXJyb3JDbGFzc2lmaWNhdGlvbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFtcGxpZnlFcnJvck9wdGlvbnMsXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogRXJyb3JcbiAgKSB7XG4gICAgLy8gSWYgYW4gQW1wbGlmeUVycm9yIHdhcyBhbHJlYWR5IHRocm93biwgd2UgbXVzdCBhbGxvdyBpdCB0byByZWFjaCB0aGUgdXNlci5cbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCByZXNvbHV0aW9uIHN0ZXBzLCBhbmQgdGhlIG9yaWdpbmFsIGVycm9yIGFyZSBidWJibGVkIHVwLlxuICAgIHN1cGVyKG9wdGlvbnMubWVzc2FnZSwgeyBjYXVzZSB9KTtcblxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC13aWtpL2Jsb2IvbWFpbi9CcmVha2luZy1DaGFuZ2VzLm1kI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29ya1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBBbXBsaWZ5RXJyb3IucHJvdG90eXBlKTtcblxuICAgIHRoaXMubWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZTtcbiAgICB0aGlzLmRldGFpbHMgPSBvcHRpb25zLmRldGFpbHM7XG4gICAgdGhpcy5yZXNvbHV0aW9uID0gb3B0aW9ucy5yZXNvbHV0aW9uO1xuICAgIHRoaXMuY29kZSA9IG9wdGlvbnMuY29kZTtcbiAgICB0aGlzLmxpbmsgPSBvcHRpb25zLmxpbms7XG5cbiAgICBpZiAoY2F1c2UgJiYgQW1wbGlmeUVycm9yLmlzQW1wbGlmeUVycm9yKGNhdXNlKSkge1xuICAgICAgY2F1c2Uuc2VyaWFsaXplZEVycm9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnNlcmlhbGl6ZWRFcnJvciA9IEJ1ZmZlci5mcm9tKFxuICAgICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yU2VyaWFsaXplclxuICAgICAgKVxuICAgICkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGRlcnIgPSAoX3N0ZGVycjogc3RyaW5nKTogQW1wbGlmeUVycm9yIHwgdW5kZWZpbmVkID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2VyaWFsaXplZFN0cmluZyA9IHRyeUZpbmRTZXJpYWxpemVkRXJyb3JKU09OU3RyaW5nKF9zdGRlcnIpO1xuXG4gICAgICBpZiAoIXNlcmlhbGl6ZWRTdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBuYW1lLCBjbGFzc2lmaWNhdGlvbiwgb3B0aW9ucywgY2F1c2UgfSA9XG4gICAgICAgIEpTT04ucGFyc2Uoc2VyaWFsaXplZFN0cmluZyk7XG5cbiAgICAgIGxldCBzZXJpYWxpemVkQ2F1c2UgPSBjYXVzZTtcbiAgICAgIGlmIChjYXVzZSAmJiBFcnJvclNlcmlhbGl6ZXJEZXNlcmlhbGl6ZXIuaXNTZXJpYWxpemVkRXJyb3JUeXBlKGNhdXNlKSkge1xuICAgICAgICBzZXJpYWxpemVkQ2F1c2UgPSBFcnJvclNlcmlhbGl6ZXJEZXNlcmlhbGl6ZXIuZGVzZXJpYWxpemUoY2F1c2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9uID09PSAnRVJST1InXG4gICAgICAgID8gbmV3IEFtcGxpZnlVc2VyRXJyb3IobmFtZSwgb3B0aW9ucywgc2VyaWFsaXplZENhdXNlKVxuICAgICAgICA6IG5ldyBBbXBsaWZ5RmF1bHQobmFtZSwgb3B0aW9ucywgc2VyaWFsaXplZENhdXNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gY2Fubm90IGRlc2VyaWFsaXplXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBhIHR5cGUgcHJlZGljYXRlIGZvciBBbXBsaWZ5RXJyb3IuXG4gICAqIFNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL25hcnJvd2luZy5odG1sI3VzaW5nLXR5cGUtcHJlZGljYXRlcy5cbiAgICpcbiAgICogQ2hlY2tzIGlmIGVycm9yIGlzIGFuIEFtcGxpZnlFcnJvciBieSBpbnNwZWN0aW5nIGlmIHJlcXVpcmVkIHByb3BlcnRpZXMgYXJlIHNldC5cbiAgICogVGhpcyBpcyByZWNvbW1lbmRlZCBpbnN0ZWFkIG9mIGluc3RhbmNlb2Ygb3BlcmF0b3IuXG4gICAqIFRoZSBpbnN0YW5jZSBvZiBvcGVyYXRvciBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIEFtcGxpZnlFcnJvciBjbGFzcyBpcyBsb2FkZWRcbiAgICogZnJvbSBtdWx0aXBsZSBzb3VyY2VzLCBmb3IgZXhhbXBsZSB3aGVuIHBhY2thZ2UgbWFuYWdlciBkZWNpZGVzIHRvIG5vdCBkZS1kdXBsaWNhdGUgZGVwZW5kZW5jaWVzLlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2lzc3Vlcy8xNzk0My5cbiAgICovXG4gIHN0YXRpYyBpc0FtcGxpZnlFcnJvciA9IChlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIEFtcGxpZnlFcnJvciA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiZcbiAgICAgICdjbGFzc2lmaWNhdGlvbicgaW4gZXJyb3IgJiZcbiAgICAgIChlcnJvci5jbGFzc2lmaWNhdGlvbiA9PT0gJ0VSUk9SJyB8fCBlcnJvci5jbGFzc2lmaWNhdGlvbiA9PT0gJ0ZBVUxUJykgJiZcbiAgICAgIHR5cGVvZiBlcnJvci5uYW1lID09PSAnc3RyaW5nJyAmJlxuICAgICAgdHlwZW9mIGVycm9yLm1lc3NhZ2UgPT09ICdzdHJpbmcnXG4gICAgKTtcbiAgfTtcblxuICBzdGF0aWMgZnJvbUVycm9yID0gKGVycm9yOiB1bmtub3duKTogQW1wbGlmeUVycm9yID0+IHtcbiAgICBpZiAoQW1wbGlmeUVycm9yLmlzQW1wbGlmeUVycm9yKGVycm9yKSkge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgID8gYCR7ZXJyb3IubmFtZX06ICR7ZXJyb3IubWVzc2FnZX1gXG4gICAgICAgIDogJ0FuIHVua25vd24gZXJyb3IgaGFwcGVuZWQuIENoZWNrIGRvd25zdHJlYW0gZXJyb3InO1xuXG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgaXNDcmVkZW50aWFsc0Vycm9yKGVycm9yKSkge1xuICAgICAgcmV0dXJuIG5ldyBBbXBsaWZ5VXNlckVycm9yKFxuICAgICAgICAnQ3JlZGVudGlhbHNFcnJvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgcmVzb2x1dGlvbjpcbiAgICAgICAgICAgICdFbnN1cmUgeW91ciBBV1MgY3JlZGVudGlhbHMgYXJlIGNvcnJlY3RseSBzZXQgYW5kIHJlZnJlc2hlZC4nLFxuICAgICAgICB9LFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgaXNZYXJnc1ZhbGlkYXRpb25FcnJvcihlcnJvcikpIHtcbiAgICAgIHJldHVybiBuZXcgQW1wbGlmeVVzZXJFcnJvcihcbiAgICAgICAgJ0ludmFsaWRDb21tYW5kSW5wdXRFcnJvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgcmVzb2x1dGlvbjogJ1BsZWFzZSBzZWUgdGhlIHVuZGVybHlpbmcgZXJyb3IgbWVzc2FnZSBmb3IgcmVzb2x1dGlvbi4nLFxuICAgICAgICB9LFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgaXNFTm90Rm91bmRFcnJvcihlcnJvcikpIHtcbiAgICAgIHJldHVybiBuZXcgQW1wbGlmeVVzZXJFcnJvcihcbiAgICAgICAgJ0RvbWFpbk5vdEZvdW5kRXJyb3InLFxuICAgICAgICB7XG4gICAgICAgICAgbWVzc2FnZTogJ1VuYWJsZSB0byBlc3RhYmxpc2ggYSBjb25uZWN0aW9uIHRvIGEgZG9tYWluJyxcbiAgICAgICAgICByZXNvbHV0aW9uOlxuICAgICAgICAgICAgJ0Vuc3VyZSBkb21haW4gbmFtZSBpcyBjb3JyZWN0IGFuZCBuZXR3b3JrIGNvbm5lY3Rpb24gaXMgc3RhYmxlLicsXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBjYXRjaGVzIFN5bnRheEVycm9ycyB0aGF0IHdlcmUgc29tZWhvdyBub3QgaW5zdGFuY2VzIG9mIEFtcGxpZnlFcnJvclxuICAgICAqIHRoaXMgY2FuIGJlIHJlbW92ZWQgb25jZSB3ZSBjYW4gcHJvcGVybHkgaWRlbnRpZnkgd2hlcmUgQW1wbGlmeUVycm9yIGlzIGJlaW5nIHN0cmlwcGVkIG9mZlxuICAgICAqL1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGlzU3ludGF4RXJyb3IoZXJyb3IpKSB7XG4gICAgICByZXR1cm4gbmV3IEFtcGxpZnlVc2VyRXJyb3IoXG4gICAgICAgICdTeW50YXhFcnJvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgIHJlc29sdXRpb246XG4gICAgICAgICAgICAnQ2hlY2sgeW91ciBiYWNrZW5kIGRlZmluaXRpb24gaW4gdGhlIGBhbXBsaWZ5YCBmb2xkZXIgZm9yIHN5bnRheCBhbmQgdHlwZSBlcnJvcnMuJyxcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGlzSW5zdWZmaWNpZW50RGlza1NwYWNlRXJyb3IoZXJyb3IpKSB7XG4gICAgICByZXR1cm4gbmV3IEFtcGxpZnlVc2VyRXJyb3IoXG4gICAgICAgICdJbnN1ZmZpY2llbnREaXNrU3BhY2VFcnJvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgIHJlc29sdXRpb246XG4gICAgICAgICAgICAnVGhlcmUgYXBwZWFycyB0byBiZSBpbnN1ZmZpY2llbnQgc3BhY2Ugb24geW91ciBzeXN0ZW0gdG8gZmluaXNoLiBDbGVhciB1cCBzb21lIGRpc2sgc3BhY2UgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgICAgICB9LFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgaXNPdXRPZk1lbW9yeUVycm9yKGVycm9yKSkge1xuICAgICAgcmV0dXJuIG5ldyBBbXBsaWZ5VXNlckVycm9yKFxuICAgICAgICAnSW5zdWZmaWNpZW50TWVtb3J5U3BhY2VFcnJvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgIHJlc29sdXRpb246XG4gICAgICAgICAgICAnVGhlcmUgYXBwZWFycyB0byBiZSBpbnN1ZmZpY2llbnQgbWVtb3J5IG9uIHlvdXIgc3lzdGVtIHRvIGZpbmlzaC4gQ2xvc2Ugb3RoZXIgYXBwbGljYXRpb25zIG9yIHJlc3RhcnQgeW91ciBzeXN0ZW0gYW5kIHRyeSBhZ2Fpbi4nLFxuICAgICAgICB9LFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBBbXBsaWZ5RmF1bHQoXG4gICAgICAnVW5rbm93bkZhdWx0JyxcbiAgICAgIHtcbiAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgICAgfSxcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyb3IpKVxuICAgICk7XG4gIH07XG59XG5cbmNvbnN0IHRyeUZpbmRTZXJpYWxpemVkRXJyb3JKU09OU3RyaW5nID0gKFxuICBfc3RkZXJyOiBzdHJpbmdcbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBlcnJvckpTT05TdHJpbmcgPSB0cnlGaW5kU2VyaWFsaXplZEVycm9ySlNPTlN0cmluZ1YyKF9zdGRlcnIpO1xuICBpZiAoIWVycm9ySlNPTlN0cmluZykge1xuICAgIGVycm9ySlNPTlN0cmluZyA9IHRyeUZpbmRTZXJpYWxpemVkRXJyb3JKU09OU3RyaW5nVjEoX3N0ZGVycik7XG4gIH1cbiAgcmV0dXJuIGVycm9ySlNPTlN0cmluZztcbn07XG5cbi8qKlxuICogVHJpZXMgdG8gZmluZCBzZXJpYWxpemVkIHN0cmluZyBhc3N1bWluZyB0aGF0IGl0IGlzIGluIGEgZm9ybSBvZiBzZXJpYWxpemVkIEpTT04gZW5jb2RlZCB3aXRoIGJhc2U2NC5cbiAqL1xuY29uc3QgdHJ5RmluZFNlcmlhbGl6ZWRFcnJvckpTT05TdHJpbmdWMiA9IChcbiAgX3N0ZGVycjogc3RyaW5nXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICAvKipcbiAgICogYFtcIiddP3NlcmlhbGl6ZWRFcnJvcltcIiddPzpbIF0/YCBjYXB0dXJlcyB0aGUgc3RhcnQgb2YgdGhlIHNlcmlhbGl6ZWQgZXJyb3IuIFRoZSBxdW90ZXMgZGVwZW5kIG9uIHdoaWNoIE9TIGlzIGJlaW5nIHVzZWRcbiAgICogYCg/OmAoW2EtekEtWjAtOSsvPV0rPylgfCcoW2EtekEtWjAtOSsvPV0rPyknfFwiKFthLXpBLVowLTkrLz1dKz8pXCIpYCBjYXB0dXJlcyB0aGUgcmVzdCBvZiB0aGUgc2VyaWFsaXplZCBzdHJpbmcgZW5jbG9zZWQgaW4gZWl0aGVyIHNpbmdsZSBxdW90ZSxcbiAgICogZG91YmxlIHF1b3RlcyBvciBiYWNrLXRpY2tzLlxuICAgKi9cbiAgY29uc3QgZXh0cmFjdGlvblJlZ2V4ID1cbiAgICAvW1wiJ10/c2VyaWFsaXplZEVycm9yW1wiJ10/OlsgXT8oPzpgKFthLXpBLVowLTkrLz1dKz8pYHwnKFthLXpBLVowLTkrLz1dKz8pJ3xcIihbYS16QS1aMC05Ky89XSs/KVwiKS87XG4gIGNvbnN0IHNlcmlhbGl6ZWQgPSBfc3RkZXJyLm1hdGNoKGV4dHJhY3Rpb25SZWdleCk7XG4gIGlmIChzZXJpYWxpemVkICYmIHNlcmlhbGl6ZWQubGVuZ3RoID09PSA0KSB7XG4gICAgLy8gNCBiZWNhdXNlIDEgbWF0Y2ggYW5kIDMgY2FwdHVyaW5nIGdyb3Vwc1xuICAgIGNvbnN0IGJhc2U2NFNlcmlhbGl6ZWRTdHJpbmcgPSBzZXJpYWxpemVkXG4gICAgICAuc2xpY2UoMSlcbiAgICAgIC5maW5kKChpdGVtKSA9PiBpdGVtICYmIGl0ZW0ubGVuZ3RoID4gMCk7XG4gICAgaWYgKGJhc2U2NFNlcmlhbGl6ZWRTdHJpbmcpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShiYXNlNjRTZXJpYWxpemVkU3RyaW5nLCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFRyaWVzIHRvIGZpbmQgc2VyaWFsaXplZCBzdHJpbmcgYXNzdW1pbmcgdGhhdCBpdCBpcyBpbiBhIGZvcm0gb2Ygc2VyaWFsaXplZCBKU09OLlxuICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBvbGQgZm9ybWF0IGxlZnQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIGNhc2UgdGhhdCBzeW50aC10aW1lIGNvbXBvbmVudHMgYXJlIHVzaW5nIG9sZGVyIHZlcnNpb24gb2YgcGxhdGZvcm0tY29yZS5cbiAqL1xuY29uc3QgdHJ5RmluZFNlcmlhbGl6ZWRFcnJvckpTT05TdHJpbmdWMSA9IChcbiAgX3N0ZGVycjogc3RyaW5nXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICAvKipcbiAgICogYFtcIiddP3NlcmlhbGl6ZWRFcnJvcltcIiddPzpbIF0/YCBjYXB0dXJlcyB0aGUgc3RhcnQgb2YgdGhlIHNlcmlhbGl6ZWQgZXJyb3IuIFRoZSBxdW90ZXMgZGVwZW5kIG9uIHdoaWNoIE9TIGlzIGJlaW5nIHVzZWRcbiAgICogYCg/OmAoLis/KWB8JyguKz8pJ3xcIigoPzpcXFxcXCJ8W15cIl0pKj8pXCIpYCBjYXB0dXJlcyB0aGUgcmVzdCBvZiB0aGUgc2VyaWFsaXplZCBzdHJpbmcgZW5jbG9zZWQgaW4gZWl0aGVyIHNpbmdsZSBxdW90ZSxcbiAgICogZG91YmxlIHF1b3RlcyBvciBiYWNrLXRpY2tzLlxuICAgKi9cbiAgY29uc3QgZXh0cmFjdGlvblJlZ2V4ID1cbiAgICAvW1wiJ10/c2VyaWFsaXplZEVycm9yW1wiJ10/OlsgXT8oPzpgKC4rPylgfCcoLis/KSd8XCIoKD86XFxcXFwifFteXCJdKSo/KVwiKS87XG4gIGNvbnN0IHNlcmlhbGl6ZWQgPSBfc3RkZXJyLm1hdGNoKGV4dHJhY3Rpb25SZWdleCk7XG4gIGlmIChzZXJpYWxpemVkICYmIHNlcmlhbGl6ZWQubGVuZ3RoID09PSA0KSB7XG4gICAgLy8gNCBiZWNhdXNlIDEgbWF0Y2ggYW5kIDMgY2FwdHVyaW5nIGdyb3Vwc1xuICAgIHJldHVybiBzZXJpYWxpemVkXG4gICAgICAuc2xpY2UoMSlcbiAgICAgIC5maW5kKChpdGVtKSA9PiBpdGVtICYmIGl0ZW0ubGVuZ3RoID4gMClcbiAgICAgID8ucmVwbGFjZUFsbCgnXFxcXFwiJywgJ1wiJylcbiAgICAgIC5yZXBsYWNlQWxsKFwiXFxcXCdcIiwgXCInXCIpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBpc0NyZWRlbnRpYWxzRXJyb3IgPSAoZXJyPzogRXJyb3IpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIChcbiAgICAhIWVyciAmJlxuICAgIFtcbiAgICAgICdFeHBpcmVkVG9rZW4nLFxuICAgICAgJ0V4cGlyZWRUb2tlbkV4Y2VwdGlvbicsXG4gICAgICAnQ3JlZGVudGlhbHNQcm92aWRlckVycm9yJyxcbiAgICAgICdJbnZhbGlkQ2xpZW50VG9rZW5JZCcsXG4gICAgICAnQ3JlZGVudGlhbHNFcnJvcicsXG4gICAgXS5pbmNsdWRlcyhlcnIubmFtZSlcbiAgKTtcbn07XG5cbi8vIFRoZXNlIHZhbGlkYXRpb24gbWVzc2FnZXMgYXJlIHRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3lhcmdzL3lhcmdzL2Jsb2IvMGM5NWY5Yzc5ZTE4MTBjZjljODk2NGZiZjdkMTM5MDA5NDEyZjdlNy9saWIvdmFsaWRhdGlvbi50c1xuY29uc3QgaXNZYXJnc1ZhbGlkYXRpb25FcnJvciA9IChlcnI/OiBFcnJvcik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gKFxuICAgICEhZXJyICYmXG4gICAgKFtcbiAgICAgICdVbmtub3duIGNvbW1hbmQnLFxuICAgICAgJ1Vua25vd24gYXJndW1lbnQnLFxuICAgICAgJ0RpZCB5b3UgbWVhbicsXG4gICAgICAnTm90IGVub3VnaCBub24tb3B0aW9uIGFyZ3VtZW50cycsXG4gICAgICAnVG9vIG1hbnkgbm9uLW9wdGlvbiBhcmd1bWVudHMnLFxuICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgYXJndW1lbnQnLFxuICAgICAgJ0ludmFsaWQgdmFsdWVzOicsXG4gICAgICAnTWlzc2luZyBkZXBlbmRlbnQgYXJndW1lbnRzJyxcbiAgICAgICdJbXBsaWNhdGlvbnMgZmFpbGVkJyxcbiAgICBdLnNvbWUoKG1lc3NhZ2UpID0+IGVyci5tZXNzYWdlLnN0YXJ0c1dpdGgobWVzc2FnZSkpIHx8XG4gICAgICBlcnIubWVzc2FnZS5lbmRzV2l0aCgnYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZScpKVxuICApO1xufTtcblxuY29uc3QgaXNFTm90Rm91bmRFcnJvciA9IChlcnI/OiBFcnJvcik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gISFlcnIgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2dldGFkZHJpbmZvIEVOT1RGT1VORCcpO1xufTtcblxuY29uc3QgaXNTeW50YXhFcnJvciA9IChlcnI/OiBFcnJvcik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gISFlcnIgJiYgZXJyLm5hbWUgPT09ICdTeW50YXhFcnJvcic7XG59O1xuXG5jb25zdCBpc0luc3VmZmljaWVudERpc2tTcGFjZUVycm9yID0gKGVycj86IEVycm9yKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoXG4gICAgISFlcnIgJiZcbiAgICBbJ0VOT1NQQzogbm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UnLCAnY29kZSBFTk9TUEMnXS5zb21lKChtZXNzYWdlKSA9PlxuICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMobWVzc2FnZSlcbiAgICApXG4gICk7XG59O1xuXG5jb25zdCBpc091dE9mTWVtb3J5RXJyb3IgPSAoZXJyPzogRXJyb3IpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIChcbiAgICAhIWVyciAmJlxuICAgIChlcnIubWVzc2FnZS5pbmNsdWRlcygncHJvY2VzcyBvdXQgb2YgbWVtb3J5JykgfHxcbiAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdjb25uZWN0IEVOT01FTScpKVxuICApO1xufTtcblxuLyoqXG4gKiBBbXBsaWZ5IGV4Y2VwdGlvbiBjbGFzc2lmaWNhdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgQW1wbGlmeUVycm9yQ2xhc3NpZmljYXRpb24gPSAnRkFVTFQnIHwgJ0VSUk9SJztcblxuLyoqXG4gKiBBbXBsaWZ5IEVycm9yIG9wdGlvbnMgb2JqZWN0XG4gKi9cbmV4cG9ydCB0eXBlIEFtcGxpZnlFcnJvck9wdGlvbnMgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGV0YWlscz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGluaz86IHN0cmluZztcblxuICAvLyBDbG91ZEZvcm1hdGlvbiBvciBOb2RlSlMgZXJyb3IgY29kZXNcbiAgY29kZT86IHN0cmluZztcbn07XG5cbi8qKlxuICogU2FtZSBhcyBBbXBsaWZ5RXJyb3JPcHRpb25zIGV4Y2VwdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkXG4gKi9cbmV4cG9ydCB0eXBlIEFtcGxpZnlVc2VyRXJyb3JPcHRpb25zID0gT21pdDxcbiAgQW1wbGlmeUVycm9yT3B0aW9ucyxcbiAgJ3Jlc29sdXRpb24nXG4+ICYgeyByZXNvbHV0aW9uOiBzdHJpbmcgfTtcblxuY29uc3QgZXJyb3JTZXJpYWxpemVyID0gKF86IHVua25vd24sIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgcmV0dXJuIEVycm9yU2VyaWFsaXplckRlc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn07XG5jbGFzcyBFcnJvclNlcmlhbGl6ZXJEZXNlcmlhbGl6ZXIge1xuICBzdGF0aWMgc2VyaWFsaXplID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRFcnJvcjogU2VyaWFsaXplZEVycm9yVHlwZSA9IHtcbiAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgIH07XG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRFcnJvcjtcbiAgfTtcblxuICBzdGF0aWMgZGVzZXJpYWxpemUgPSAoZGVzZXJpYWxpemVkOiBTZXJpYWxpemVkRXJyb3JUeXBlKSA9PiB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoZGVzZXJpYWxpemVkLm1lc3NhZ2UpO1xuICAgIGVycm9yLm5hbWUgPSBkZXNlcmlhbGl6ZWQubmFtZTtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH07XG5cbiAgc3RhdGljIGlzU2VyaWFsaXplZEVycm9yVHlwZSA9IChvYmo6IHVua25vd24pOiBvYmogaXMgU2VyaWFsaXplZEVycm9yVHlwZSA9PiB7XG4gICAgaWYgKFxuICAgICAgb2JqICYmXG4gICAgICAob2JqIGFzIFNlcmlhbGl6ZWRFcnJvclR5cGUpLm5hbWUgJiZcbiAgICAgIChvYmogYXMgU2VyaWFsaXplZEVycm9yVHlwZSkubWVzc2FnZVxuICAgIClcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cbnR5cGUgU2VyaWFsaXplZEVycm9yVHlwZSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59O1xuIl19
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { AmplifyError, AmplifyErrorOptions } from './amplify_error';
|
2
|
+
/**
|
3
|
+
* Base class for all Amplify library faults
|
4
|
+
*/
|
5
|
+
export declare class AmplifyFault<T extends string = string> extends AmplifyError<T> {
|
6
|
+
/**
|
7
|
+
* Create a new Amplify Library Fault
|
8
|
+
* @param name - a user friendly name for the exception
|
9
|
+
* @param options - error stack, resolution steps, details, or help links
|
10
|
+
* @param cause If you are throwing this exception from within a catch block,
|
11
|
+
* you must provide the exception that was caught.
|
12
|
+
* @example
|
13
|
+
* try {
|
14
|
+
* ...
|
15
|
+
* } catch (error){
|
16
|
+
* throw new AmplifyLibraryFault(error,...,...);
|
17
|
+
* }
|
18
|
+
*/
|
19
|
+
constructor(name: T, options: AmplifyErrorOptions, cause?: Error);
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=amplify_library_fault.d.ts.map
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AmplifyFault = void 0;
|
4
|
+
const amplify_error_1 = require("./amplify_error");
|
5
|
+
/**
|
6
|
+
* Base class for all Amplify library faults
|
7
|
+
*/
|
8
|
+
class AmplifyFault extends amplify_error_1.AmplifyError {
|
9
|
+
/**
|
10
|
+
* Create a new Amplify Library Fault
|
11
|
+
* @param name - a user friendly name for the exception
|
12
|
+
* @param options - error stack, resolution steps, details, or help links
|
13
|
+
* @param cause If you are throwing this exception from within a catch block,
|
14
|
+
* you must provide the exception that was caught.
|
15
|
+
* @example
|
16
|
+
* try {
|
17
|
+
* ...
|
18
|
+
* } catch (error){
|
19
|
+
* throw new AmplifyLibraryFault(error,...,...);
|
20
|
+
* }
|
21
|
+
*/
|
22
|
+
constructor(name, options, cause) {
|
23
|
+
super(name, 'FAULT', options, cause);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
exports.AmplifyFault = AmplifyFault;
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeV9saWJyYXJ5X2ZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9hbXBsaWZ5X2xpYnJhcnlfZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQW9FO0FBRXBFOztHQUVHO0FBQ0gsTUFBYSxZQUF3QyxTQUFRLDRCQUFlO0lBQzFFOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFlBQVksSUFBTyxFQUFFLE9BQTRCLEVBQUUsS0FBYTtRQUM5RCxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBakJELG9DQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFtcGxpZnlFcnJvciwgQW1wbGlmeUVycm9yT3B0aW9ucyB9IGZyb20gJy4vYW1wbGlmeV9lcnJvcic7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIEFtcGxpZnkgbGlicmFyeSBmYXVsdHNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtcGxpZnlGYXVsdDxUIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiBleHRlbmRzIEFtcGxpZnlFcnJvcjxUPiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgQW1wbGlmeSBMaWJyYXJ5IEZhdWx0XG4gICAqIEBwYXJhbSBuYW1lIC0gYSB1c2VyIGZyaWVuZGx5IG5hbWUgZm9yIHRoZSBleGNlcHRpb25cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBlcnJvciBzdGFjaywgcmVzb2x1dGlvbiBzdGVwcywgZGV0YWlscywgb3IgaGVscCBsaW5rc1xuICAgKiBAcGFyYW0gY2F1c2UgSWYgeW91IGFyZSB0aHJvd2luZyB0aGlzIGV4Y2VwdGlvbiBmcm9tIHdpdGhpbiBhIGNhdGNoIGJsb2NrLFxuICAgKiB5b3UgbXVzdCBwcm92aWRlIHRoZSBleGNlcHRpb24gdGhhdCB3YXMgY2F1Z2h0LlxuICAgKiBAZXhhbXBsZVxuICAgKiB0cnkge1xuICAgKiAgLi4uXG4gICAqIH0gY2F0Y2ggKGVycm9yKXtcbiAgICogICAgdGhyb3cgbmV3IEFtcGxpZnlMaWJyYXJ5RmF1bHQoZXJyb3IsLi4uLC4uLik7XG4gICAqIH1cbiAgICovXG4gIGNvbnN0cnVjdG9yKG5hbWU6IFQsIG9wdGlvbnM6IEFtcGxpZnlFcnJvck9wdGlvbnMsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihuYW1lLCAnRkFVTFQnLCBvcHRpb25zLCBjYXVzZSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { AmplifyError, AmplifyUserErrorOptions } from './amplify_error';
|
2
|
+
/**
|
3
|
+
* Base class for all Amplify user errors
|
4
|
+
*/
|
5
|
+
export declare class AmplifyUserError<T extends string = string> extends AmplifyError<T> {
|
6
|
+
/**
|
7
|
+
* Create a new Amplify Error.
|
8
|
+
* @param name - a user friendly name for the user error
|
9
|
+
* @param options - error stack, resolution steps, details, or help links
|
10
|
+
* @param cause If you are throwing this error from within a catch block,
|
11
|
+
* you must provide the error that was caught.
|
12
|
+
* @example
|
13
|
+
* try {
|
14
|
+
* ...
|
15
|
+
* } catch (error){
|
16
|
+
* throw new AmplifyError(...,...,error);
|
17
|
+
* }
|
18
|
+
*/
|
19
|
+
constructor(name: T, options: AmplifyUserErrorOptions, cause?: Error);
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=amplify_user_error.d.ts.map
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AmplifyUserError = void 0;
|
4
|
+
const amplify_error_1 = require("./amplify_error");
|
5
|
+
/**
|
6
|
+
* Base class for all Amplify user errors
|
7
|
+
*/
|
8
|
+
class AmplifyUserError extends amplify_error_1.AmplifyError {
|
9
|
+
/**
|
10
|
+
* Create a new Amplify Error.
|
11
|
+
* @param name - a user friendly name for the user error
|
12
|
+
* @param options - error stack, resolution steps, details, or help links
|
13
|
+
* @param cause If you are throwing this error from within a catch block,
|
14
|
+
* you must provide the error that was caught.
|
15
|
+
* @example
|
16
|
+
* try {
|
17
|
+
* ...
|
18
|
+
* } catch (error){
|
19
|
+
* throw new AmplifyError(...,...,error);
|
20
|
+
* }
|
21
|
+
*/
|
22
|
+
constructor(name, options, cause) {
|
23
|
+
super(name, 'ERROR', options, cause);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
exports.AmplifyUserError = AmplifyUserError;
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeV91c2VyX2Vycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9hbXBsaWZ5X3VzZXJfZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXdFO0FBRXhFOztHQUVHO0FBQ0gsTUFBYSxnQkFFWCxTQUFRLDRCQUFlO0lBQ3ZCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFlBQVksSUFBTyxFQUFFLE9BQWdDLEVBQUUsS0FBYTtRQUNsRSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBbkJELDRDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFtcGxpZnlFcnJvciwgQW1wbGlmeVVzZXJFcnJvck9wdGlvbnMgfSBmcm9tICcuL2FtcGxpZnlfZXJyb3InO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBBbXBsaWZ5IHVzZXIgZXJyb3JzXG4gKi9cbmV4cG9ydCBjbGFzcyBBbXBsaWZ5VXNlckVycm9yPFxuICBUIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nXG4+IGV4dGVuZHMgQW1wbGlmeUVycm9yPFQ+IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBBbXBsaWZ5IEVycm9yLlxuICAgKiBAcGFyYW0gbmFtZSAtIGEgdXNlciBmcmllbmRseSBuYW1lIGZvciB0aGUgdXNlciBlcnJvclxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGVycm9yIHN0YWNrLCByZXNvbHV0aW9uIHN0ZXBzLCBkZXRhaWxzLCBvciBoZWxwIGxpbmtzXG4gICAqIEBwYXJhbSBjYXVzZSBJZiB5b3UgYXJlIHRocm93aW5nIHRoaXMgZXJyb3IgZnJvbSB3aXRoaW4gYSBjYXRjaCBibG9jayxcbiAgICogeW91IG11c3QgcHJvdmlkZSB0aGUgZXJyb3IgdGhhdCB3YXMgY2F1Z2h0LlxuICAgKiBAZXhhbXBsZVxuICAgKiB0cnkge1xuICAgKiAgLi4uXG4gICAqIH0gY2F0Y2ggKGVycm9yKXtcbiAgICogICAgdGhyb3cgbmV3IEFtcGxpZnlFcnJvciguLi4sLi4uLGVycm9yKTtcbiAgICogfVxuICAgKi9cbiAgY29uc3RydWN0b3IobmFtZTogVCwgb3B0aW9uczogQW1wbGlmeVVzZXJFcnJvck9wdGlvbnMsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihuYW1lLCAnRVJST1InLCBvcHRpb25zLCBjYXVzZSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./amplify_error"), exports);
|
18
|
+
__exportStar(require("./amplify_user_error"), exports);
|
19
|
+
__exportStar(require("./amplify_library_fault"), exports);
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMsdURBQXFDO0FBQ3JDLDBEQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYW1wbGlmeV9lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2FtcGxpZnlfdXNlcl9lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2FtcGxpZnlfbGlicmFyeV9mYXVsdCc7XG4iXX0=
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* Extracts a file path from a given stack trace line
|
3
|
+
*/
|
4
|
+
export declare class FilePathExtractor {
|
5
|
+
private readonly stackTraceLine;
|
6
|
+
/**
|
7
|
+
* Constructor for FilePathExtractor
|
8
|
+
*/
|
9
|
+
constructor(stackTraceLine: string);
|
10
|
+
extract: () => string | undefined;
|
11
|
+
private standardizePath;
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=extract_file_path_from_stack_trace_line.d.ts.map
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FilePathExtractor = void 0;
|
4
|
+
const node_url_1 = require("node:url");
|
5
|
+
/**
|
6
|
+
* Regex that pulls out the path from a stack trace line. Works for both unix and windows paths and cjs and esm loaders
|
7
|
+
*
|
8
|
+
* For ESM loaders in TS files or CJS loaders
|
9
|
+
* The line is something like "at SymbolName (/some/path/to/project/root/backend/auth.ts:3:21)"
|
10
|
+
* or on Windows "at SymbolName (C:\some\path\to\project\root\backend\auth.ts:3:21)"
|
11
|
+
*
|
12
|
+
* For ESM loaders in JS files
|
13
|
+
* The line is something like "at file:///some/path/to/project/root/backend/auth.ts:14:28"
|
14
|
+
* or on Windows " at file:///C:\some\path\to\project\root\backend\auth.ts:3:21"
|
15
|
+
*
|
16
|
+
* This regex pulls out the file path into the "filepath" named matching group
|
17
|
+
* In the above examples that would be "/some/path/to/project/root/backend/auth.ts" or "C:\some\path\to\project\root\backend\auth.ts"
|
18
|
+
*
|
19
|
+
* Instead of combining both matches with single regex, we create two to keep it simple and manageable.
|
20
|
+
*
|
21
|
+
*/
|
22
|
+
const extractFilePathFromStackTraceLineRegexes = [
|
23
|
+
/\((?<filepath>(\w:)?[^:]*)[:\d]*\)/,
|
24
|
+
/at (?<filepath>.*\.\w[^:\d]*)[:\d]*/,
|
25
|
+
];
|
26
|
+
/**
|
27
|
+
* Extracts a file path from a given stack trace line
|
28
|
+
*/
|
29
|
+
class FilePathExtractor {
|
30
|
+
stackTraceLine;
|
31
|
+
/**
|
32
|
+
* Constructor for FilePathExtractor
|
33
|
+
*/
|
34
|
+
constructor(stackTraceLine) {
|
35
|
+
this.stackTraceLine = stackTraceLine;
|
36
|
+
}
|
37
|
+
extract = () => {
|
38
|
+
for (const regex of extractFilePathFromStackTraceLineRegexes) {
|
39
|
+
const match = this.stackTraceLine.match(regex);
|
40
|
+
if (match?.groups?.filepath) {
|
41
|
+
return this.standardizePath(match?.groups?.filepath);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return undefined;
|
45
|
+
};
|
46
|
+
// The input can be either a file path or a file URL. If it's a file URL, convert it to the path.
|
47
|
+
standardizePath = (maybeUrl) => {
|
48
|
+
try {
|
49
|
+
const url = new URL(maybeUrl);
|
50
|
+
if (url.protocol === 'file:') {
|
51
|
+
return (0, node_url_1.fileURLToPath)(url);
|
52
|
+
}
|
53
|
+
return maybeUrl;
|
54
|
+
}
|
55
|
+
catch {
|
56
|
+
return maybeUrl;
|
57
|
+
}
|
58
|
+
};
|
59
|
+
}
|
60
|
+
exports.FilePathExtractor = FilePathExtractor;
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdF9maWxlX3BhdGhfZnJvbV9zdGFja190cmFjZV9saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dHJhY3RfZmlsZV9wYXRoX2Zyb21fc3RhY2tfdHJhY2VfbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBeUM7QUFFekM7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLHdDQUF3QyxHQUFHO0lBQy9DLG9DQUFvQztJQUNwQyxxQ0FBcUM7Q0FDdEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFJQztJQUg3Qjs7T0FFRztJQUNILFlBQTZCLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQUcsQ0FBQztJQUV2RCxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ2IsS0FBSyxNQUFNLEtBQUssSUFBSSx3Q0FBd0MsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUMzQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN0RDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsaUdBQWlHO0lBQ3pGLGVBQWUsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRTtRQUNyRCxJQUFJO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtnQkFDNUIsT0FBTyxJQUFBLHdCQUFhLEVBQUMsR0FBRyxDQUFDLENBQUM7YUFDM0I7WUFDRCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUFDLE1BQU07WUFDTixPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztDQUNIO0FBNUJELDhDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCc7XG5cbi8qKlxuICogUmVnZXggdGhhdCBwdWxscyBvdXQgdGhlIHBhdGggZnJvbSBhIHN0YWNrIHRyYWNlIGxpbmUuIFdvcmtzIGZvciBib3RoIHVuaXggYW5kIHdpbmRvd3MgcGF0aHMgYW5kIGNqcyBhbmQgZXNtIGxvYWRlcnNcbiAqXG4gKiBGb3IgRVNNIGxvYWRlcnMgaW4gVFMgZmlsZXMgb3IgQ0pTIGxvYWRlcnNcbiAqIFRoZSBsaW5lIGlzIHNvbWV0aGluZyBsaWtlIFwiYXQgU3ltYm9sTmFtZSAoL3NvbWUvcGF0aC90by9wcm9qZWN0L3Jvb3QvYmFja2VuZC9hdXRoLnRzOjM6MjEpXCJcbiAqIG9yIG9uIFdpbmRvd3MgXCJhdCBTeW1ib2xOYW1lIChDOlxcc29tZVxccGF0aFxcdG9cXHByb2plY3RcXHJvb3RcXGJhY2tlbmRcXGF1dGgudHM6MzoyMSlcIlxuICpcbiAqIEZvciBFU00gbG9hZGVycyBpbiBKUyBmaWxlc1xuICogVGhlIGxpbmUgaXMgc29tZXRoaW5nIGxpa2UgXCJhdCBmaWxlOi8vL3NvbWUvcGF0aC90by9wcm9qZWN0L3Jvb3QvYmFja2VuZC9hdXRoLnRzOjE0OjI4XCJcbiAqIG9yIG9uIFdpbmRvd3MgXCIgYXQgZmlsZTovLy9DOlxcc29tZVxccGF0aFxcdG9cXHByb2plY3RcXHJvb3RcXGJhY2tlbmRcXGF1dGgudHM6MzoyMVwiXG4gKlxuICogVGhpcyByZWdleCBwdWxscyBvdXQgdGhlIGZpbGUgcGF0aCBpbnRvIHRoZSBcImZpbGVwYXRoXCIgbmFtZWQgbWF0Y2hpbmcgZ3JvdXBcbiAqIEluIHRoZSBhYm92ZSBleGFtcGxlcyB0aGF0IHdvdWxkIGJlIFwiL3NvbWUvcGF0aC90by9wcm9qZWN0L3Jvb3QvYmFja2VuZC9hdXRoLnRzXCIgb3IgXCJDOlxcc29tZVxccGF0aFxcdG9cXHByb2plY3RcXHJvb3RcXGJhY2tlbmRcXGF1dGgudHNcIlxuICpcbiAqIEluc3RlYWQgb2YgY29tYmluaW5nIGJvdGggbWF0Y2hlcyB3aXRoIHNpbmdsZSByZWdleCwgd2UgY3JlYXRlIHR3byB0byBrZWVwIGl0IHNpbXBsZSBhbmQgbWFuYWdlYWJsZS5cbiAqXG4gKi9cbmNvbnN0IGV4dHJhY3RGaWxlUGF0aEZyb21TdGFja1RyYWNlTGluZVJlZ2V4ZXMgPSBbXG4gIC9cXCgoPzxmaWxlcGF0aD4oXFx3Oik/W146XSopWzpcXGRdKlxcKS8sXG4gIC9hdCAoPzxmaWxlcGF0aD4uKlxcLlxcd1teOlxcZF0qKVs6XFxkXSovLFxuXTtcblxuLyoqXG4gKiBFeHRyYWN0cyBhIGZpbGUgcGF0aCBmcm9tIGEgZ2l2ZW4gc3RhY2sgdHJhY2UgbGluZVxuICovXG5leHBvcnQgY2xhc3MgRmlsZVBhdGhFeHRyYWN0b3Ige1xuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIEZpbGVQYXRoRXh0cmFjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YWNrVHJhY2VMaW5lOiBzdHJpbmcpIHt9XG5cbiAgZXh0cmFjdCA9ICgpID0+IHtcbiAgICBmb3IgKGNvbnN0IHJlZ2V4IG9mIGV4dHJhY3RGaWxlUGF0aEZyb21TdGFja1RyYWNlTGluZVJlZ2V4ZXMpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5zdGFja1RyYWNlTGluZS5tYXRjaChyZWdleCk7XG4gICAgICBpZiAobWF0Y2g/Lmdyb3Vwcz8uZmlsZXBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhbmRhcmRpemVQYXRoKG1hdGNoPy5ncm91cHM/LmZpbGVwYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvLyBUaGUgaW5wdXQgY2FuIGJlIGVpdGhlciBhIGZpbGUgcGF0aCBvciBhIGZpbGUgVVJMLiBJZiBpdCdzIGEgZmlsZSBVUkwsIGNvbnZlcnQgaXQgdG8gdGhlIHBhdGguXG4gIHByaXZhdGUgc3RhbmRhcmRpemVQYXRoID0gKG1heWJlVXJsOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKG1heWJlVXJsKTtcbiAgICAgIGlmICh1cmwucHJvdG9jb2wgPT09ICdmaWxlOicpIHtcbiAgICAgICAgcmV0dXJuIGZpbGVVUkxUb1BhdGgodXJsKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtYXliZVVybDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBtYXliZVVybDtcbiAgICB9XG4gIH07XG59XG4iXX0=
|
@@ -0,0 +1,15 @@
|
|
1
|
+
export * from './backend_identifier_conversions.js';
|
2
|
+
export * from './backend_entry_point_locator.js';
|
3
|
+
export * from './caller_directory_extractor.js';
|
4
|
+
export * from './extract_file_path_from_stack_trace_line.js';
|
5
|
+
export * from './package_json_reader.js';
|
6
|
+
export * from './usage-data/usage_data_emitter_factory.js';
|
7
|
+
export * from './config/local_configuration_controller_factory.js';
|
8
|
+
export * from './errors';
|
9
|
+
export { USAGE_DATA_TRACKING_ENABLED } from './usage-data/constants.js';
|
10
|
+
export { CDKContextKey } from './cdk_context_key.js';
|
11
|
+
export * from './parameter_path_conversions.js';
|
12
|
+
export * from './object_accumulator.js';
|
13
|
+
export { TagName } from './tag_name.js';
|
14
|
+
export * from './naming_convention_conversions.js';
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.__export__cdk = void 0;
|
30
|
+
// Suppressing to allow special prefix __export__ that is recognized by API checks.
|
31
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
32
|
+
const __export__cdk = __importStar(require("./cdk/index.js"));
|
33
|
+
exports.__export__cdk = __export__cdk;
|
34
|
+
__exportStar(require("./index.js"), exports);
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguaW50ZXJuYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtRkFBbUY7QUFDbkYsZ0VBQWdFO0FBQ2hFLDhEQUFnRDtBQVN2QyxzQ0FBYTtBQVB0Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdXBwcmVzc2luZyB0byBhbGxvdyBzcGVjaWFsIHByZWZpeCBfX2V4cG9ydF9fIHRoYXQgaXMgcmVjb2duaXplZCBieSBBUEkgY2hlY2tzLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuaW1wb3J0ICogYXMgX19leHBvcnRfX2NkayBmcm9tICcuL2Nkay9pbmRleC5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXguanMnO1xuXG4vKlxuIEFwaS1leHRyYWN0b3IgZG9lcyBub3QgKFt5ZXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvcnVzaHN0YWNrL2lzc3Vlcy8xNTk2KSkgc3VwcG9ydCBtdWx0aXBsZSBwYWNrYWdlIGVudHJ5IHBvaW50c1xuIEJlY2F1c2UgdGhpcyBwYWNrYWdlIGhhcyBhIHN1Ym1vZHVsZSBleHBvcnQsIHdlIGFyZSB3b3JraW5nIGFyb3VuZCB0aGlzIGlzc3VlIGJ5IGluY2x1ZGluZyB0aGF0IGV4cG9ydCBoZXJlIGFuZCBkaXJlY3RpbmcgYXBpLWV4dHJhY3QgdG8gdGhpcyBlbnRyeSBwb2ludCBpbnN0ZWFkXG4gVGhpcyBhbGxvd3MgYXBpLWV4dHJhY3RvciB0byBwaWNrIHVwIHRoZSBzdWJtb2R1bGUgZXhwb3J0cyBpbiBpdHMgYW5hbHlzaXNcbiAqL1xuZXhwb3J0IHsgX19leHBvcnRfX2NkayB9O1xuIl19
|
package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/platform-core/lib/index.js
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
exports.TagName = exports.CDKContextKey = exports.USAGE_DATA_TRACKING_ENABLED = void 0;
|
18
|
+
__exportStar(require("./backend_identifier_conversions.js"), exports);
|
19
|
+
__exportStar(require("./backend_entry_point_locator.js"), exports);
|
20
|
+
__exportStar(require("./caller_directory_extractor.js"), exports);
|
21
|
+
__exportStar(require("./extract_file_path_from_stack_trace_line.js"), exports);
|
22
|
+
__exportStar(require("./package_json_reader.js"), exports);
|
23
|
+
__exportStar(require("./usage-data/usage_data_emitter_factory.js"), exports);
|
24
|
+
__exportStar(require("./config/local_configuration_controller_factory.js"), exports);
|
25
|
+
__exportStar(require("./errors"), exports);
|
26
|
+
var constants_js_1 = require("./usage-data/constants.js");
|
27
|
+
Object.defineProperty(exports, "USAGE_DATA_TRACKING_ENABLED", { enumerable: true, get: function () { return constants_js_1.USAGE_DATA_TRACKING_ENABLED; } });
|
28
|
+
var cdk_context_key_js_1 = require("./cdk_context_key.js");
|
29
|
+
Object.defineProperty(exports, "CDKContextKey", { enumerable: true, get: function () { return cdk_context_key_js_1.CDKContextKey; } });
|
30
|
+
__exportStar(require("./parameter_path_conversions.js"), exports);
|
31
|
+
__exportStar(require("./object_accumulator.js"), exports);
|
32
|
+
var tag_name_js_1 = require("./tag_name.js");
|
33
|
+
Object.defineProperty(exports, "TagName", { enumerable: true, get: function () { return tag_name_js_1.TagName; } });
|
34
|
+
__exportStar(require("./naming_convention_conversions.js"), exports);
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzRUFBb0Q7QUFDcEQsbUVBQWlEO0FBQ2pELGtFQUFnRDtBQUNoRCwrRUFBNkQ7QUFDN0QsMkRBQXlDO0FBQ3pDLDZFQUEyRDtBQUMzRCxxRkFBbUU7QUFDbkUsMkNBQXlCO0FBQ3pCLDBEQUF3RTtBQUEvRCwySEFBQSwyQkFBMkIsT0FBQTtBQUNwQywyREFBcUQ7QUFBNUMsbUhBQUEsYUFBYSxPQUFBO0FBQ3RCLGtFQUFnRDtBQUNoRCwwREFBd0M7QUFDeEMsNkNBQXdDO0FBQS9CLHNHQUFBLE9BQU8sT0FBQTtBQUNoQixxRUFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JhY2tlbmRfaWRlbnRpZmllcl9jb252ZXJzaW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2JhY2tlbmRfZW50cnlfcG9pbnRfbG9jYXRvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGxlcl9kaXJlY3RvcnlfZXh0cmFjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZXh0cmFjdF9maWxlX3BhdGhfZnJvbV9zdGFja190cmFjZV9saW5lLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZV9qc29uX3JlYWRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3VzYWdlLWRhdGEvdXNhZ2VfZGF0YV9lbWl0dGVyX2ZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcvbG9jYWxfY29uZmlndXJhdGlvbl9jb250cm9sbGVyX2ZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0IHsgVVNBR0VfREFUQV9UUkFDS0lOR19FTkFCTEVEIH0gZnJvbSAnLi91c2FnZS1kYXRhL2NvbnN0YW50cy5qcyc7XG5leHBvcnQgeyBDREtDb250ZXh0S2V5IH0gZnJvbSAnLi9jZGtfY29udGV4dF9rZXkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJhbWV0ZXJfcGF0aF9jb252ZXJzaW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdF9hY2N1bXVsYXRvci5qcyc7XG5leHBvcnQgeyBUYWdOYW1lIH0gZnJvbSAnLi90YWdfbmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL25hbWluZ19jb252ZW50aW9uX2NvbnZlcnNpb25zLmpzJztcbiJdfQ==
|